Le IaaS et la stratégie d’Oracle pour le Cloud Public

La 2ème édition du #RedCloudDay qui s’est déroulée le 6 avril dernier était l’occasion de décrypter avec de nombreux clients toutes les fonctionnalités et les dernières nouveautés proposées par Oracle Cloud. C’était aussi une occasion de démontrer plusieurs cas d’usage afin de mettre à profit le IaaS (Infrastructure as a Service) & PaaS (Platform as a Service) Oracle qui permettent d’étendre les applications clientes à travers des catalogues de service métiers et techniques riches.
Oracle annonçait depuis le dernier Oracle OpenWorld 2015 en Octobre la sortie de ses nouveaux services IaaS et son intention de figurer comme le challenger direct de Amazon Web Services.
1- Introduction
Jusqu’à récemment, les clients Oracle qui voulaient déployer leurs applications dans le IaaS, devaient se tourner vers des solutions Cloud Public tels que Amazon Web Services (AWS) ou Cloud Privé Opensource (Openstack, OpenNebula, …). Plus besoin d’expliquer pourquoi il était intéressant d’exécuter des services Oracle sur AWS : le plus grand Cloud Provider IaaS était l’un des seuls à pouvoir “autoriser” le déploiement d’environnements Oracle (c.f voir notre dernier post), permettant :

  • D’importer ses propres licences (BYOL) sur AWS EC2 ou sur RDS
  • Ou d’acquérir de nouvelles licences Oracle à travers la marketPlace AWS.

Il est aussi possible de payer à la demande car le service EC2 est considéré comme une platform Hard Partitioning.  “Nous avons implémenté le support OVM sur Amazon EC2 avec du hard partitioning de sorte à ce que les standards de partitionnement des processeurs et le modèle de licensing Oracle puissent être appliqués.” [cit.  Jeff Barr – Chief Evangelist @Amazon Web Services].
Depuis, AWS n’a plus l’exclusivité du déploiement IaaS des applications Oracle type JD Edwards, Peoplesoft, Oracle E-Business Suite et autres.
Grâce au Cloud Oracle qui compte actuellement plus de 70 millions d’utilisateurs et plus de 34 millions de transactions chaque jour, il est possible d’exécuter son application sur plus de 50,000 serveurs répartis dans 19 Data Centers à travers le monde (US, EMEA).
2- Les Offres Oracle Cloud IaaS
Les nouveaux services Oracle IaaS comprennent Oracle Compute Cloud, Oracle Storage Cloud – Archive & File Storage, Oracle Network Cloud et Oracle Container Cloud.
Les utilisateurs IaaS (développeurs, ingénieurs systèmes & réseaux, architecte SI, DevOps …) peuvent déployer rapidement leurs applications dans le Cloud Oracle, et disposer des services suivants :

  • Service à la demande,
  • Scalabilité,
  • Paiement à l’usage ou contractuel,
  • Exposition des ressources en pool (adressage, volume de stockage, …)
  • Exposition des API nécessaires (protocole RESTfull, JAVA API, JSON, …) pour l’automatisation, l’intégration de services tiers et le provisionnement des services, …

2-1 Les services Oracle Cloud IaaS

  • Oracle Elastic Compute Cloud : 2 possibilités sont proposées : Elastic Compute &  Dedicated Compute. Elastic Compute permet aux utilisateurs d’améliorer leurs capacités pour exécuter des charges de travail dans le Cloud dans des zones compute partagées. Ceci implique des ressources partagées en multi-tenant, pas d’isolation réseau (pas de VLAN ou de sous-réseaux différents) avec des coûts de 75$/OCPU/MOIS en tarification non-metered.
  • Oracle Dedicated Compute Cloud : cela offre aux utilisateurs une capacité à réserver une zone compute dédiée avec plus de puissance au niveau CPU (à partir de 500 cores) et une complète isolation réseau.

Le Compute Cloud est caractérisé par des performances prédictibles, complètement configurable et monitoré. Actuellement, il supporte plusieurs OS (Linux, image Docker et très prochainement Windows).

  • Oracle Storage Cloud Service – Archive Storage : fournit des capacités de stockage pour des données qui demandent une rétention à long-terme avec un coût très réduit et des SLAs prédictibles pour leur extraction. Comme pour “deep cloud” archive, Archive Storage est recommandé pour des données très peu consultées.
  • Oracle Network Cloud : fournit plusieurs moyens de connectivité tels que VPN, Oracle Cloud Connect & network bonding.

Au niveau accès réseau et sécurité des infrastructures : plusieurs questions restent ouvertes, notamment sur les possibilités de connecter les Data Centers clients au Cloud Public :

  • Possibilité de connecter son Data Center au Cloud Oracle via VPN avec tunel Ipsec ?
  • Type de protocole de routage envisagé : BGP ?
  • Norme de sécurité ISO appliquées et applicables ?
  • Quel niveau de provisionnement du Load Balancer ?
  • Oracle Container Cloud : fournir la capacité d’exécuter des applications à l’aide de Docker Containers qui peut parfaitement être déployé dans le Cloud Oracle. C’est l’un des points d’entrée qui permet aux utilisateurs IaaS d’automatiser les déploiements des applications en utilisant des technologies comme Mesos ou Kubernetes et mettre en œuvre de nouvelles architectures : Infrastructure as a Code et architectures micro-services.
  • Des stacks d’applications et technologies pré-certifiés : Oracle Cloud étend son catalogue applicatif en proposant une Marketplace qui inclut des machines virtuelles certifiées et pré-configurées pour déployer des applications telles que E-Business Suite, Oracle PeopleSoft & Oracle JD Edwards.

 
