Institut numerique

Chapitre 1 : Les concepts du cloud computing

Introduction

Le cloud computing est un concept assez récent dans le domaine de l’informatique. La première énonciation de ce concept date de 1960 par John McCarthy (Zhang, Cheng, Boutaba, 2010). Il envisageait à cette époque que les matériels, équipements, ou installations informatiques pouvaient être délivrés aux utilisateurs sous forme de services. Ce concept a évolué dans le temps et est actuellement à une étape de concrétisation.

1.1. Définition

Plusieurs approches de définitions ont été proposées par différents auteurs. Mais la définition la plus couramment adoptée est celle du National Institute of Standard and Technology (NIST) formulée en ces termes : “cloud computing is a model for enabling ubiquitous, convinient, on-demand network access to a shared pool of configurable computing ressources that can be rapidly provisioned and released with minimal management effort or provider interaction”. C’est donc un modèle permettant un accès réseau convenable, à la demande et omniprésent à un pool de ressources configurables et partagées pouvant être rapidement approvisionnées et libérées avec un minimum d’effort ou interaction du fournisseur.

Dans son document intitulé « Livre blanc pour un leadership éclairé » réalisé en 2010 dans le cadre de clarifier le flou entourant le cloud computing, la société de construction de matériels informatiques IBM précise que le cloud computing est à la fois un mode de travail pour les utilisateurs et un modèle de gestion. Par mode de travail, il expose qu’il s’agit d’une informatique d’un nouveau genre où les applications, les données et les ressources sont offertes aux utilisateurs sous la forme de services distribués sur le réseau. Par gestion, il énonce qu’il s’agit d’une façon de gérer un grand nombre de ressources virtualisées qui peuvent être installées sur plusieurs sites de manière à les présenter comme une ressource unique. L’accès à ces ressources se faisant par la suite d’une façon simple avec beaucoup plus de flexibilité à l’aide d’une plateforme Web (Figure 1.1).

Figure 1.1: Cloud computing.

1.2. Les services du cloud computing

Il existe généralement trois types de services dans le cloud computing. Ces services s’organisent en trois niveaux successifs : le niveau infrastructure (IaaS), le niveau plateforme (PaaS) et le niveau application (SaaS) (Figure 1.2).

Figure 1.2: Les différentes couches des services du cloud computing (Sun et al, 2011).

1.2.1. Infrastructure as a Service (IaaS)

Les services IaaS du cloud computing permettent de mettre à la disposition des utilisateurs des ressources matérielles (réseau, stockage, systèmes d’exploitation) accessibles sous forme virtuelle. Ces ressources sont généralement de type serveur équivalent à des machines physiques pouvant être utilisées pour des opérations telles que l’hébergement, le test d’applications ou les travaux de recherche en réseau informatique. L’exemple le plus souvent cité est la plateforme EC2 (Elastic Compute Cloud) d’Amazon.

Les offres d’Amazon sont des machines virtuelles (Virtual Machine VM en anglais) de tailles prédéfinies mises en location pour l’exécution d’applications Web. Ces services peuvent également être employés pour le bureau à distance (VDI(1)) afin d’allouer dynamiquement des machines à différents utilisateurs (Cristofaro et al, 2010). L’intérêt consiste à faciliter le déploiement de nouvelles applications pour les utilisateurs, uniformiser les environnements de travail et accroître la sécurité des systèmes. Les ressources virtuelles des services IaaS sont généralement accessibles grâce aux protocoles de prise de contrôle à distance tels que SSH (Secure Shell), VNC (Virtual Network Computing) ou encore le protocole RDP (Remote Desktop Protocol). Les éléments constitutifs des services IaaS du cloud computing selon Sun et al (2011) sont :

– Le centre d’administration du cloud : C’est l’interface livrée aux utilisateurs, accessible via un portail Web. Il permet l’utilisation des ressources du cloud mais aussi leur administration. Le centre d’administration du cloud IaaS reçoit les requêtes de la part des utilisateurs et crée les ressources demandées à leur endroit.

– Le centre des ressources du cloud : Il est composé des ressources physiques utilisées pour l’exécution des services du cloud. Ces machines physiques représentent généralement les hôtes utilisées pour accueillir et exécuter les machines virtuelles de l’infrastructure.

