Cloud Computing
Frédéric Desprez
LIP ENS Lyon/INRIA Grenoble Rhône-Alpes EPI GRAAL
25/03/2010!
Introduction
•! La transparence d’utilisation des grandes plates-formes distribuées est primordiale
•! Il est moins coûteux de louer de la capacité de calcul et de stockage que de monter un centre de calcul
•! 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éesQu’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
Credit: IBM Corp.
Cloud Computing
Cloud Computing
Né de
•!
La profusion de ressources (data centers)•!
Une technologie de virtualisation mature•!
Des communications à haut débitDeux concepts clés
•!
Effectuer des opérations sur 1000x plus de données ne doit pas être 1000x plus dur•!
Les cycles et les octets sont la nouvelle matière première, pas le matériel•!
IaaS: Infrastructure as a ServiceLe 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!
Cloud Computing
•! Plusieurs 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, …
•!
Platform as a Service (PaaS)•! On peut développer ses propres applications en utilisant les services fournis
•! Google Apps, Windows Azure, Amazon S3, IBM, …
•!
Software as a Service (SaaS)•! Des applications entières sont disponibles à distance
•! Googledocs, Facebook, …
Infrastructure as a Service
Avoir accès à la demande à un grand nombre de ressources virtualisées
•!
Dynamicité, élasticité•!
Paiement à la consommationConcept 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 virtuellesVirtualisation
N0
VM0 VM1 VM2
Noeud de calcul
Machines virtuelles s’exécutant sur un nœud de calcul
Virtualisation
Propriétés
!! Isolement
? VM2
VM1
simulation Apache
web server
Machine
virtuelle Machine
virtuelle
Virtualisation
N0
Noeud de calcul
VM0
N1
Noeud de calcul
VM0
Propriétés
!! Isolement
! ! Portabilité
Machine
virtuelle Machine
virtuelle
Virtualisation
VM0
Propriétés
!! Isolement
! ! Portabilité
!! Suspend/restart
Machine virtuelle
Amazon Elastic Compute Cloud
A set of APIs and business models which give developer-level access to Amazon’s infrastructure and content:
!
" ! Data As A Service
" ! Amazon E-Commerce Service
" ! Amazon Historical Pricing
" ! Search As A Service
" ! Alexa Web Information Service
" ! Alexa Top Sites
" ! Alexa Site Thumbnail
" ! Alexa Web Search Platform
" ! Infrastructure As A
Service
" ! Amazon Simple Queue Service
" ! Amazon Simple Storage Service
" ! Amazon Elastic Compute Cloud
" ! People As A Service
" ! Amazon Mechanical Trunk
Credits: Jeff Barr, Amazon
Amazon Web Services
!"#$%#&'(
)*+$,&'( -$."/0&'(
-#"12$(!+34%*&(
!#+%5(6-!78(
)934#&()*+'"0&((
)&':9$&(6);8( )934#&(<%&%&(
)&':9$&(6)<)8(
Credits: Jeff Barr, Amazon
Amazon Elastic Compute Cloud
=>?@(4&'(1&':&'(
.+%'(
•!
(A9'*%"#(!+34%*&(!#+%5(
•!
(-#"12$(!"4"$9*B(
•!
(?>C(DEF(GHI(
•!
(?>C(DJ(KLM(
•!
(?I@(DJ(N91,(
•!
(7O@(MJP)&$+/5(Q&*R+',(
•!
(Q&*R+',()&$%'9*B(M+5&#(
S93&(+'(S'"T$UV"1&5()$"#9/0W(X+"5(*&12/0W(
)93%#"2+/("/5(L/"#B191W(K&/5&'9/0W(
)+YR"'&("1("()&':9$&(Z#"[+'3W(E+12/0(
=>?@(U(=>?H(4&'(DJ(
5"*"(*'"/1\&'(
•! Provides on-demand processing power!
•! Virtual machine images (Amazon Machine Image, AMI)!
Amazon EC2 Concepts
Amazon Machine Image (AMI):
•!
Bootable root disk•!
Pre-defined or user-built•!
Catalog of user-built AMIs•!
OS: Fedora, Centos, Gentoo, Debian, Ubuntu, Windows Server•!
App Stack: LAMP, mpiBLAST, HadoopInstance:
•!
Running copy of an AMI•!
Launch in less than 2 minutes•!
Start/stop programmaticallyNetwork Security Model:
•!
Explicit access control•!
Security groupsInter-service bandwidth is free
Amazon Simple Queue Service
=>?@(4&'(?@@@(
3&11"0&1(
•! ()$"#"V#&(<%&%9/0(
•! (-#"12$(!"4"$9*B(
•! (K	"V#&W()934#&W()&$%'&(
]/*&'U4'+$&11(3&11"09/0W(5"*"(
V%^&'9/0W("'$.9*&$*%'&($+34+/&/*(( =>?@(U(=>?H(4&'(DJ(
5"*"(*'"/1\&'(
Efficient, reliable load distribution layer
Pay by the message
=>?O(4&'(DJ(4&'(
3+/*.(
1*+'"0&(
•! (_V`&$*UJ"1&5()*+'"0&(
•! (?(J(a(O(DJ(P(+V`&$*(
•! (b"1*W(K	"V#&W()$"#"V#&(
•! (K&5%/5"/*W(N914&'1&5(
•! (cc>ccd(L:"9#"V9#9*B(D+"#(
•! (Z'9:"*&(+'(Z%V#9$(
•! (Z&'U+V`&$*(eKX1(f(L!X1(
•! (J9*S+''&/*()%44+'*( =>?@(U(=>?H(4&'(DJ(
5"*"(*'"/1\&'(
=>@?(\+'(?@@@(*+(
?@@@@('&g%&1*1(
Virtually infinite storage capacity
Provides permanence layer when EC2 nodes are not running
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 interfacesGrid’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 RenaterQuelques 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’applicationsGrid’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 Map ReduceQuelques 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
Conclusion
•! De nombreuses applications prêtes à être « cloudifiées »
•! Les ressources sont là !
•! Nombreuses offres de Clouds publics et privés
•! Notion de virtualisation et logiciels « mature »
•! « Quelques » problèmes à traiter encore mieux
•!
extensibilité, sécurité, gestion de données à grande échelle, tolérance aux fautes, …•! Le Cloud n’est pas prêt d’enterrer les supercalculateurs pour autant (architecture petascales et bientôt exascales)
•! Gros potentiel pour de nombreuses applications avec différentes approches (IaaS, PaaS, SaaS)
•!
Grande diversité des applications22!