L’informatique en nuage [Cloud Computing]
Mode ou révolution ?

par Jean-Paul Figer, ARMOSC

Publié le - Mis à jour le

vide

Principales rubriques

Le terme Cloud computing est une rumeur apparue récemment dans la littérature informatique. La plupart des fournisseurs ont immédiatement introduit ce terme à tort et à travers dans leurs offres ce qui n’en simplifie pas la compréhension. Le but de cet article est de faire le point sur cette technologie et de proposer une expérimentation facile à réaliser en quelques minutes.

Cet article a été publié sous la référence H6 020 : Cloud Computing, Informatique en nuage dans la rubrique Architecture des systèmes des Techniques de l'ingénieur.

Cet article présente l’architecture de référence proposée par le NIST (National Standard Institute) du gouvernement américain, habituellement utilisée par la plupart des acteurs du domaine. voir ici une présentation en anglais

La définition opérationnelle retenue par le NIST est la suivante

Le cloud computing est un modèle Informatique qui permet un accès facile et à la demande par le réseau à un ensemble partagé de ressources informatiques configurables (serveurs, stockage, applications et services) qui peuvent être rapidement provisionnées et libérées par un minimum d’efforts de gestion ou d’interaction avec le fournisseur du service.

Cet article aborde ensuite les caractéristiques essentielles, les différents modèles de services ainsi que la question fondamentale de la sécurité des systèmes de Cloud computing.

Les chapitres suivants sont consacrés à l’émergence de standards et à une tentative d’évaluer les avantages économiques des technologies du Cloud computing.

Le dernier chapitre propose une expérimentation des technologies Cloud utilisant le Cloud Amazon.

Origine du Cloud Computing

Cette expression vient des premiers temps de l’Internet où l’habitude était prise de dessiner le réseau comme un nuage.

“We didn’t care where the messages went… the cloud hid it from us”
Kevin Marks, Google
"On ne se préoccupait de savoir d’où venaient les messages...Le nuage en cachait l’origine”.

Le premier nuage était construit autour du réseau (abstraction TCP/IP). Le deuxième nuage était celui des documents (abstraction du World Wide Web). Le nuage actuel, Cloud computing, est une abstraction de l’infrastructure informatique qui masque la complexité des serveurs, des applications, des données et des plates-formes hétérogènes.

La traduction en français du terme Cloud Computing n’est pas simple. Informatique en nuage ou infonuagique comme le tentent nos amis canadiens ne semblent pas promis à une grande carrière. Dans cet article, je conserverai le terme original ”Cloud Computing”.

Définition pratique du Cloud Computing

Le Cloud computing est un modèle  en évolution et ses définitions, cas d’usages, technologies, avantages et risques seront progressivement affinées. L’industrie du Cloud Computing comporte un très vaste écosystème de modèles, de fournisseurs et de marchés spécialisés. La définition suivante, déjà indiquée plus haut, essaie de recouvrir l’ensemble des différentes approches. Attention, tous les mots comptent!

Le Cloud Computing est un modèle Informatique qui permet un accès facile et à la demande par le réseau à un ensemble partagé de ressources informatiques configurables (serveurs, stockage, applications et services) qui peuvent être rapidement provisionnées et libérées par  un minimum d’efforts de gestion ou d’interaction avec le fournisseur du service.

Le modèle du Cloud Computing privilégie la haute disponibilité. Il se compose de cinq  caractéristiques essentielles, de trois modèles de service et de quatre modèles de déploiement.

Les cinq caractéristiques essentielles du Cloud computing

L’utilisation de ressources à distance n’est pas nouveau. Le “time sharing” -utilisation partagée d’un ordinateur en langage Basic- avait fait son apparition en 1966. On parlait alors de la « prise de calcul » à côté de la prise de courant.. Dès le début des années 70, les activités “service bureau” ou “traitement à façon” partageaient des traitements comme les payes ou les facturations sur des infrastructures communes avec souvent une facturation à l’usage. Plus récemment, sous le nom “Outsourcing”, l’hébergement et l’exploitation des applications des entreprises à distance se sont largement développés. Ces activités n’avaient pas changé l’architecture des systèmes. Les gains provenaient d’une mise en commun de locaux et de moyens humains et techniques spécialisés dans l’exploitation de systèmes et d’applications  existantes.

