+ Cloud Computing Principes & Paradigmes Heithem Abbes [email protected] Contenu n Introduction n Définition du Cloud Computing n Modèles de services n Modèles de déploiement n Avantages & Inconvénients n Conclusion 2 OUI ! 4 Histoire 1999 : Un des pionniers du Cloud Computing était Salesforce.com, qui a introduit le concept de la livraison d'applications d'entreprise (CRM) via un site web simple. 2002 : Amazon Web Services fournissant des services de stockage et de calcul 2006 : Amazon’s Elastic Compute cloud (EC2) comme un service Web commercial qui permet aux petites entreprises et aux particuliers de louer des ordinateurs sur lesquels ils exécutent leurs propres applications 6 History 2006 : Google Docs 2009 : Tournant décisif dans l'évolution de Cloud Computing, avec l'arrivée d'applications d'entreprise de cloud basé sur un navigateur 7 History 2009 : Microsoft entre dans le cloud computing avec le lancement de Windows Azure (plate-forme de cloud) 2010 : Office 365 a été annoncé 8 Is cloud computing really new? 1960 : John McCarthy dit que “computation may someday be organized as a public utility.” 1990 : Grid computing, une idée pour permettre l’accès à une puissance de calcul aussi simple que l’accès à un réseau électrique Is cloud computing really new? NON n La technologie n’est pas nouvelle n Cloud Computing est un mot à la mode utilisé pour reconditionner les anciennes technologies qui existent depuis des décennies Utility Computing Grid Computing End User Focused OUI n Nouveau modèle de consommation et de prestation de service n Self-service et autogestion sont nouveau Virtualization Web 2.0 11 IT Classique vs. Cloud Computing Classique Cloud n Approvisionnement manuel n Approvision. automatique n Matériel dédié n Matériel partagé n Capacité fixe n Capacité élastique n Payer pour la capacité n Payer pour l’utilisation n Frais de ressources et d’exploitation n Frais d’exploitation n Géré via APIs n Géré par les admin. systèmes 12 Définition n Le Cloud Computing est un modèle permettant un accès simple, à la demande à un ensemble de ressources informatiques partagées et configurables n Ressources : n Équipements réseaux, serveurs, stockage, applications et services n Peuvent être rapidement approvisionnées et publiées avec un effort minime de gestion ou interaction avec le prestataire de service. 14 5 caractéristiques clés (1/2) ① Ressources partagées/groupées n Les ressources sont extraites d’un reservoir commun ② Accès distant via le réseau n Disponible à partir de n’importe où avec une connexion Internet en utilisant n’importe quelle plateforme ③ Accès à la demande en self‐service n Le consommateur peut allouer des ressources automatiquement sans avoir besoin d’une interaction humaine avec le fournisseur cloud 15 5 caractéristiques clés (2/2) (2/2) ④ Elasticité rapide n Les ressources peuvent augmenter et diminuer rapidement selon la demande du client n Totalement automatique ⑤ Pay by use n les services sont facturés n Les utilisateurs paient seulement le service utilisé Les services peuvent être annulés à tout moment n 16 Approvisionnement de ressources Approvisionnement Sur-approvisionnement Ressources Capacité Demande Ressources Capacité Demande Temps Temps Sous-Utilisation ! Ressources non utilisées 17 Approvisionnement de ressources Perte de revenue ! Resources Ressources Sous-approvisionnement Capacité Demand 2 1 Temps (jours) Capacity 3 Utilisateurs perdus! 2 1 Temps (jours) 3 Ressources Demand Capacité Demande 2 1 Temps (jours) 3 18 Approvisionnement de ressources Ressources Cloud Capacité Demande Temps Ressources non utilisées 19 Virtualisation n Abstraction des ressources informatiques n Une technique pour cacher les caractéristiques physiques des ressources informatiques de la manière dont les systèmes, les applications ou les utilisateurs finaux interagissent avec ces ressources App App App Système d’exploitation Matériel Pile traditionnelle App App App SE SE SE Hyperviseur Matériel Pile virtualiséé 20 Virtualisation n Ingredient indispensable pour le Cloud Computing 21 Virtualisation n Séparer la couche logiciel du serveur de la couche matérielle : système d'exploitation, les applications et le stockage de ce serveur. n Un serveur virtuel peut être desservi par une ou plusieurs machines, une machine peut accueillir plus d'un serveur virtuel. n Peut-être étendu facilement: l'administrateur peut ajuster les ressources allouées à ce serveur virtuel n Modèle de serveur peut être créé dans un environnement virtuel pour, ensuite, créer plusieurs serveurs virtuels identiques n Les serveurs virtuels eux-mêmes peuvent être migrés d'une machine à autre à volonté. 22 22 Virtualisation n Abstraction des ressources informatiques n n Une technique pour cacher les caractéristiques physiques des ressources informatiques de la manière dont les systèmes, les applications ou les utilisateurs finaux interagissent avec ces ressources Objectifs n Abstraction : simplifier l'utilisation de la ressource sous-jacente n Réplication : créer plusieurs instances de la ressource n Isolation : séparer les utilisations des clients des ressources sous-jacentes 23 VMM ou Hyperviseur 24 VMM (Virtual Machine Monitor) ou hyperviseur est un logiciel qui gère plusieurs machines virtuelles 24 Hyperviseurs ou VMM n Classification des hyperviseurs n Les hyperviseurs sont divisés en deux classes indiquant leur mode de fonctionnement : n Type 1 (bare-metal) fonctionne directement sur machine nue, assurant l’interface entre les OS virtualités et la machine. n Type 2 (hosted) fonctionne par-dessus un système d’exploitation existant, une machine virtuelle se présente alors comme un processus. L’hyperviseur doit intégrer une partie de ses fonctions au noyau par-dessus lequel il fonctionne. 25 Hyperviseur de type 1 n Exemples : Xen, VMware ESX, Microsoft Hyper-V, Oracle VM Server. 26 Hyperviseur de type 2 n Exemples : QEMU/KVM, Oracle VirtualBox, VMware Workstation. 27 Multi-tenants (Multi-tenancy) Tenant unique Multi-tenants n Chaque client a sa propre instance de logiciels; n Plusieurs clients (locataires) partagent la même application, sur le même matériel, avec le même mécanisme de stockage de données n Nécessite un ensemble dédié des ressources pour répondre aux besoins d'un seul client n De manière analogue aux utilisateurs exécutant des applications diverses sur le même système d'exploitation n Partager les coûts de gestion et de matériel entre un certain nombre de locataires. n Multi-tenants est la technologie fondamentale que le cloud utilise pour partager les ressources informatiques de manière rentable et en toute sécurité chez les locataires (entreprises, organisations, ...) n Le cloud utilise la virtualization pour isoler les tenants, n On ne peut pas accéder aux données des autres tenants 28 Qu’est ce que le cloud peut fournir? Les couches de IT-as-a-Service Business Processes Collaboration Industry Applications CRM/ERP/HR Software as a Service Middleware High Volume Web 2.0 Application Transactions Runtime Development Database Tooling Java Runtime Platform as a Service Servers Networking Data Center Fabric Storage Infrastructure as a Service 30 Modèle de services de cloud n Software as a Service (SaaS) n n Platform as a Service (PaaS) n n Utilisateur final : a besoin seulement d’utiliser l’application (software) Développeur d’application : a besoin d’une API sans implémenter leurs fonctionnements Infrastructure as a Service (IaaS) n System Admin: n’a pas besoin d’acheter des machines s’il peut les louer 31 SaaS n Premier, plus utilisé et connu service n Applications livrées en tant que service, sur demande, aux utilisateurs finaux sur Internet, via un navigateur n Le service comprend le logiciel, le matériel et le support n Mises à jour logicielles, des correctifs et autres travaux de maintenance sont effectués par le fournisseur de cloud, et non pas l'utilisateur final n Utilisateurs accèdent au service à travers un dispositif autorisé n Exemples: 32 PaaS n Plate-forme de développement utilisé pour les développeurs n Un ensemble d'outils et de services conçus pour faire de codage et de déploiement SaaS rapide et efficace n Fournit tous les outils nécessaires pour supporter le processus complet de construction et la livraison d'applications Web et les services, tous disponibles sur Internet n Délivre une plateforme informatique y compris le système d'exploitation, l'environnement d'exécution de langage de programmation, base de données et serveur Web n Permet la création d'applications web rapidement et facilement et sans la complexité de l'achat et la maintenance des logiciels et de l'infrastructure n Permet un développement rapide à faible coût Exemples n Google App Engine, OpenShift (Redhat), Bluemix (IBM), Azure Cloud (Microsoft), Heroku 33 PaaS Characteristics n Services to develop, test, deploy, host and maintain applications in the same IDE (Integrated development environment. All the varying services needed to fulfill the application development process n Web based user interface creation tools help to create, modify, test and deploy different UI scenarios n Multi-tenant architecture where multiple concurrent users utilize the same development application n Built in scalability of deployed software including load balancing and failover n Integration with web services and databases via common standards n Tools to handle billing and subscription management Examples n Google App Engine, OpenShift (Redhat), Bluemix (IBM), Azure Cloud (Microsoft) 34 IaaS n Délivre l'infrastructure de cloud computing, serveurs, stockage, réseaux et systèmes d'exploitation, comme un service à la demande. n n n Service entièrement externalisé: plutôt que d'acheter des serveurs, des logiciels, de l'espace de centre de données ou équipements de réseau, les clients achètent ces ressources à la demande Caractéristiques n Les ressources sont distribuées en tant que service n Ressources informatiques évolutives n Coût variable, modèle de tarification des services publics Exemples n Amazon EC2, Rackspace, FlexScale, Google Cloud (Compute Engine) 35 Public Cloud n Consommateur : grand public n Fournisseur de Cloud : organisation vendant des services cloud et est propriétaire et gère l’infrastructure cloud n Emplacement de ressources : toutes les ressources existent dans les locaux de fournisseurs (on-premisses) n Multi-tenants model : coexistence de plusieurs consommateurs dans le même cloud Cloud Provider Internet Institute Consumers Enterprise Consumers Consumers 37 Cloud privé n Consommateur : utilisation exclusive pour une organisation n Ressources peuvent être détenues et gérées par l'organisation consommatrice ou une autre organisation n Les services sont gérés et fournis à l’intérieur de l’organisation n Moins de restriction sur la bande passante du réseau, moins de risques de sécurité et autres exigences légales par rapport au cloud public 38 Private Cloud Externe (off-premisses): l'organisation vise à étendre sa capacité en utilisant un cloud privé exclusif qui est accessible à distance et approvisionné par une autre organisation Private Cloud Private Cloud Cloud Provider Interne (On-premises) : l’organisation ne veut stocker ses données dans un le cloud pour améliorer l’utilisation de ressource et automatiser la gestion de ces ressources 39 Cloud communautaire n Une communauté, composée d'une ou de plusieurs organisations, partage des préoccupations communes telles que leur mission, les politiques et les mesures de sécurité n Le cloud communautaire expose ses ressources uniquement pour une telle communauté n Le cloud est détenu et géré par l'un des collaborateurs dans la communauté n Organization X Private Cloud Organization Y Organization Z Exemple: un cloud communautaire pour la recherche et les organisations universitaires pour mener des expériences scientifiques à grande échelle (e-science) 40 Hybrid Cloud n Ce modèle combine plusieurs cloud : privé, communautaire ou public qui conservent leurs identités uniques, mais sont liés ensemble comme une seule unité n Par exemple, une organisation peut utiliser un cloud public pour certains aspects de ses activités et peut avoir un cloud privé pour ses données sensibles Public Cloud Private Cloud Public Cloud Private Cloud Enterprise Consumers 41 Consumers Workloads Traditional On-Premises Infrastructure as a Service Platform as a Service Software as a Service Applications Applications Applications Applications Data Data Data Data Runtime Runtime Runtime Runtime Middleware Middleware Middleware Middleware O/S O/S O/S O/S Virtualization Virtualization Virtualization Virtualization Servers Servers Servers Servers Storage Storage Storage Storage Networking Networking Networking Networking Vendor Manages in Cloud Client Manages 42 Avantages de cloud Capacité Server / Storage Utilization From 10-20% Self service None Test Provisioning Weeks Change Management Months Release Management Weeks Metering/Billing Fixed cost model To Cloud accelerates business value 70-90% Unlimited Cost Flexibility Minutes Days/Hours VIRTUALIZATION On demand AUTOMATION Traditional environments Minutes Cloud enabled enterprise 43 Modèle conceptuel de référence 44 SLA (Service Levels Agreements) n SLA est la formalisation d’un accord négocié entre deux parties. n C’est un contrat entre clients et fournisseurs. n Il met par écrit l’attente des parties sur le contenu des prestations, leurs modalités d'exécution, les responsabilités des parties, les garanties, c'est-à-dire la qualité de service. n Par exemple, le SLA peut spécifier les niveaux de disponibilité, de performance, d’opération ou de tout autre attribut du service en question, tel que la facturation voire les pénalités (financières ou autres) en cas de manquement au SLA. 45 Avantages n Réduction des coûts n Vous n’avez pas besoin d'un ordinateur de grande puissance et de prix élevé pour exécuter des applications de cloud computing n Votre PC de bureau n'a pas besoin de la puissance de traitement ou d'espace disque exigé par le logiciel de bureau traditionnel n Votre PC peut être moins cher, avec un disque dur plus petit, moins de mémoire, processeur plus efficace… Votre PC n'a même pas besoin d'un lecteur CD ou DVD, car aucun des logiciels doivent être chargés et aucun fichier de documents doivent être sauvegardés n n indépendance de l'appareil n Vous n’êtes plus lié à un seul ordinateur ou réseau n Changements des applications et des documents vous suivent à travers le cloud n Déplacez vers un appareil portable et vos applications et documents sont toujours disponibles 46 Avantages n n Mises à jour logicielles instantanée n Lorsque vous accédez à une application basée sur le Web, vous obtenez la dernière version sans avoir à payer pour télécharger une mise à niveau n Mises à jour se produisent automatiquement dans la prochaine fois que vous vous connectez sur le cloud Capacité de stockage illimitée n n Cloud computing offre de stockage pratiquement illimitée Fiabilité accrue des données n Si votre ordinateur personnel subit une panne, toutes vos données sont toujours là dans le cloud, toujours accessible 47 Inconvénients n Connexion internet permanente n n Ne fonctionne pas bien avec des connexions à faible débit n n Puisque vous utiliser l'Internet pour se connecter à la fois vos applications et documents, si vous ne avez pas une connexion Internet, vous ne pouvez pas accéder à tout, même vos propres documents (ou dernières versions). Une connexion Internet à faible vitesse rend le cloud computing pénible, et souvent impossible Caractéristiques limitées n Beaucoup d'applications basées sur le Web ne sont pas aussi complet que leurs applications de bureau basé n Par exemple, vous pouvez faire beaucoup plus avec Microsoft PowerPoint qu'avec l'offre basée sur le Web de Google Présentation 48 Inconvénients n n Les données stockées peuvent ne pas être sécurisé n Toutes vos données sont stockées sur le cloud. n La question est de savoir comment le cloud est-il sécurisé? n Les utilisateurs non autorisés peuvent-ils accéder à vos données confidentielles? Les données enregistrées peuvent être perdues n n n Théoriquement, les données stockées dans le cloud est sûre, répliquées sur plusieurs machines. Mais il est possible que vos données disparaîssent et que vous n’avez pas de sauvegarde physique ou local. En d'autres termes, en se appuyant sur le nuage vous met à risque si le nuage vous laisse tomber. 49 Conclusion n Cloud Computing est un acteur important dans l'industrie des IT n Une véritable valeur commerciale peut être réalisé par les clients de toutes dimensions n Solutions de Cloud Computing sont simples à acquérir, ne nécessitent pas de contrats à long terme et sont plus faciles à évoluer ou diminuer selon les besoins n Services de planification et de migration adéquates sont nécessaires pour assurer une mise en œuvre réussie n Clouds publics et privées peuvent être déployés ensemble pour exploiter le meilleur des deux n Les services de surveillance assurent que les clients obtiennent le meilleur de leur environnement de cloud 50