Multiple Services Throughput Optimization in a Hierarchical Middleware
Cloud introduction
1. Cloud Computing
Un nouveau positionnement
technologique
Frédéric Desprez
LIP ENS Lyon/INRIA Grenoble Rhône-Alpes
EPI GRAAL
10/06/2010
2. 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!
3. 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
4. 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.
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 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
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: 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, …
11. 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, …
16. 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
17. 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
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
21. 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
22. 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
23. 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
24. 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
25. 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/
26. 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. 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/)"