Cloud Computing
Un nouveau positionnement
technologique

Frédéric Desprez
LIP ENS Lyon/INRIA Grenoble Rhône-Alpes
EPI GRAAL

                                            
                                   10/06/2010
Le calcul comme un service
                       Suggéré par John Mc Carthy en 1961 !




Il est moins coûteux de louer ou d’acheter de l’électricité que
de construire, gérer et maintenir une station de production!
Introduction
•  Il est moins coûteux de louer de la capacité de calcul et de stockage
   que de monter un centre de calcul
•  La transparence d’utilisation des grandes plates-formes distribuées est
   primordiale
•  Pouvoir gérer ces ressources de manière dynamique et élastique!
•  Un long historique du calcul distribué à plus ou moins grande échelle
    •  Des supercalculateurs et grappes aux Clouds en passant par les grilles
•  Des besoins applicatifs de plus en plus importants et variés
    •  Explosion du nombre et du volume de données
Cloud Computing
Qu’est-ce que le Cloud Computing ?
  Un paradigme de calcul distribué émergeant dans lequel les
  données et les services sont disponibles dans des data centers
  extensibles et peuvent être accédés de manière transparente
  depuis des appareils (ordinateurs, téléphones, grappes, …)
  connectés par Internet


5ème génération d’architectures
    •  1970: Mainframes,
    •  1980: Client-serveurs,
    •  1990: Web, grilles,
    •  2000: SOA,
    •  2010: Clouds

                                                                   Credit: IBM Corp.
Cloud Computing
Né de
   •    La profusion de ressources (data centers)
   •    Une technologie de virtualisation mature
   •    Des communications à haut débit

Deux concepts clés
   •    Effectuer des opérations sur 1000x plus de données ne doit pas être
        1000x plus compliqué
   •    Les cycles et les octets sont la nouvelle matière première, pas le matériel
   •    IaaS: Infrastructure as a Service, XaaS

Le Cloud Computing c’est
   •    Fournir des services sur des machines virtuelles
        allouées sur des plates-formes de grandes tailles
   •    Une méthode pour résoudre les problèmes
        d’extensibilité et de disponibilité pour les
        grandes applications
   •    Le calcul distribué (enfin) démocratisé
Une vue à 10000 pieds




     SLAs
                        Services web




                            Virtualisation
Grilles vs Clouds
 •  Une vision partagée
     •    simplifier l’accès aux ressources distantes de la manière la plus
          transparente possible

 •  Technologie différente
     •    Grappes et batchs vs datacenters et virtualisation

 •  Gestion de ressources
     •    Statique vs dynamique

 •  Modèle de programmation
     •    MPI/GridRPC vs MapReduce/scripts/workflows

 •  Modèle de sécurité
     •    Certificats vs Web + SSL

 •  Des domaines applicatifs différents (pour l’instant!)
     •    HPC/HTC vs Business
Le calcul comme un service : un historique

                                                                     OpenNebula IaaS
                                                                      Open Source

                                                                          Nimbus IaaS
                                                                          Open Source


                                  Grid‘5000
                          Eucalyptus IaaS
     FutureGrid
                                Infrastructure
                        Open Source
                                     IaaS



  1998           1999               2003     2005       2006       2007       2008           2009



                                                      Cloud
                                  Sun 
  Grid
                                                                   FP7 Reservoir
   Open Cloud
Computing
                                          Computing
                                                  Amazon EC2/S3
                  Cloud
                                         HP Flexible
                                       Microsoft
               Computing
                                         IBM 
                                         Computing"                                          Azure
             Salesforces.com
                                  Blue Cloud
                                          Services
                                                                                               Crédits: T. Priol, INRIA
Cloud Computing: caractéristiques
•  Libre service à la demande
    •    Le consommateur récupère des ressources de calcul et de stockage à la
         demande (machines virtuelles)

•  Accès réseau
    •    Ressources, briques logicielles et applications disponibles à travers le
         réseau pour des clients de tailles différentes