Le modèle Cloud Computing se différencie par les cinq caractéristiques essentielles suivantes :

  • Accès aux services par l’utilisateur à la demande
    La mise en œuvre des systèmes est entièrement automatisée et c’est l’utilisateur, au moyen d’une console de commande, qui met en place et gère la configuration à distance.
  • Accès réseau large bande
    Ces centres de traitement sont généralement raccordés directement sur le backbone Internet pour bénéficier d’une excellente connectivité. Les grands fournisseurs répartissent les centres de traitement sur la planète pour fournir un accès aux systèmes en moins de 50 ms de n’importe quel endroit.
  • Réservoir de ressources (non localisées)
    La plupart de ces centres comportent des dizaines de milliers de serveurs et de moyens de stockage pour permettre des montées en charge rapides. Il est souvent possible de choisir une zone géographique pour mettre les données “près” des utilisateurs.
  • Redimensionnement rapide (élasticité)
    La mise en ligne d’une nouvelle instance d’un serveur est réalisée en quelques minutes, l’arrêt et le redémarrage en quelques secondes. Toutes ces opérations peuvent s’effectuer automatiquement par des scripts. Ces mécanismes de gestion permettent de bénéficier pleinement de la facturation à l’usage en adaptant la puissance de calcul au trafic instantané.
  • Facturation à l’usage
    Il n’y a généralement pas de coût de mise en service (c’est l’utilisateur qui réalise les opérations). La facturation est calculée en fonction de la durée et de la quantité de ressources utilisées. Une unité de traitement stoppée n’est pas facturée.

Les trois modèles de services

Trois modèles de services peuvent être offerts sur le Cloud : Software as a Service (SaaS), Platform as a Service (PaaS),  Infrastructure as a Service (IaaS).
Ces trois modèles de service doivent être déployés sur des Infrastructures qui possèdent les cinq caractéristiques essentielles citées plus haut pour être considérées comme du Cloud Computing.

modèles de servcie cloud

  • Software as a Service (SaaS)
    Ce modèle de service est caractérisée par l’utilisation d’une application partagée qui fonctionne sur une infrastructure Cloud. L’utilisateur accède  à l’application par le réseau au travers de divers types de terminaux (souvent via un navigateur web). L’administrateur de l’application ne gère pas et ne contrôle pas l’infrastructure sous-jacente (réseaux, serveurs, applications, stockage). Il ne contrôle pas les fonctions de l’application à l’exception d’un paramétrage de quelques fonctions utilisateurs limitées.

De bons exemples de SaaS sont les logiciels de messagerie au travers d’un navigateur comme Gmail ou Yahoo mail. Ces infrastructures fournissent le service de messagerie à des centaines de millions d’utilisateurs et à des dizaines de millions d’entreprises.

  • Platform as a Service (PaaS)
    L’utilisateur a la possibilité de créer et de déployer sur une infrastructure Cloud PaaS ses propres applications en utilisant les langages et les outils du fournisseur. .L’utilisateur ne gère pas ou ne contrôle pas l’infrastructure Cloud sous jacente (réseaux, serveurs, stockage) mais l’utilisateur contrôle l’application déployée et sa configuration.

Comme exemple de PaaS, on peut citer un des plus anciens -Intuit Quickbase- qui permet de déployer ses applications bases de données en ligne ou -Google Apps Engine (GAE)- pour déployer des services Web. Dans ces deux cas l’utilisateur de ces services n’a pas à gérer des serveurs ou des systèmes pour déployer ses applications en ligne et dimensionner des ressources adaptées au trafic.

  • Infrastructure as a Service (IaaS)
    L’utilisateur loue des moyens de calcul et de stockage, des capacités réseau et d’autres ressources indispensables (partage de charge, pare-feu, cache). L’utilisateur a la possibilité de déployer n’importe quel type de logiciel incluant les systèmes d’exploitation.
    L’utilisateur ne gère pas ou ne contrôle pas l’infrastructure Cloud sous jacente mais il a le contrôle sur les systèmes d’exploitation, le stockage et les applications. Il peut aussi choisir les caractéristiques principales des équipements réseau comme le partage de charge, les pare-feu, etc.

