Cloud computing
Mémoires Gratuits : Cloud computing. Rechercher de 53 000+ Dissertation Gratuites et Mémoires* 3.2 Applications logicielles * 3.3 Stockage * 4 Principaux acteurs * 5 Infrastructure * 6 Conséquences * 6.1 Avantages * 6.2 Inconvénients * 6.3 Critiques * 7 Annexes * 7.1 Articles connexes * 7.2 Liens externes * 7.3 Bibliographie * 8 Notes et références |
Concepts[modifier]
| Cet article doit être wikifié (mai 2011).Le texte ne correspond pas à la mise en forme Wikipédia (style de Wikipédia, typographie, liens internes, lien entre les wikis, etc.). Téléchargez le guide de syntaxe et modifiez ! |
Présentation générale[modifier]
Le concept d'informatique dans le nuage est comparable à celui de la distribution de l'énergie électrique. La puissance de calcul et de stockage de l'information est proposée à la consommation par des entreprises spécialisées et facturé d'après l'utilisation réelle. De ce fait, les entreprises n'ont plus besoin de serveurs dédiés, mais confient cette ressource à une entreprise qui leur garantit une puissance de calcul et de stockage à la demande.
Selon les approches des entreprises, se distinguent trois formes de cloud computing :
* les clouds privés internes, gérés en interne par une entreprise pour ses besoins,
* les clouds privés externes, dédiés aux besoins propres d'une seule entreprise, mais dont la gestion est externalisée chez un prestataire,
* et les clouds publics, gérés par des entreprises spécialisées qui louent leur services à de nombreuses entreprises.
Ces notions sont regroupées par les Anglo-saxons sous le vocable elastic computing capacity. Le National Institute of Standards and Technology en a donné une définition succincte qui reprend ces principes de base: « L'informatique dans les nuages est un modèle pratique, à la demande, pour établir un accès par le réseau à un réservoir partagé de ressources informatiques configurables (réseau, serveurs, stockage, applications et services) qui peuvent être rapidement mobilisées et mises à disposition en minimisant les efforts de gestion ou les contacts avec le fournisseur de service. » [8]
Le cloud a émergé principalement pour répondre aux exigences de continuité et de qualité du service. Pour approcher de ces objectifs, des travaux ont été entrepris afin de trouver des méthodes dans tous les niveaux impliqués afin d'établir un service entre un client final et un fournisseur de service :
* l'application, qui est en contact avec le client
* la plateforme, qui exécute l'application
* l'infrastructure, qui est le support de la plateforme
* les données, qui sont fournies sur demande
Comme solution, le cloud est la mise en flexibilité (ou en disponibilité) de ces 4 niveaux. Les moyens employés sont essentiellement l'isolation verticale et le découpage horizontal de chaque niveau. Il faut en effet toujours être en mesure de remplacer chaque élément de la solution globale pour que le service au client final ne s'interrompe pas. L'isolation est assurée par des normalisations existantes ou à inventer, et est obligatoire car les 4 niveaux étant de nature différentes, ils ne peuvent s'interpénétrer.
Même si les techniques utilisées pour atteindre ce résultat ne sont pas fixées, elles comportent généralement au moins la virtualisation et la décomposition granulaire (d'entités habituellement monolithiques). En cela, il y a un rapprochement évident avec la philosophie générale d'Unix, qui décompose toute fonction finale en briques élémentaires simples, stables et compréhensibles. Cependant, pour Unix c'est le développeur qui fait ce travail d'assemblage, alors que dans le cas du cloud c'est parfois l'utilisateur final. La transformation en cloud et donc la mise en flexibilité de ces 4 niveaux correspond aux termes généralement notés ainsi :
* Software as a Service (SaaS) : l'application est découpée en services
* Platform as a Service (PaaS) : la plateforme est granulaire
* Infrastructure as a Service (IaaS) : l'infrastructure est virtualisée
* Data as a Service (DaaS) : les données sont fournies à un endroit précis
SaaS[modifier]
Article détaillé : Software as a service.
Le Software as a service établit une interface avec l'utilisateur. Il réalise une fonction et, pour l'utilisateur, peu importe comment il le fait, ce qui compte c'est que le service fonctionne.
La fonction logicielle est décomposée en briques élémentaires appelées services, qui peuvent être recomposées librement pour réaliser une fonction de plus haut niveau.
Par exemple dans le cas du web :
* une cartographie ajoutée dans un site de vente de biens immobiliers
* une discussion instantanée dans un site de petites annonces
* l'ajout de commentaires dans un site de publication d'articles polémiques
* l'ajout d'une vidéo dans une page internet
* etc.
Dans le cas de la vidéo, celle-ci peut provenir du serveur qui a généré la page, c'est la façon non-cloud de procéder. Mais elle peut aussi provenir d'un autre emplacement, elle est alors indépendante et devient un service. L'isolation vers l'utilisateur est assurée par les standards du W3C (URL, HTML, RSS, etc.).
Le SaaS, souvent associé au cloud computing peut aussi être vu comme un modèle économique de consommation des applications. Consommées et payées à la demande (par utilisateur et par minute d'utilisation par exemple) et non plus acquises par l'achat de licences, le SaaS peut donc à ce titre reposer sur une infrastructure informatique dans le nuage.
PaaS[modifier]
Article détaillé : Platform as a service.
La Platform as a service a pour rôle l'exécution du logiciel. Elle est composée de briques utilisant des langages de programmation de haut niveau, généralement des langages de script (console de commande, Python, SQL, serveur d'application, etc.). De nos jours, tout est réalisable avec ces langages, du traitement de l'information au calcul intensif. L'isolation provient du fait que leur fonctionnement est documenté et que cette documentation, publique, a les mêmes caractéristiques qu'une norme ; ce sont donc des standards de facto.
Flexibiliser ce niveau correspond à offrir un environnement d'exécution pour ces langages de haut niveau, tout en faisant disparaître la complexité inhérente à leur bon fonctionnement. Ce qui compte, c'est que la fonction logicielle soit assurée correctement et continuellement. On utilise pour cela des flottes (ou nuages) de serveurs. Les techniques utilisées sont variées : le basculement (fail-over), la répartition de charge (load-balancing).
IaaS[modifier]
Article détaillé : Infrastructure as a service.
L'Infrastructure as a service crée la plateforme et exécute les langages de programmation de bas niveau (C++, C, assembleur, etc.), c'est le niveau du système d'exploitation et de l'accès aux fichiers.
L'isolation est obtenue par les normes qui lui sont propres, par exemple POSIX dans le cas d'Unix. Des connecteurs réseau sont utilisés préférentiellement aux connecteurs vers les ressources locales, qui n'existent pratiquement plus.
En cloud, la flexibilité et la granularité sont obtenues par la virtualisation du système d'exploitation. La plateforme, où qu'elle soit, est exécutée par des machines virtuelles et les ressources peuvent êtres allouées et relibérées à la demande, sans interruption.
DaaS[modifier]
Article détaillé : Data as a Service.
Le Data as a Service sous-entend qu'un service peut fournir des données de qualités à un endroit précis. Ces données sont nettoyées, enrichies et à disposition de différents systèmes, applications ou utilisateurs, quel que soit l'endroit où ils sont dans leur organisation ou sur le réseau.
Concepts similaires[modifier]
Avec la libération des données, certains éditeurs commencent à proposer des offres "Data as a Service" (DaaS) qui utilise des mashups pour agréger des informations à la demande. Par exemple, Microsoft proposera de gérer la facturation des données sur Windows Azure[9]. La startup Française Convertigo [10] à exposé son offre de mashup d'entreprise sur le cloud en 2010.
Enfin, certains auteurs utilisent également le concept de Business Process as a service (BPaaS) qui consiste à externaliser une procédure d'entreprise suffisamment industrialisée pour s'adresser directement aux managers d'une organisation, sans nécessiter l'aide de professionnels de l'informatique. En
...