Les hôtes ainsi que les services qu’ils exécutent à travers les machines virtuelles sont tous administrés depuis le centre d’administration du cloud.

– Le centre de stockage du cloud : Il est composé des machines physiques servant d’espaces de stockages des images systèmes et fichiers de configuration des machines virtuelles du cloud.

Afin de montrer les suites d’opérations menées par un utilisateur des services IaaS du cloud computing, Sun et al (2011) numérotent les opérations effectuées durant le processus de 1 à 9 (voir figure 1.3).

Figure 1.3: Les éléments constitutifs des services IaaS du cloud computing (Sun et al, 2011).

1.) L’utilisateur émet une requête d’utilisation de ressource à l’endroit du portail des services.
2.) Le portail des services (généralement une application Web) renvoie la requête vers le serveur d’orchestration.
3.) Le serveur d’orchestration recherche une machine physique adéquate pour créer et exécuter la machine virtuelle demandée. Cette recherche se base sur les caractéristiques des machines physiques du réseau.
4.) Le serveur d’orchestration choisit une machine physique de performance optimale et envoie la commande de création de machine virtuelle.
5.) Le serveur d’orchestration choisit un modèle de machine virtuelle à partir du centre de stockage et l’envoie à la machine physique précédemment sélectionnée.
6.) Le serveur d’orchestration démarrera la machine virtuelle sur l’hôte physique si la machine est correctement chargée. Dans le cas contraire, une autre machine est sélectionnée à l’étape 4.
7.) Si la machine virtuelle démarre correctement, l’utilisateur peut y accéder via les protocoles d’accès à distance tels que RDP, VNC, ou SSH.

Les étapes 8 et 9 concernent la mise à jour des informations du système et des services de supervision.

1.2.2. Platform as a Service (PaaS)

Les services du type PaaS disposent des environnements spécialisés au développement d’applications comprenant les outils et les modules nécessaires pour ce type de travail. Selon Etchevers et al (2011), il s’agit des environnements d’exécution qui permettent de gérer le cycle de vie des applications. Ce cycle de vie comprend notamment les phases de conception, de déploiement et plus généralement d’administration des applications.

Google App Engine(2), Microsoft Azure(3) sont des exemples de services PaaS. La plateforme de Microsoft offre la possibilité de modifier directement les applications en ligne grâce aux techniques de bureau à distance (Galloway, Vrbsky et Smith, 2011).

1.2.3. Software as a Service (SaaS)

Les services SaaS du cloud computing permettent de mettre à la disposition des utilisateurs des applications prêtes à l’emploi. A la différence des applications Web ordinaires, les services SaaS du cloud computing sont caractérisés par un haut niveau d’abstraction qui permet d’adapter l’application à un cas particulier d’usage. Il s’agit entre autres des applications de gestion de la relation clients (CRM(4)), des applications de planifications de ressources d’entreprises (ERP(5)) ou des applications de messagerie électronique. Parmi les solutions SaaS existantes, on peut noter comme exemples la suite bureautique Google Apps(6) for Business en mode SaaS, les services de messagerie électronique tels que Gmail, etc.

Figure 1.4: Les services SaaS du cloud computing (Armbrust et al, 2009).

1.3. Les modèles de déploiement du cloud computing

Il existe quatre modèles de déploiement des solutions du cloud computing. Selon que l’architecture soit publique, privée, communautaire ou hybride, on parle respectivement du cloud computing public, du cloud computing privé, du cloud computing communautaire ou du cloud computing hybride.

1.3.1. Le modèle public (Public cloud computing)

Le cloud computing public représente les offres du cloud livrées, par des tiers fournisseurs, aux entreprises dans un mode de payement à l’usage.

Il permet aux utilisateurs de se priver des difficultés liées au déploiement des infrastructures informatiques complexes en interne (Armbrust et al, 2009). La gestion des infrastructures est ainsi confiée aux fournisseurs de services et le payement se fait à l’usage par les clients. Les services sont fournis via l’Internet et les utilisateurs y accèdent à volonté.