L’exemple emblématique de ce type de service est Amazon Web Services qui fournit du calcul (EC2), du stockage (S3, EBS), des bases de données en ligne (SimpleDB) et quantité d’autres services de base. Il est maintenant imité par de très nombreux fournisseurs. Un exemple d’utilisation d’EC2 est donné à la fin de cet article.

Les quatre modèles de déploiement

Certains distinguent quatre modèles de déploiement. Nous les citons ci-après bien que ces modèles n’aient que peu  d’influence sur les caractéristiques techniques des systèmes déployées.

  • Cloud privé
    L’infrastructure Cloud est utilisée par une seule organisation. Elle peut être gérée par l’organisation ou par une tierce partie. L’infrastructure peut être placée dans les locaux de l’organisation ou à l’extérieur.

  • Cloud communautaire
    L’infrastructure Cloud est partagée par plusieurs organisations pour les besoins d’une communauté qui souhaite mettre en commun des moyens (sécurité, conformité, etc..). Elle peut être gérée par les organisations ou par une tierce partie et peut être placée  dans les locaux ou à l’extérieur.

  • Cloud public
    L’infrastructure cloud est ouverte au public ou à de grands groupes industriels. Cette infrastructure est possédée par une organisation qui vend des services Cloud. C’est le cas le plus courant. C’est celui de la plate-forme Amazon Web Services déjà citée.

  • Cloud hybride
    L’infrastructure Cloud est composée d’un ou plusieurs modèles  ci-dessus qui restent des entités séparées. Ces infrastructures sont liées entre elles par la même technologie qui autorise la portabilité des applications et des données.  C’est une excellente solution pour répartir ses moyens en fonction des avantages recherchés.

Les caractéristiques communes des différents modèles de Cloud