•  Mise en commun de ressources
    •    Datacenters fournissant les ressources (machines, stockage, mémoire,
         BP réseau) pour différents clients en mode partagé

•  « Elasticité » réactive et rapide
    •    Croissance ou décroissance dynamique du nombre de ressources en
         fonction de la demande et des besoins

•  Service mesuré et facturation à l’usage
    •    Reporting de l’utilisation des ressources
Cloud Computing: modes d’utilisation
 •  Infrastructure as a Service (IaaS)
    •    Le matériel est fourni sous forme de machines virtuelles sur lesquelles on
         installe son image disque
    •    Amazon EC2, Rackspace, GoGRID, Orange, …

 •  Platform as a Service (PaaS)
    •    On peut développer ses propres applications en utilisant les services
         fournis
    •    Google Apps, Windows Azure, Amazon S3, IBM CloudBurst et
         Websphere, …

 •  Software as a Service (SaaS)
    •    Des applications entières sont disponibles à distance
    •    Googledocs, Facebook, Orange, IBM LotusLive, …
Infrastructure as a Service
  Avoir accès à la demande à un grand nombre de ressources
   virtualisées
    •    Dynamicité, élasticité
    •    Paiement à la consommation


  Concept de virtualisation
    •    Le système d’exploitation n’est plus central et est un logiciel comme un
         autre !
    •    Le concept de machines virtuelles consiste à recevoir des instances de
         systèmes.
    •    Les ressources physiques sont partagées par plusieurs machines
         virtuelles
  Exemples
    •    Amazon EC2, RightScale, GoGrid, Orange Open Cloud, …
Virtualisation
 Machines virtuelles s’exécutant sur un nœud de calcul


       VM0
                 VM1    VM2




         N0



     Nœud de calcul

                                                Crédits: T. Priol, INRIA
Virtualisation

Propriétés
   ➡  Isolement


              VM1              VM2
                          ?
                                 Apache
             simulation         web server




          Machine             Machine
          virtuelle           virtuelle
                                             Crédits: T. Priol, INRIA
Virtualisation

Propriétés
   ➡  Isolement
   ➡  Portabilité

           Machine
                                       Machine
           virtuelle
                                       virtuelle

                       VM0                              VM0

                                  N1
      N0


Noeud de calcul              Noeud de calcul
                                               Crédits: T. Priol, INRIA
Virtualisation

Propriétés
   ➡  Isolement
   ➡  Portabilité
   ➡  Suspend/restart

        Machine
        virtuelle
                    VM0




                          Crédits: T. Priol, INRIA
Platform as a Service (PaaS)
•  Un ensemble d’outils pour développer, déployer et gérer des
   applications
•  Pas de gestion de l’infrastructure sous-jacente (machines, réseaux,
   stockage, systèmes d’exploitation, …). Le framework gère le
   déploiement et le nombre de ressources.
•  Mais contrôle de l’application et de la configuration de son
   environnement
•  Exemples
   Microsoft Azure,
   Force.com,
   Google App Engine,
   IBM Cloudburst et
   Websphere
Software as a Service (SaaS)
•  L’application elle-même est disponible à travers un navigateur
•  Pas de gestion de l’infrastructure sous-jacente (machines, réseaux,
   stockage, systèmes d’exploitation, …)
•  Exemples
    •    Google Apps, Salesforce.com, Orange, IBM LotusLive
Modèles de déploiement
•  Cloud publique
   •    Infrastructure (propriété du fournisseur) louée à n’importe qui

•  Cloud privé
   •    Propriété d’une entreprise
   •    interne ou externe

•  Cloud communautaire
   •    Mise en commun de ressources pour une communauté d’utilisateurs
   •    interne ou externe

•  Cloud hybride
   •    Composition de plusieurs formes de Clouds, voir même de grilles
   •    Sky Computing