Nous allons maintenant mettre en œuvre concrètement 2 cas d’usage du Cloud Oracle IaaS pour démontrer la faisabilité de la solution en terme de provisionning des machines virtuelles et leur interaction avec le PaaS Oracle (DBCS, JCS, …).
3- Use cases
Nous disposons d’un compte trial IaaS (Elastic Compute Row) basé dans le Data Center US2 avec les Service IaaS Cloud Services et PaaS Cloud Services: Database Cloud Service et Java Cloud Service, SOA Cloud Service.
Capture d'écran de 2016-04-08 12:29:30
3-1 Déployer une image certifiée dans la marketplace BITNAMI
Nous allons déployer le serveur d’applications Tomcat et disposer d’un compte BITNAMI pour le synchroniser avec l’Identity Domain = useasyteam
3-1-1 Parametrer une clé d’authentification “Bitnami Vault” pour sécuriser les opérations à travers la Marketplace Bitnami
Capture d'écran de 2016-04-08 12:33:34
3-1-2 Se connecter à www.oracle.bitnami.com
Dans Bitnami Library, choisir l’application à déployer. Dans notre cas ça sera : Tomcat7.0.68
Capture d'écran de 2016-04-08 12:38:44
3-1-3 Sélectionner la security list associée au compte useasyteam : se sont les permissions d’accès au niveau protocolaire et applicatifs définies dans la partie Network du compte Oracle Cloud.
A chaque déploiement d’une application, une règle de sécurité est associée au compte compute pour permettre ou refuser un type d’application défini par la relation (protocole : source –> destination).
Capture d'écran de 2016-04-08 13:46:52
3-1-4 Choisir le système d’exploitation (Oracle Linux, Ubuntu Linux) et les caractéristiques des ressources IaaS de la VM (OCPU,RAM, Disk) puis lancer le provisioning avec CREATE
Capture d'écran de 2016-04-08 13:58:22
Durant cette étape les opérations suivantes sur le serveur sont réalisées :
1- Création des Accès List et ssh Key
2- Configuration Réseaux
3- Préparation du Disk (délais de 15 minutes)
Nous pouvons visualiser l’état de la création du volume et son attachement à l’instance server :
Capture d'écran de 2016-04-08 14:09:08
4- Création de l’instance du serveur : on peut s’assurer que l’instance tourne et est en mode RUNNING et provisionnement des ressources réseaux :
Public IP Address: 129.144.52.86
Private IP Address: 10.106.53.6
Capture d'écran de 2016-04-08 14:10:12
5- Téléchargement des clés SSH pour se connecter à l’instance :
Capture d'écran de 2016-04-08 14:16:50

Server Info

Operating system

Oracle Linux 6.7
Shape OC3
Standard Disk 10GO
Security List name

BITNAMI-TOMCATSTACK-DD37

SSH Credentials .pem & .ppk
username/password manager/*******

6- Se connecter à l’instance via la clé privée :
Pour les utilisateurs Windows, utiliser Putty.
Pour Linux et Mac :
$> ssh bitnami@129.144.52.86 -i bitnami-opc-useasyteam.pem
Capture d'écran de 2016-04-08 14:23:19
7- Accéder au mode console web :
Capture d'écran de 2016-04-08 14:24:56
(Nous ne détaillons pas les étapes de configuration d’un serveur APACHE TOMACT, ce site le fait très bien : http://tomcat.apache.org/)
3-2 Déployer une application Non-Oracle en utilisant Chef dans Elastic Compute et se connecter à la DBCS
3-2-0 Provisioning d’une instance de database Cloud Service Enterprise Edition 12c en utilisant UI Oralce Cloud (c.f sujet couvert par le blog Arkzoyd: FJO)
3-2-1 Se connecter à une instance compute déployée via ssh, préciser le -X pour autoriser X11Display
$> ssh -X opc@129.144.54.91 -i demoIaaSKey
[opc@c80912]
3-2-2 Automatisation via Chef
Chef est un outil d’automatisation et de post-configuration de VM permettant le suivi du cycle de vie d’une VM et de ses composants (infrastructures, platform et applicatifs), et qui permet de revenir à un état de cohérence à tout moment.
A)  Il faut avoir installé chef-dk et préparé l’environnement pour déployer les applications voulues :
wget https://packages.chef.io/stable/el/6/chefdk-0.12.0-1.el6.x86_64.rpm
sudo rpm -Uvh chefdk-0.12.0-1.el6.x86_64.rpm
mkdir ~/chef-repo
cd chef-repo/
vi swingbech.rb
# In swingbench.rb
1: execute ‘swingbech run’ do
2:   command ‘/home/opc/swingbench/bin/swingbench’
3: end
B) Lancer le script ruby avec la commande chef-apply pour voir apparaitre le benchmark :
$> chef-apply swingbench.rb
[2016-04-08T11:08:58-04:00] WARN: ec2 plugin: Detected EC2 by the presence of fe:ff:ff:ff:ff:ff in the ARP table. This method is unreliable and will be removed in a future version of ohai. Bootstrap using knife-ec2 or create « /etc/chef/ohai/hints/ec2.json » instead.
Recipe: (chef-apply cookbook)::(chef-apply recipe)
* execute[swingbech run] action run
C- Renseigner les elements de connexions à la database provisionnée dans l’etape (3.2.0):
username=sys as sysdba
password= **************
Connection String= 129.144.52.78:1521:ORCL
Capture d'écran de 2016-04-04 11:59:38
4- Conclusion
Ce rapide tour d’horizon sur les fonctionnalités proposées par Oracle Cloud doit vous permettre de commencer à utiliser le IaaS Oracle Cloud, d’automatiser les déploiements applicatifs (Oracle & Non-Oracle) et d’utiliser les offres PaaS tels que Java Cloud Service ou Database Cloud Service.