Le Cloud computing tire partie d’un certain nombre de caractéristiques pour fournir des services dans des conditions techniques et économiques très avantageuses. C’est un peu comme la production d’électricité. La plupart des entreprises et des particuliers ont intérêt à utiliser des fournisseurs dont c’est le métier pour garantir la fiabilité et les meilleures conditions économiques. Parmi ces caractéristiques communes, on trouve généralement :

  • Des infrastructures gigantesques
    Le système de stockage en ligne Amazon S3 est passé de 14 milliards d’objets en janvier 2008 à 905 milliards d’objets en mars  2012 ce qui entraîne des prix de plus en plus bas : de l’ordre de 0.1 euro par giga-octets et par mois.
  • peak request amazon
    Graphique extrait du blog amazon
  • Une grande homogénéité des moyens
    Les systèmes regroupent des milliers de composants identiques ce qui simplifie la gestion, la fiabilité,  l’audit et la sécurité.
  • Virtualisation
    La virtualisation est une caractéristique indispensable qui présente de très nombreux avantages. Le matériel est remplacé par du logiciel avec tous les avantages du logiciel : créer une nouvelle machine ou sauvegarder son état consiste à copier un fichier d’où un énorme gain de temps et d’argent. La machine virtuelle ne tombe pratiquement jamais en panne ce qui accroit sérieusement la fiabilité des systèmes. On peut continuer à utiliser des machines qui ne sont plus fabriquées. Le pourcentage d’utilisation réelle d’un serveur physique dépasse rarement 15%. Sur la même puissance de calcul on peut faire fonctionner plusieurs serveurs. Lorsqu’une configuration est utilisée pour des développements, des opérations de recette ou des tests de charge, il est possible de libérer des ressources en archivant la configuration. La remise en ligne du système lorsque c'est nécessaire se fait en quelques minutes.
  • Elasticité [Resilient computing]

    Cloud versus prive


    L’ensemble des caractéristiques précédentes (taille, homogénéité et virtualisation) permet d’adapter automatiquement la capacité de traitement d’une application à la demande constatée. La mise en ligne d’un nouveau serveur peut s’effectuer en moins d’une minute. Il n’est plus nécessaire de s’équiper pour absorber des pointes de trafic.
  • Coûts de logiciels très réduits
    La plupart des plates-formes publiques utilisent des logiciels open source gratuits. Les coûts des logiciels propriétaires sont souvent facturés à l’usage sans nécessiter l’achat de licences. La plupart des ces logiciels sont déjà préinstallés et préconfigurés ce qui fait gagner beaucoup de temps comme expliqué dans l’exemple d’utilisation du dernier chapitre.
  • Distribution géographique
    Les grandes plates-formes publiques disposent de centres répartis sur la planète pour réduire les risques et placer les données au plus près des utilisateurs.

    Par exemple, Amazon Web Services propose en 2011 des centres en Europe (2) aux USA (4) et au Japon (2).

  • Orientation Service
    Les fonctions fournies aux utilisateurs se présentent sous la forme de Web services (REST) faciles à utiliser dans un navigateur ou mieux par des scripts automatisés. Des groupes de standardisation se sont crées pour définir des interfaces communes et simplifier ainsi le passage d’une infrastructure à une autre comme décrit dans le chapitre sur la standardisation.
  • Fonctions de sécurité avancées
    Comme nous le verrons dans le chapitre suivant, la sécurité est une préoccupation majeure des organisations qui utilisent les services du Cloud. Ces plates-formes disposent généralement de nombreux systèmes de protection, hors de portée des moyens de la plupart des organisations.

Cloud computing et sécurité

Toutes les enquêtes montrent que la sécurité est la préoccupation majeure des organisations dans le processus d’adoption des technologies Cloud. Les questions sont nombreuses comme par exemple :

  • Quelle confiance peut-on avoir dans le stockage des données à l’extérieur de l’entreprise ?
  • Quels sont les risques associés à l’utilisation de services partagés ?
  • Comment démontrer la conformité des systèmes à des normes d’exploitation ?

Les infrastructures Cloud sont de gigantesques systèmes complexes. Ils peuvent cependant être réduits à un petit nombre de primitives simples qui sont instanciées des milliers de fois et à quelques fonctions communes. La sécurité du Cloud est donc un problème gouvernable moins complexe qu’il n’y parait.

Avantages et défis du Cloud en terme de sécurité

Le Cloud présente des avantages immédiats. D’une manière générale, le fait d’héberger des données publiques sur le Cloud réduit les risques pour les données internes sensibles. D’autre part, l’homogénéité dans la construction du Cloud en rend les tests et les audits plus simples. De même la conduite du système au travers de web services permet la mise en place  de procédures automatiques accroissant notablement la sécurité.

En revanche les défis restent nombreux pour les fournisseurs.  Il faut donner confiance dans le modèle de sécurité et dans les outils de gestion qui sont proposés. Les tâches de gestion sont réalisées de manière indirecte au travers d’une interface puisque l’utilisateur n’a pas de contrôle direct sur l’infrastructure physique. Ce partage des responsabilités complique un peu les audits de sécurité.

Les composants sécurité d’un système de Cloud computing

