Tout le monde de l’informatique parle du « cloud » ces temps-ci. Beaucoup de business se posent la question fondamentale suivante : Qu’est-ce que le cloud computing ? Et plus important, comment l’utiliser pour rendre mon business plus compétitif et mieux servir mes clients ? Si vous avez du mal à comprendre les techniques de cloud computing, ce tutoriel vous donnera le contexte dont vous aurez besoin pour faire les bons choix.
Liste de contenu
L’Ancien Monde avant le Cloud
Avant le cloud computing, vous aviez trois options si vous vouliez de la puissance informatique :
- Vous passiez un coup de fil à l’une des plus grandes entreprises du secteur informatique (HP, IBM, Dell, etc.) et demandiez un serveur. Lorsque celui-ci arrivait, vous pouviez l’installer soit dans votre propre centre de données, soit sur un espace partagé que vous aviez loué à quelqu’un comme Switch ou Equinix. L’acquisition, l’installation et la maintenance relevaient de votre responsabilité.
- Vous passiez un coup de fil à une compagnie de location et leur disiez que vous souhaitez louer quelques équipements. Vous faisiez votre choix parmi leur stock et ils vous délivraient l’équipement chez vous. Puis, de la même manière que si vous l’aviez commandé vous-même, vous aviez la responsabilité de l’installer et de le configurer dans votre centre de données ou dans votre espace partagé.
- Vous pouviez louer un serveur chez un fournisseur d’infrastructure infogérée (FII) (Savvis, Rackspace, Terremark, etc.). Celui-ci vous aurait alloué un serveur à partir de son stock interne, l’aurait déployé pour vous dans son centre de données, et vous aurait donné les clés pour le faire marcher. La ligne entre la responsabilité du fournisseur de service et la vôtre est flexible ici. Ces FII ont offert une variété de services (les sauvegardes et les « remote hands » étant les deux plus populaires) en plus d’une simple location de serveurs.
Chacun de ces exemples a ses avantages et ses inconvénients. Si vous achetiez l’équipement, vous pouviez en profiter jusqu’à sa dépréciation pour une période de trois à cinq ans. C’était peut-être la solution la moins chère, mais c’était aussi la moins flexible. Vous obteniez un peu de flexibilité à long terme lorsque vous louiez l’équipement, mais vous payiez plus en marchandises et vous aviez en plus les coûts de fonctionnement. En gros, vous n’auriez pas pu louer d’équipement pour moins de 3 mois, et probablement pour au moins un an, autrement le coût pour recevoir, configurer, et puis retourner l’équipement aurait été trop élevé. Finalement, si vous louiez le serveur, vous pouviez obtenir quelque chose pour des périodes mensuelles, mais vous étiez beaucoup plus limité dans le choix du matériel informatique et vous ne pouviez pas le déployer dans votre propre centre de données. Le bon point était que vous pouviez l’avoir et le lancer en 24h à partir du moment où vous passiez votre commande.
Ces exemples forment un continuum : d’un côté nous avons le modèle « achète-et-possède tout » ; d’un autre côté, nous avons le modèle « ne possède-rien ». Au milieu, nous avons une large variété de modèles où l’on possède certaines choses et d’autres non.
Le passage au Cloud Computing
Au sens strict du terme, le cloud computing n’est qu’un modèle « ne possède-rien » affiné, avec des échelles de temps plus courtes pour les ressources de location, et une plus grande flexibilité pour les consommateurs. Le National Institute of Standards and Technology (NIST) a introduit ce qui est devenue la définition canonique du cloud computing, dans sa publication 800-145, titrée « The NIST Definition of Cloud Computing ».
Le NIST définit le cloud computing comme ayant cinq « caractéristiques essentielles » :
- Ressources en self-service – Les ressources peuvent être fournies par le client de manière entièrement automatique, sans qu’il ne soit nécessaire pour le fournisseur de service d’intervenir. L’objectif ultime est de faire en sorte qu’une ressource soit disponible à l’instant-même où un consommateur la réclame.
- Ouverture – Les services de cloud computing sont disponibles sur internet et peuvent être accessibles par une variété d’appareils, qu’il s’agisse d’ordinateurs de bureau ou d’appareils mobiles (téléphones, tablettes, ordinateurs portables, etc.).
- Mutualisation – Le fournisseur de services cloud est supposé construire l’infrastructure physique de sorte que toutes les ressources soient rassemblées dans un ou plusieurs groupes communs. Généralement, les consommateurs ne sont pas capables de spécifier ou même savoir la localisation physique exacte des ressources qui leurs sont attribuées à partir du groupe. En pratique, la plupart des fournisseurs offrent quelques choix de localisation de haut niveau, tels qu’une région géographique ou un centre de données (la côte est des Etats-Unis contre la côte ouest, ou les Etats-Unis contre l’Europe par exemple).
- Elasticité rapide – Les consommateurs devraient être capables de se faire attribuer et de relâcher rapidement de la puissance tel que c’est requis par les applications. Idéalement, les utilisateurs pourraient solliciter une élasticité infinie sur des échelles de temps instantanées. La réalité physique sous-jacente empêche ceci (ça prend toujours du temps de recevoir et de configurer des nouveaux appareils informatiques), mais avec une mutualisation assez grande de ressources communes à de nombreux clients, le service peut, en pratique, la délivrer pour des requêtes d’élasticité raisonnables. Il faut noter que l’élasticité est une rue à double sens – les applications doivent être capables d’assigner de nouvelles ressources de même que de les relâcher lorsqu’elles n’en ont plus besoin.
- Paiement à l’usage – En général, les ressources devraient être facturées avec une petite granularité (heures/jours contre mois/années dans le monde pré-cloud) lors de leur usage, utilisant des unités appropriées pour la ressource (GHz pour CPU, GB pour mémoire, GB/TB pour la mémoire de masse, et Mbps/Gbps ou GB de transfert pour réseau, etc.).
Les cinq caractéristiques essentielles définissent le cloud en termes de « caractéristiques » et de « ressources » abstraites. Les caractéristiques s’appliquent aussi bien pour une infrastructure cloud de petit niveau que pour une application cloud de haut niveau. Selon le NIST, il existe trois catégories de services qui peuvent être offerts en cloud computing :
- Le logiciel en tant que service (ou Software-as-a-service (SaaS) en anglais) – Ce sont des applications de haut niveau délivrées sur le réseau comme services complets. Google Gmail, Microsft Office 365, Salesforce.com et Intuit QuickBooks online, sont des exemples de tels services.
- La Plateforme en tant que service (ou Platform-as-a-service (PaaS) en anglais) – Ces plateformes représentent des applications de fonctionnalités de niveau moyen qui peuvent être utilisées par des programmeurs pour créer de nouvelles applications. On peut citer comme exemples le Relational Database Service (RDS) d’Amazon Web Service, l’App Engine de Google, et Force.com de Salesforce.com.
- L’infrastructure en tant que service (ou Infrastructure-as-a-service(IaaS) en anglais) – C’est le service cloud de plus bas niveau. Il fournit aux utilisateurs un modèle simple de fonctionnement de système traditionnel « dans le cloud ». Les utilisateurs peuvent alors installer des applications standards ou personnalisées. Les fournisseurs de telles infrastructures supportent quelques systèmes de fonctionnement dominants. Les deux variantes Windows et Linux pour les processeurs x86 sont communes. Comme exemples, vous avez Amazon Web Services, Rackspace, Savvis, Terremark, et votre cloud privé basé sur VMware.
Finalement, la définition du NIST expose les grandes lignes des quatre modèles de déploiement suivants :
- Le cloud privé – Les clouds privés sont mis à disposition et manipulés par une seule organisation. Ils sont également créés et exécutés par cette organisation, mais ce n’est pas forcément le cas. On peut citer comme exemples des clouds privés basés sur VMware ou OpenStack, créés par des entreprises individuelles.
- Le cloud communautaire – Les clouds communautaires sont utilisés par un ensemble de membres qui partagent un intérêt commun (au niveau de la performance, de la sécurité, du coût, etc.). Ces consommateurs sont issus du même domaine d’industrie (par exemple, les services financiers), bien que ça n’ait pas toujours besoin d’être le cas. Des exemples sont la Capital Markets Community Platform NYSE et le GovCloud d’Amazon.
- Le cloud public – Les clouds publics sont la propriété et exécutés par des grands fournisseurs tiers qui mettent leurs services à la disposition du grand public. On peut citer comme exemples l’Amazon Web Services EC2 et le Google AppEngine.
- Le cloud hybride – Il est bien entendu possible de créer une structure mixte qui couvre chacun de ces différents modèles. Chaque partie d’un cloud hybride peut appartenir et être exécutée par une entité différente avec un logiciel de gestion fournissant son intégration à travers la structure.
Le service NIST et les modèles de déploiement Cloud forment une matrice :
Vous pouvez donc avoir un cloud IaaS privé ou un cloud PaaS public. Les clouds hybrides sont exposés dans la matrice, mais il ne s’agit en réalité que de mélanges de clouds de types publics, privés et communautaires. Par conséquent, vous pourriez construire un environnement de cloud hybride intéressant en combinant un cloud IaaS privé basé sur VMware, un cloud IaaS public basé sur Amazon EC2, et un cloud PaaS public basé sur Google AppEngine.
Les plus grandes entreprises créeront un environnement de cloud hybride avec des clouds privés et publics multiples, et peut-être également un cloud communautaire avec tout ça. Certains clouds fourniront plus de sécurité ; d’autres fourniront plus de performance ; alors que d’autres proposeront un prix optimal. Les entreprises déploieront alors la charge de travail des applications dans un cloud approprié pour créer un résultat optimisé. Les logiciels de gestion aideront à coordonner la charge de travail des applications aux bons clouds vus les objectifs d’optimisation et les restrictions de risque et de conformité.
Webmaster depuis plus de 18 ans. J’ai pu développer plusieurs expertises dans le domaine de la création et l’hébergement de site Web.
Je me suis intéressé aussi au référencement de site Web « SEO ». Il s’agit d’un domaine plein de défi dans lequel tout le monde essais de suivre les recommandations infinies de Google.