Entreprise
Qui contrôle quoi ?
                                               Partage entreprise/fournisseur

                                                        Fournisseur

  Informatique   Hébergeur      IaaS public     PaaS public          SaaS public


   Données        Données        Données         Données               Données


  Applications   Applications   Applications    Applications         Applications

   Machines      Machines       Machines         Machines             Machines
   virtuelles    virtuelles     virtuelles       virtuelles           virtuelles

    Serveur        Serveur       Serveur          Serveur              Serveur


   Stockage       Stockage       Stockage        Stockage             Stockage


    Réseau         Réseau         Réseau          Réseau               Réseau

                                                               Crédits: P. Saulière, Microsoft
Sécurité et pannes
Quelques problèmes de sécurité
Un des principaux freins à l’adoption !
•  Quelques défis
    •    Localisation des données et des calculs
    •    Gestion de l’isolation
    •    Propriété des données
    •    Lois internationales
    •    Attraction des hackers
    •    Besoin de chiffrement à plusieurs niveaux
    •    Déplacements de données
    •    Perte de contrôle

•  Mais aussi des avantages
    •    Gestion des fautes et des pannes par un fournisseur externe
    •    Gestion automatisée de la sécurité
    •    Relative homogénéité des plates-formes
Des clouds open source
 Nimbus (Freeman and Keahey, University of Chicago)
    •  Client-side cloud-computing interface to Globus-enabled TeraPort cluster at
         University of Chicago
    •    Based on GT4 and the Globus Virtual Workspace Service
          –  Great if local resources are GT4 proficient
          –  Tutorials and documentation in “grid space”
 Eucalyptus (Wolsky, University of Santa Barbara)
    •    Web services based implementation of elastic/utility/cloud computing
         infrastructure
    •    Linux image hosting (IaaS)
 Open Nebula (Montero & Llorente, DSA-Research at UCM)
    •    Support for the Xen, KVM and VMware virtualization
         platforms
    •    Access to Amazon EC2 and ElasticHosts clouds
    •    libvirt, EC2 Query API and OGC OCCI interfaces
Grid’5000 vu comme un Cloud ?
Grid’5000
   •    Plateforme distribuée pour des expériences à grande échelle
   •    9 sites et plus de 5000 cœurs connectés via Renater

Quelques caractéristiques de Cloud
   •    Possibilité de gérer vos propres images disques (installées via kdeploy)
   •    Réservation de ressources transparente (via OAR)
   •    Plateforme complètement contrôlée
   •    Images de machines virtuelles (Xen, Vmware)
   •    Isolement d’applications

Grid’5000 pourrait devenir Cloud’5000?
   •    Plateforme parfaite pour la validation de résultats de recherche sur les
        Clouds
   •    Instances de machines virtuelles connectées via un WAN dédié
   •    Plusieurs projets autour de Clouds open source et MapReduce
Quelques challenges de recherche
•  Composition de services
•  Service Level Agreement
•  Sécurité
•  Résistance aux fautes
•  Construire des applications basées sur les services
•  Gestion de l’infrastructure
•  Energie / Green-IT
•  Ordonnancement et gestion élastique des ressources
•  Gestion de données
•  Accès transparent à des plateformes hybrides
Combiner grilles et Clouds
 SysFera-DS : une pile logicielle complète pour le HPC
 .. et un accès simple et transparent aux infrastructures de Cloud
Inside the Cloud
•  + DIET platform is virtualized
inside the cloud. (as Xen image
for example)
•  + Very flexible and scalable as
DIET nodes can be launched
•  + Dynamic adaptation %
charge




 Cloud manager
 •  + EC2 interface
 •  + EC2 is treated as a new
 Batch System
 •  + Automatic deployment of
 VMs with associated services




                                                     http://www.sysfera.fr/
Conclusion
•  De nombreuses applications prêtes à être déployées sur les Clouds
   à différents niveaux
•  Les ressources sont disponibles en quantité !
•  Nombreuses offres de Clouds publics et privés
•  Notion de virtualisation et piles logicielles « mature »
•  « Quelques » problèmes à traiter encore mieux
    •  extensibilité, sécurité, gestion de données à grande échelle, tolérance aux fautes,
          API entre Clouds, …
     •    Notion de confiance dans cette nouvelle technologie !