Les différents composants qui participent à la sécurité d’un système de Cloud computing présentent les caractéristiques suivantes :

  • Service de console de gestion (Provisioning)
    La mise en route et la reconfiguration des composants des systèmes sont très rapides. Il est possible de mettre en service plusieurs instances dans plusieurs centres de traitement répartis dans le monde en quelques minutes. Les reconfigurations réseau sont facilitées. En revanche, la sécurité d’utilisation de la console de gestion devient impérative (authentification multi-facteurs, connexion chiffrée, etc..)
  • Service de stockage des données
    Les avantages du stockage des données dans le Cloud dépendent des fournisseurs mais en général, ceux-ci fragmentent et répartissent les données. Celles ci sont aussi souvent recopiées dans des centres de traitement différents. Ces opérations améliorent considérablement la sécurité des données. Si leur contenu doit rester confidentiel, il convient de les chiffrer avant de les stocker.
  • Infrastructures de calcul
    Un des gros avantages du Cloud pour le développement et l’exploitation des applications réside dans la virtualisation. Elle permet de préparer des configurations maîtres sûres qu’il suffit de dupliquer pour déployer. Les défis restent la sécurisation des données dans les applications partagées et  la sécurité entre les instances garantie par les hyperviseurs.
  • Services de support
    La principale caractéristique du Cloud est la mise en place a priori d’une sécurité renforcée et auditable (authentification, logs, pare-feux, etc..). Il reste à traiter les risques liés à l’intégration avec les applications des utilisateurs ainsi que les processus toujours délicats de mises à jour
  • Sécurité périmétrique du réseau Cloud
    Ces grandes infrastructures partagées fournissent des moyens de protection au delà des capacités  d’une entreprise normale comme par exemple la protection contre les attaques DDOS (Distributed Denial Of Service). Les mécanismes de sécurité périmétriques sont généralement bien conçus (fournisseur d’identité, authentification, pare-feux , etc..). En revanche, il reste à traiter les sujets liés à la mobilité.

Le “Pourquoi” et le “Comment” d’une migration vers le Cloud

Il y a de très nombreux avantages à migrer vers le Cloud. Parmi ceux-ci citons les coûts, les économies d’énergie, la très grande agilité dans le déploiement des logiciels mais souvent, ce sont les considérations liées à la sécurité qui définiront comment adopter et déployer des solutions Cloud.

l est possible que des Clouds privés soient moins exposés aux menaces que des Clouds publics. En revanche, les grands Cloud publics ont des coûts très faibles comparés aux Clouds privés. Faut-il alors investir dans l’amélioration de la sécurité pour bénéficier de l’approche la moins coûteuse ?

Quels chemins pour une migration vers le Cloud ?

La première étape consiste à utiliser les grands Clouds publics pour acquérir de la compétence. Le domaine privilégié est, comme nous le verrons plus loin, le développement de nouvelles applications.

La deuxième étape consiste à organiser son ou ses centres de traitement comme des Cloud privés ou éventuellement de sous-traiter cette fourniture à une tierce partie.

La troisième étape consiste à adapter les applications existantes aux technologies Cloud.

Conséquences des offres Cloud Computing

Les petites entreprises utilisent largement les offres SaaS sur Cloud public ce qui leur permet de réduire progressivement leurs centres de traitements.

Les centres de traitements des grandes entreprises vont évoluer vers des Cloud privés ou communautaires. Ces entreprises vont sans doute évoluer aussi vers des solutions hybrides pour bénéficier des avantages des Clouds privés et des Clouds publics.

Les standards du Cloud Computing

Le Cloud computing s’est développé considérablement en quelques années. Cette croissance rapide a cependant provoqué l’émergence de nombreuses réalisations incompatibles malgré les efforts de groupes de standardisation. Le manque de standardisation, en particulier en ce qui concerne la sécurité ou la protection des données, rend difficile la comparaison des offres.

Cependant, l’interopérabilité entre les offres et la portabilité des services devient un aspect très important pour que les utilisateurs puissant à la fois maximiser leur retour sur investissement en choisissant les offres les mieux adaptées tout en évitant d’être enfermés chez un seul fournisseur.

La virtualisation joue un rôle capital dans les moyens du Cloud computing. Des hyperviseurs gèrent des serveurs et les ressources associées pour faire fonctionner de multiples machines virtuelles qui utilisent différents systèmes d’exploitation. Les  plates-formes de Cloud computing qui utilisent des types d’hyperviseur différents ne sont donc pas interopérables. Si on veut déplacer une machine virtuelle d’une plate-forme à une autre, il faut recréer la même machine virtuelle aux normes de la nouvelle plate-forme ce qui peut être compliqué et long.