Cette forme d’utilisation des systèmes informatiques permet aux entreprises de se concentrer sur les processus métiers représentant le fondement de leurs activités en confiant la gestion de leurs systèmes informatiques aux fournisseurs distants. Plusieurs autres avantages sont également liés aux services publics : il s’agit de la mobilité à travers un accès omniprésent et rapide aux ressources, le partage de ressources notamment des machines de grandes performances accessibles à partir de simples clients légers, etc. Les grands acteurs de ces services sont Google, Amazon et Salesforce(7).

1.3.2. Le modèle privé (Private cloud computing)

Dans un cloud privé, l’infrastructure est déployée en interne à une organisation ou entreprise et gérée par la direction informatique de cette dernière. Le cloud privé permet la maximisation de l’utilisation effectuée des ressources disponibles grâce aux techniques de la virtualisation employée (Dillon et al, 2010). Le cloud privé offre également la flexibilité et l’agilité dans l’exploitation des ressources informatiques disponibles.

Dans les environnements de forte utilisation des systèmes informatiques tels que les universités ou les grandes entreprises, il est également utile de disposer de l’infrastructure en privé. Dans le cas des universités par exemple, les machines virtuelles du service IaaS sont octroyées dynamiquement aux étudiants pour accomplir les tâches d’expérimentation en réseau informatique. L’université de Caroline du Nord des Etats-Unis (North Carolina State University) emploie le cloud privé IaaS à travers son projet VCL (Virtual Computing Laboratory) (Averitt et al, 2007).

L’objectif consiste à mettre en oeuvre de façon rapide des logiciels didactiques (didacticiels) utilisés par les étudiants (MatLab(8), Autodesk(9), etc.)en embarquant ces derniers dans des machines virtuelles et en les attribuant aux étudiants suivant un mode de réservation ou de demande de la part de ces derniers. L’université Hochschule Furtwangen University (HFU) suit la même logique en développant le projet cloudIA (Cloud Infrastructure and Application) (Doelitzscher et al, 2011), qui consiste également à répondre aux demandes en ressources informatiques de la part des étudiants pour les travaux du e-learning (Figure 1.5).

Figure 1.5: Le cloud privé de l’université HFU (Doelitzscher et al, 2011).

1.3.3. Le modèle communautaire (Community cloud)

Dans un cloud communautaire, l’infrastructure est déployée pour un usage exclusif par un groupe d’entreprises ou d’organisations partageant les mêmes intérêts. Dans une telle architecture, l’administration du système peut être effectuée par l’une ou plusieurs des organisations partageant les ressources du cloud.

1.3.4. Le modèle hybride (Hybrid cloud)

Le cloud hybride est la mise en commun des ressources du cloud privé et public. Dans ce type d’architecture, les ressources critiques du client sont hébergées en local tandis que celles louées auprès des fournisseurs sont accédées à distance via l’Internet ou un réseau privé virtuel VPN(10).

Conclusion partielle

Nous venons de voir dans ce chapitre les concepts liés au cloud computing, son architecture, ses services et leurs modèles de déploiement. Le chapitre suivant sera consacré aux différentes technologies impliquées dans l’élaboration d’une solution de cloud computing.

1 Virtual Desktop Infrastructure
2 Plateforme de développement d’applications web dans le cloud proposée par Google. <http://code.google.com/appengine/>, consulté le 20/06/2012
3 < http://www.windowsazure.com/fr-fr/>, consulté le 20/06/2012
4 <www.salesforce.com/fr/crm/>, consulté le 20/06/2012
5 Enterprise Resource Planning
6 < http://www.google.com/intl/fr/enterprise/apps/business/>,consulté le 29/12/12.
7 <http://www.salesforce.com/fr/cloudcomputing/>, consulté le 20/06/2012
8 Logiciel de calcul technique destiné aux ingénieurs et scientifiques <http://www.mathworks.com/products/matlab/>, consulté le 25/09/2012
9 Logiciel de dessin pour la représentation en 3D des figures et architectures géométriques destiné aux ingénieurs. <http://www.autodesk.fr/>, consulté le 25/09/2012
10 Virtual Private Network : réseau privé virtuel.

Page suivante : Chapitre 2 : Les technologies du cloud computing

Retour au menu : CONCEPTION D’UNE SOLUTION DE CLOUD COMPUTING PRIVE BASEE SUR UN ALGORITHME DE SUPERVISION DISTRIBUE : APPLICATION AUX SERVICES IAAS