•  Le Cloud n’est pas prêt d’enterrer les supercalculateurs pour autant
   pour les grosses applications (architecture petascales et bientôt
   exascales)
•  Gros potentiel pour de nombreuses applications avec différentes
   approches (IaaS, PaaS, SaaS) voir une combinaison de ces
   approches
27

« I don't care if my cloud computing
architecture is powered by a grid, a
mainframe, my neigbour's desktop or an
army of monkeys, so long as it's fast, cheap
and secure. »"
               Sam Johnston (http://samj.net/)"

Cloud introduction

  • 1.
    Cloud Computing Un nouveaupositionnement technologique Frédéric Desprez LIP ENS Lyon/INRIA Grenoble Rhône-Alpes EPI GRAAL 10/06/2010
  • 2.
    Le calcul commeun service Suggéré par John Mc Carthy en 1961 ! Il est moins coûteux de louer ou d’acheter de l’électricité que de construire, gérer et maintenir une station de production!
  • 3.
    Introduction •  Il estmoins coûteux de louer de la capacité de calcul et de stockage que de monter un centre de calcul •  La transparence d’utilisation des grandes plates-formes distribuées est primordiale •  Pouvoir gérer ces ressources de manière dynamique et élastique! •  Un long historique du calcul distribué à plus ou moins grande échelle •  Des supercalculateurs et grappes aux Clouds en passant par les grilles •  Des besoins applicatifs de plus en plus importants et variés •  Explosion du nombre et du volume de données
  • 4.
    Cloud Computing Qu’est-ce quele Cloud Computing ? Un paradigme de calcul distribué émergeant dans lequel les données et les services sont disponibles dans des data centers extensibles et peuvent être accédés de manière transparente depuis des appareils (ordinateurs, téléphones, grappes, …) connectés par Internet 5ème génération d’architectures •  1970: Mainframes, •  1980: Client-serveurs, •  1990: Web, grilles, •  2000: SOA, •  2010: Clouds Credit: IBM Corp.
  • 5.
    Cloud Computing Né de •  La profusion de ressources (data centers) •  Une technologie de virtualisation mature •  Des communications à haut débit Deux concepts clés •  Effectuer des opérations sur 1000x plus de données ne doit pas être 1000x plus compliqué •  Les cycles et les octets sont la nouvelle matière première, pas le matériel •  IaaS: Infrastructure as a Service, XaaS Le Cloud Computing c’est •  Fournir des services sur des machines virtuelles allouées sur des plates-formes de grandes tailles •  Une méthode pour résoudre les problèmes d’extensibilité et de disponibilité pour les grandes applications •  Le calcul distribué (enfin) démocratisé
  • 6.
    Une vue à10000 pieds SLAs Services web Virtualisation
  • 7.
    Grilles vs Clouds •  Une vision partagée •  simplifier l’accès aux ressources distantes de la manière la plus transparente possible •  Technologie différente •  Grappes et batchs vs datacenters et virtualisation •  Gestion de ressources •  Statique vs dynamique •  Modèle de programmation •  MPI/GridRPC vs MapReduce/scripts/workflows •  Modèle de sécurité •  Certificats vs Web + SSL •  Des domaines applicatifs différents (pour l’instant!) •  HPC/HTC vs Business
  • 8.
    Le calcul commeun service : un historique OpenNebula IaaS Open Source Nimbus IaaS Open Source Grid‘5000 Eucalyptus IaaS FutureGrid Infrastructure Open Source IaaS 1998 1999 2003 2005 2006 2007 2008 2009 Cloud Sun Grid FP7 Reservoir Open Cloud Computing Computing Amazon EC2/S3 Cloud HP Flexible Microsoft Computing IBM Computing" Azure Salesforces.com Blue Cloud Services Crédits: T. Priol, INRIA
  • 9.
    Cloud Computing: caractéristiques • Libre service à la demande •  Le consommateur récupère des ressources de calcul et de stockage à la demande (machines virtuelles) •  Accès réseau •  Ressources, briques logicielles et applications disponibles à travers le réseau pour des clients de tailles différentes •  Mise en commun de ressources •  Datacenters fournissant les ressources (machines, stockage, mémoire, BP réseau) pour différents clients en mode partagé •  « Elasticité » réactive et rapide •  Croissance ou décroissance dynamique du nombre de ressources en fonction de la demande et des besoins •  Service mesuré et facturation à l’usage •  Reporting de l’utilisation des ressources
  • 10.
    Cloud Computing: modesd’utilisation •  Infrastructure as a Service (IaaS) •  Le matériel est fourni sous forme de machines virtuelles sur lesquelles on installe son image disque •  Amazon EC2, Rackspace, GoGRID, Orange, … •  Platform as a Service (PaaS) •  On peut développer ses propres applications en utilisant les services fournis •  Google Apps, Windows Azure, Amazon S3, IBM CloudBurst et Websphere, … •  Software as a Service (SaaS) •  Des applications entières sont disponibles à distance •  Googledocs, Facebook, Orange, IBM LotusLive, …
  • 11.
    Infrastructure as aService Avoir accès à la demande à un grand nombre de ressources virtualisées •  Dynamicité, élasticité •  Paiement à la consommation Concept de virtualisation •  Le système d’exploitation n’est plus central et est un logiciel comme un autre ! •  Le concept de machines virtuelles consiste à recevoir des instances de systèmes. •  Les ressources physiques sont partagées par plusieurs machines virtuelles Exemples •  Amazon EC2, RightScale, GoGrid, Orange Open Cloud, …
  • 12.
    Virtualisation Machines virtuelless’exécutant sur un nœud de calcul VM0 VM1 VM2 N0 Nœud de calcul Crédits: T. Priol, INRIA
  • 13.
    Virtualisation Propriétés ➡  Isolement VM1 VM2 ? Apache simulation web server Machine Machine virtuelle virtuelle Crédits: T. Priol, INRIA
  • 14.
    Virtualisation Propriétés ➡  Isolement ➡  Portabilité Machine Machine virtuelle virtuelle VM0 VM0 N1 N0 Noeud de calcul Noeud de calcul Crédits: T. Priol, INRIA
  • 15.
    Virtualisation Propriétés ➡  Isolement ➡  Portabilité ➡  Suspend/restart Machine virtuelle VM0 Crédits: T. Priol, INRIA
  • 16.
    Platform as aService (PaaS) •  Un ensemble d’outils pour développer, déployer et gérer des applications •  Pas de gestion de l’infrastructure sous-jacente (machines, réseaux, stockage, systèmes d’exploitation, …). Le framework gère le déploiement et le nombre de ressources. •  Mais contrôle de l’application et de la configuration de son environnement •  Exemples Microsoft Azure, Force.com, Google App Engine, IBM Cloudburst et Websphere
  • 17.
    Software as aService (SaaS) •  L’application elle-même est disponible à travers un navigateur •  Pas de gestion de l’infrastructure sous-jacente (machines, réseaux, stockage, systèmes d’exploitation, …) •  Exemples •  Google Apps, Salesforce.com, Orange, IBM LotusLive
  • 18.
    Modèles de déploiement • Cloud publique •  Infrastructure (propriété du fournisseur) louée à n’importe qui •  Cloud privé •  Propriété d’une entreprise •  interne ou externe •  Cloud communautaire •  Mise en commun de ressources pour une communauté d’utilisateurs •  interne ou externe •  Cloud hybride •  Composition de plusieurs formes de Clouds, voir même de grilles •  Sky Computing
  • 19.
    Entreprise Qui contrôle quoi? Partage entreprise/fournisseur Fournisseur Informatique Hébergeur IaaS public PaaS public SaaS public Données Données Données Données Données Applications Applications Applications Applications Applications Machines Machines Machines Machines Machines virtuelles virtuelles virtuelles virtuelles virtuelles Serveur Serveur Serveur Serveur Serveur Stockage Stockage Stockage Stockage Stockage Réseau Réseau Réseau Réseau Réseau Crédits: P. Saulière, Microsoft
  • 20.
  • 21.
    Quelques problèmes desécurité Un des principaux freins à l’adoption ! •  Quelques défis •  Localisation des données et des calculs •  Gestion de l’isolation •  Propriété des données •  Lois internationales •  Attraction des hackers •  Besoin de chiffrement à plusieurs niveaux •  Déplacements de données •  Perte de contrôle •  Mais aussi des avantages •  Gestion des fautes et des pannes par un fournisseur externe •  Gestion automatisée de la sécurité •  Relative homogénéité des plates-formes
  • 22.
    Des clouds opensource Nimbus (Freeman and Keahey, University of Chicago) •  Client-side cloud-computing interface to Globus-enabled TeraPort cluster at University of Chicago •  Based on GT4 and the Globus Virtual Workspace Service –  Great if local resources are GT4 proficient –  Tutorials and documentation in “grid space” Eucalyptus (Wolsky, University of Santa Barbara) •  Web services based implementation of elastic/utility/cloud computing infrastructure •  Linux image hosting (IaaS) Open Nebula (Montero & Llorente, DSA-Research at UCM) •  Support for the Xen, KVM and VMware virtualization platforms •  Access to Amazon EC2 and ElasticHosts clouds •  libvirt, EC2 Query API and OGC OCCI interfaces
  • 23.
    Grid’5000 vu commeun Cloud ? Grid’5000 •  Plateforme distribuée pour des expériences à grande échelle •  9 sites et plus de 5000 cœurs connectés via Renater Quelques caractéristiques de Cloud •  Possibilité de gérer vos propres images disques (installées via kdeploy) •  Réservation de ressources transparente (via OAR) •  Plateforme complètement contrôlée •  Images de machines virtuelles (Xen, Vmware) •  Isolement d’applications Grid’5000 pourrait devenir Cloud’5000? •  Plateforme parfaite pour la validation de résultats de recherche sur les Clouds •  Instances de machines virtuelles connectées via un WAN dédié •  Plusieurs projets autour de Clouds open source et MapReduce
  • 24.
    Quelques challenges derecherche •  Composition de services •  Service Level Agreement •  Sécurité •  Résistance aux fautes •  Construire des applications basées sur les services •  Gestion de l’infrastructure •  Energie / Green-IT •  Ordonnancement et gestion élastique des ressources •  Gestion de données •  Accès transparent à des plateformes hybrides
  • 25.
    Combiner grilles etClouds SysFera-DS : une pile logicielle complète pour le HPC .. et un accès simple et transparent aux infrastructures de Cloud Inside the Cloud •  + DIET platform is virtualized inside the cloud. (as Xen image for example) •  + Very flexible and scalable as DIET nodes can be launched •  + Dynamic adaptation % charge Cloud manager •  + EC2 interface •  + EC2 is treated as a new Batch System •  + Automatic deployment of VMs with associated services http://www.sysfera.fr/
  • 26.
    Conclusion •  De nombreusesapplications prêtes à être déployées sur les Clouds à différents niveaux •  Les ressources sont disponibles en quantité ! •  Nombreuses offres de Clouds publics et privés •  Notion de virtualisation et piles logicielles « mature » •  « Quelques » problèmes à traiter encore mieux •  extensibilité, sécurité, gestion de données à grande échelle, tolérance aux fautes, API entre Clouds, … •  Notion de confiance dans cette nouvelle technologie ! •  Le Cloud n’est pas prêt d’enterrer les supercalculateurs pour autant pour les grosses applications (architecture petascales et bientôt exascales) •  Gros potentiel pour de nombreuses applications avec différentes approches (IaaS, PaaS, SaaS) voir une combinaison de ces approches
  • 27.
    27 « I don't careif my cloud computing architecture is powered by a grid, a mainframe, my neigbour's desktop or an army of monkeys, so long as it's fast, cheap and secure. »" Sam Johnston (http://samj.net/)"