Voici quelques exemples d’efforts de standardisation qui comment à émerger sachant que dans une discipline qui évolue très vite, cette standardisation va prendre beaucoup de temps à s’élaborer et à se déployer.

  • Open Virtual Machine Format (OVF)
    Fin 2007, Open Virtual Machine Format ou OVF a été proposé comme standard de stockage sur disque des images de machines virtuelles pour plusieurs plateformes de virtualisation. Certains acteurs de cette industrie collaborent à cette initiative pilotée par le DMTF (Distributed Management Task Force, Inc.), comme les sociétés Novell, Dell, HP, IBM, Microsoft, VMware, et XenSource (Citrix).
    Cette nouvelle spécification doit  permettre de garantir la portabilité, l'intégrité, et d'automatiser les phases d'installation et de configuration des machines virtuelles.

  • Open Grid Forum
    L’Open Grid Forum (OGF) est une communauté d’utilisateurs, de développeurs et de fournisseurs qui développe l’Open Cloud Computing Interface (OCCI). OCCI définit des protocoles et des interfaces pour les diverses taches de gestion des systèmes de Cloud incluant le déploiement, le dimensionnement automatique te la gestion du réseau.
    En fait, ces interfaces, inspirées de celles qui existent sur des systèmes comme GoGrid ou Amazon EC2 décrite plus loin, vont permettre d’interagir de manière unique entre les différentes plates-formes du modèle IaaS.

  • Storage Networking Industry Association
    L’interface de gestion de données dans le Cloud du SNIA standardise les stockage des données dans des domaines importants comme l’interaction de l’utilisateur avec les données, la qualité de service et le chiffrement et la manière de transférer les données d’un Cloud à un autre.
    Ces standards devraient être proposes prochainement aux organismes de standardisation comme l’ANSI ou l’ISO.

Les avantages économiques du Cloud

Les estimations sur les avantages économiques des solutions Cloud varient de manière très importante. Il est en effet facile de mesurer le coût d’une solution Cloud, il suffit de regarder la facture. En revanche, il est moins simple d’obtenir des chiffres significatifs équivalents sur les coûts d'une application dans une entreprise.

On peut cependant distinguer plusieurs cas où la comparaison est simple à faire.

  • Le développement d’applications
    Les avantages se situent à plusieurs niveaux. Tout d’abord, l’approvisionnement des machines de développement et des équipements réseaux est immédiat sans investissement préalable. C’est un élément indispensable de toute démarche agile. Le clonage des machines et les instantanées permettent des mises en œuvre et des retours arrière simples. Les configurations nécessaires aux opérations de maintenance ou de tests en charge ne sont mises en ligne qu’en cas de nécessité et n’immobilisent plus des configurations coûteuses. On paye à l'usage. Les coûts des infrastructures de développement sont habituellment divisés par des facteurs de 10 à 100.

  • Applications en mode SaaS
    Le paiement à l’usage, la disponibilité immédiate et les gains sur l’infrastructure et les moyens techniques associés conduisent généralement à un division par 10 des coûts tout en améliorant la qualité de service. C’est ce qu’il est facile de constater en passant par exemple d’une bureautique locale administrée à une solution SaaS comme Google Apps.

Dans les autres cas, la comparaison est moins facile. Cependant dans les grandes sociétés où les coûts d’hébergement internes sont refacturés aux services utilisateurs, on constate souvent des rapports  de 1 pour les solutions Cloud contre  3 à 10 sur les hébergements internes.

Un autre indicateur intéressant est l’emploi de ces solutions Cloud par les sociétés qui ont du succès sur Internet. La plupart d’entre-elles utilisent ces infrastructures publiques qui permettent des montées en charge rapides sans investissement préalable.

Une visite guidée d’une plate-forme de Cloud computing

Il est très facile d’utiliser ces systèmes sans grandes connaissances dans la mise en place des systèmes et d’applications. A titre d’exemple, j’ai choisi de détailler le Cloud d’Amazon qui est le Cloud le plus ancien et le plus abouti. L’intérêt de ce service est d’être utilisable aussi bien par des individus que par de très  grandes organisations. Depuis début 2011, on peut expérimenter pendant un an gratuitement le système. Une autre raison de ce choix est la mise à disposition d’une console dans un navigateur Web pour traiter la plupart des opérations d’administration sans avoir à écrire de scripts.
Le but de cet exemple est de vous montrer comment mettre en service gratuitement dans le Cloud votre serveur avec une application en quelques minutes. Vous demanderez ensuite la même chose à votre service informatique et vous comparerez délais et coûts !

J’ai choisi deux composants les plus répandus dans le monde : un serveur Linux avec Ubuntu et le logiciel de Blog  WordPress.

Les premières opérations ne sont à faire qu’une seule fois à l’inscription sur Amazon donc ne déclenchez votre chronomètre qu’une fois inscrit !.

  • Inscription au service Amazon.
    Il faut aller sur http://aws.amazon.com/fr/
    Le système vous propose
    inscription Amazon
    La procédure d’inscription  est assez stricte. Il faut avoir sous la main une carte de crédit valide et un téléphone pour la vérification de l’identité. Cependant cette procédure s’effectue en moins de deux minutes. Si vous avez  déjà des identifiants Amazon, vous pouvez les utiliser.
  • Utilisation des services
    Il suffit ensuite de se connecter à la console de gestion des services pour commencer à se servir du système
    https://console.aws.amazon.com/s3/home

    aws management console
  • Une douzaine de services sont proposés dans le cadre que j’ai souligné en jaune. Il faut choisir celui que vous voulez utiliser. Pour cet exemple, nous n’utiliserons qu’un seul service EC2, celui qui fournit des moyens de calcul. Dans la terminologie Amazon EC2, une instance est  une machine virtuelle en service.

  • Sur une machine virtuelle, comme sur une machine réelle, il faut installer un système d’exploitation et des programmes d’application pour le bon fonctionnement de la machine. Cette opération est assez longue -environ une heure ou deux si tout va bien- et potentiellement complexe. En effet, il faut créer une AMI (Amazon Machine Image), c'est-à-dire un fichier qui contient toutes les instructions pour définir une machine et son image mémoire. Ce travail nécessite de solides connaissances système. Heureusement la plupart des fournisseurs de systèmes ou d’applications font ce travail pour vous en pré-fabriquant des configurations qu’il suffira de paramétrer. Ces machines prêtes à l’emploi, AMI, sont stockées sur le système de stockage en ligne d’Amazon S3. Amazon a réparti ses centres de traitement et de stockage dans plusieurs régions et je vous suggère de choisir au préalable la région Europe : EU Ireland – zone que j’ai soulignée en vert sur l’illustration-.

  • En cliquant sur AMI dans la navigation, vous pouvez lister toutes les images de machines disponibles sur toutes les plates-formes. Il y a plus de 2900 images disponibles.

    Amazon Machine Images

    Nous cherchons donc une image publique de machine avec Linux Ubuntu et WordPress. Nous trouvons 33 images. Si on veut pouvoir sauvegarder la configuration entre deux arrêts de la machine, il faut une machine avec l’option EBS (l’équivalent d’un disque dur attaché à la machine virtuelle). Il y a encore 17 AMIs disponibles. Je propose de choisir la dernière version ami-20734354 et de lancer cette instance.
    Amazon Machine Images


  • Dans l’assistant de lancement, choisir une micro machine si vous voulez profiter de l’offre gratuite d’Amazon. Laisser ensuite les options par défaut et continuer l’assistant jusqu’à “create a new key pair”. Cette paire de clé (publique et privée) est indispensable si vous voulez prendre le contrôle de votre nouvelle machine par SSH. Sinon vous pouvez sauter cette étape Conserver le groupe de sécurité par défaut et c’est fini !

  • En retournant à la console de gestion, vous pouvez constater que votre nouvelle machine  a été lancée et fonctionne.

    EC2 console
  • Sécurité
    Il faut maintenant s’occuper de la sécurité, en particulier de la configuration réseau. Par défaut votre machine a une adresse IP publique et une adresse IP privée attribuées automatiquement par Amazon. Ces adresses sont indiquées dans les propriétés de l’instance. Elles se présentent sous la forme

    Public DNS : ec2-79-125-48-50.eu-west-1.compute.amazonaws.com
    Private DNS : ip-10-234-150-175.eu-west-1.compute.internal

    L’adresse publique est l’adresse visible de l’Internet et l’adresse privée peut être utilisée pour faire un réseau local privé dans le Cloud Amazon. Ces deux adresses sont reliées par un NAT 1 :1.
    Par défaut, pour des raisons évidentes de sécurité, la machine n’est pas accessible. Au moyen de la console de gestion, il faut donc afficher les groupes de sécurité qui sont des règles de firewall à appliquer à une instance de machine. Configurez le groupe par défaut ou le groupe que vous avez choisi lors de la création de l’instance. Il faut ajouter le protocole HTTP pour avoir accès à votre serveur Web (et SSH si vous avez installé une clé.) sinon votre machine reste isolée de l’extérieur.

  • C’est fini !
    II suffit maintenant de copier l’adresse publique DNS dans la barre d’adresse de  votre navigateur et votre page d’accueil s’affiche.

     

    Accueil Wordpress

  • Attention, si vous stoppez votre machine, vous perdez votre adresse publique. Une nouvelle adresse sera fournie au prochain lancement. Si vous voulez une adresse publique fixe, il ne faut pas stopper votre machine ou utiliser le service Amazon Elastic IP. Si vous voulez utiliser votre nom de domaine, il suffit de créer un alias dans votre DNS avec le nom public amazon et votre nom par exemple monblog.mondomaine.com

Comme exercice complémentaire, je vous ai suggéré de demander à une équipe d’informaticiens dans une entreprise d’installer un serveur public avec WordPress. Au mieux, ce que vous venez de faire en 5 minutes demandera une bonne semaine quand ce n’est pas plusieurs mois, voire impossible. Quand au coût de l’opération !

Perspectives

Le Cloud computing n’est pas un effet de mode. C’est une révolution dans la manière d’organiser, de gérer et de distribuer des ressources informatiques. Une révolution en Informatique, c’est une nouvelle technologie qui permet de faire beaucoup mieux pour beaucoup moins cher. En Cloud computing, le « beaucoup mieux » recouvre l’accès aux services par l’utilisateur à la demande, le réservoir de ressources non localisées et le redimensionnement rapide (l’élasticité). Le « beaucoup moins cher » est la combinaison de la facturation à l’usage avec les économies d’échelle engendrées par le réservoir de ressources. Le modèle Cloud computing va donc s’imposer largement et inspirer le modèle d’organisation de tous les centres informatiques dans les vingt prochaines années. Cependant, ce modèle est encore très jeune et en évolution rapide. Il manque encore des standards largement répandus pour assurer l’interopérabilité nécessaire entre les offres des différents fournisseurs. Il reste aussi à donner confiance aux entreprises dans les modèles de sécurité et dans les outils de gestion qui leur sont proposés.

Le développement foudroyant de l’Internet mobile avec les centaines de millions de  téléphones mobiles et de tablettes va largement amplifier le besoin d’avoir un accès universel aux données par tout type d’équipement. Le Cloud computing deviendra l’acteur majeur de cette transformation.

Envoyer vos remarques, suggestions ou questions à

Jean-Paul Figer
© Jean-Paul Figer, 1958-2013

J'ai travaillé pendant 40 ans à Capgemini. Cependant les opinions exprimées dans ces articles n'engagent que moi et ne représentent pas la position de Capgemini.

Pour être informé des nouveaux articles, inscrivez-vous avec votre adresse mail