Les clouds, du buzz à la vraie science Frédéric Desprez LIP ENS Lyon/INRIA Grenoble Rhône-Alpes EPI GRAAL/Avalon Colloque Calcul intensif pour la biologie F. Desprez 14/06/2010! - 14/06/10 Hype!
INTRODUCTION 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 Utility computing We will probably see the spread of computer utilities, which, like present electric and telephone utilities, will service individual homes and offices accross the country Professeur John McCarthy, 1961!!!
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 et des communications à haut débit Quelques 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 Data centers fournissant les ressources (machines, stockage, mémoire, BP réseau) pour différents clients en mode partagé. Diminution des tâches de maintenance. «Elasticité» réactive et rapide Croissance ou décroissance dynamique du nombre de ressources en fonction de la demande et des besoins. Extensibilité! Service mesuré et facturation à l usage Reporting de l utilisation des ressources Résilience Continuité du service
Investissement Constat : Coût *Source : http://media.amazonwebservices.com/aws_cloud_best_practices.pdf Colloque Calcul intensif pour la biologie 7 F. Desprez - 14/06/10 Une vue à 10000 pieds SLAs! Services web! Virtualisation! Colloque Calcul intensif pour la biologie F. Desprez - 14/06/10
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! Infrastructure! IaaS! Eucalyptus IaaS! Open Source! FutureGrid! 1998 1999 2003 2005 2006 2007 2008 2009 2010 2011 Grid! Computing! Cloud! Computing! Salesforces.com! HP Flexible! Computing" Services! Cloud! Computing! Amazon EC2/S3! IBM! Blue Cloud! FP7 Reservoir! Sun! Open Cloud! Microsoft! Azure! Crédits: T. Priol, INRIA
MODES D UTILISATION 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 Gmail, 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 Proposé par IBM dans les années 60 Virtual Machines have finally arrived. Dismissed for a number of years as merely academic curiosities, they are now seen as cost-effective techniques for organizing computer systems resources to provide extraordinary system flexibility and support for certain unique applications. Goldberg, Survey of Virtual Machine Research, 1974 Crédits: T. Priol, INRIA
Virtualisation Propriétés! Isolement V M1 simulation? V M2 Apache web server! Portabilité Machine virtuelle Machine virtuelle Machine virtuelle Machine virtuelle N0 V M0 N1 V M0 Noeud de calcul! Suspend/restart (et migration?) Machine virtuelle Noeud de calcul VM0 Crédits: T. Priol, INRIA Amazon Web Services : Contexte Site marchand amazon.com (1995) Trafic fluctuant Disponibilité Analyse de données Gestion de stock Large catalogue International : latence (réplication géographique) => CDN 2006 La référence IaaS => PaaS On ne paye que ce qu on utilise Plus de 20 produits Datacenters sur 5 régions géographiques Des nouveautés régulièrement Références : Dropbox, Slideshare, Netflix, Zinga Credits: Fabien Bousquet, Kalistic
AWS : Mise en place Inscription internet Carte bancaire Instantané Console Web pour démarrer Pas d attente de mise en place Pas de coût d installation Système ouvert / automatisable : Outil SDK API Credits: Fabien Bousquet, Kalistic 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 " 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 " Search As A Service " Alexa Web Information Service " Alexa Top Sites " Alexa Site Thumbnail " Alexa Web Search Platform " Other tools BD : Messaging : Stockage : CDN : CloudFront» «Calcul» : MapReduce Déploiement/Gestion : Beanstalk, CloudFormation RDS, SimpleDB SNS, SQS, SES EBS, AWS Import/Export Surveillance : CloudWatch Réseaux : Route 53, VPC
Amazon Web Services!"#$%#&'( )*+$,&'( -$."/0&'( Credits: Jeff Barr, Amazon Amazon Elastic Compute Cloud Provides on-demand processing power Virtual machine images (Amazon Machine Image, AMI) (:;'*%"#(!+27%*&(!#+%<( (-#"8=$(!"7"$;*>( (54?(@AB(CDE( (54?(@F(GHI( (5E6(@F(J;8,( (KL6(IFM)&$+/<(N&*O+',( (N&*O+',()&$%';*>(I+<&#( 1'+2(( 3456(7&'(8&'9&'(.+%'( P;2&(+'(P'"Q$RS"8&<()$"#;/0T(U+"<(*&8=/0T( );2%#"=+/("/<(H/"#>8;8T(G&/<&';/0T( )+VO"'&("8("()&'9;$&(W#"X+'2T(A+8=/0( 3456(R(345D(7&'(@F( <"*"(*'"/8Y&'(
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, Hadoop Limited to 10 GB Instance Running copy of an AMI Launch in less than 2 minutes Start/stop programmatically Network Security Model Explicit access control Security groups Inter-service bandwidth is free Types d instances Instance gratuite Petites Instances défaut 1.7 Go de Mémoire 1 EC2 Compute Unit (1 virtual core avec 1 EC2 Compute Unit) 160 Go de stockage d instance Plateforme 32-bit Performance I/O: Modérée Large Instance 7.5 Go de Mémoire 4 EC2 Compute Units (2 virtual cores avec chacun 2 EC2 Compute Units) 850 Go de stockage d instance Plateforme 64-bit Performance I/O: Elevée Extra Large Instance 15 Go de Mémoire 8 EC2 Compute Units (4 virtual cores avec chacun 2 EC2 Compute Units) 1,690 Go de stockage d instance Plateforme 64-bit Performance I/O: Elevée http://aws.amazon.com/fr/ec2/instance-types/ High-Memory Extra Large Instance 17.1 Go de Mémoire 6.5 EC2 Compute Units (2 virtual cores avec chacun 3.25 EC2 Compute Units) 420 Go de stockage d instance Plateforme 64-bit Performance I/O: Modérée High-Memory Double Extra Large Instance 34.2 Go de Mémoire 13 EC2 Compute Units (4 virtual cores avec chacun 3.25 EC2 Compute Units) 850 Go de stockage d instance Plateforme 64-bit Performance I/O: Elevée High-Memory Quadruple Extra Large Instance 68.4 Go de Mémoire 26 EC2 Compute Units (8 virtual cores avec chacun 3.25 EC2 Compute Units) 1690 Go de stockage d instance Plateforme 64-bit Performance I/O: Elevée Applications à grand trafic, notamment les bases de données et les applications de mise en mémoire cache
Types d instances, suite High-CPU Medium Instance 1.7 Go de Mémoire 5 EC2 Compute Units (2 virtual cores avec chacun 2.5 EC2 Compute Units) 350 Go de stockage d instance Plateforme 32-bit Performance I/O: Modérée Nom API: c1.medium High-CPU Extra Large Instance 7 Go de Mémoire 20 EC2 Compute Units (8 virtual cores avec chacun 2.5 EC2 Compute Units) 1690 Go de stockage d instance Plateforme 64-bit Performance I/O: Elevée Nom API: c1.xlarge http://aws.amazon.com/fr/ec2/instance-types/ Quadruple Extra Large Instance Grappe de Calcul 23 Go de Mémoire 33.5 EC2 Compute Units (2 x Intel Xeon X5570, quad-core architecture Nehalem ) 1690 Go de stockage d instance Plateforme 64-bit Performance I/O: Très Elevée (10 Gigabit Ethernet) Nom API: cc1.4xlarge Les instances cette famille fournissent proportionnellement plus de ressources CPU avec une performance réseau améliorée et sont adaptées aux applications Calculs Haute Performance (HPC) et aux autres applications nécessitant un lien réseau. EC2: Stockage Instance store Copie de l AMI / disque de boot Limité à 10 GB Instance EC2 Mount Ephemeral disk Disque lié à l instance sans coût additionnel Nombre et taille variable en fonction du type d instance EBS Non lié au cycle de vie de l instance Nombre et taille libres S3 SNAPSHOT Copie d un EBS à un instant T Stocké sur S3 Accès via API Données non persistantes => Données perdues si machine arrêtée («terminate») ou machine plantée Données persistantes => Données non liées au cycle de vie de l instance Credits: Fabien Bousquet, Kalistic
Virtually infinite storage capacity Provides permanence layer when EC2 nodes are not running (ZS[&$*RF"8&<()*+'"0&( (5(F(\(L(@F(M(+S[&$*( (1"8*T(G&#;"S#&T()$"#"S#&( (G&<%/<"/*T(J;87&'8&<( (]]4]]^(H9";#"S;#;*>(@+"#( (W';9"*&(+'(W%S#;$( (W&'R+S[&$*(_GU8(`(H!U8( (F;*P+''&/*()%77+'*( 345L(7&'(@F(7&'( 2+/*.( 8*+'"0&( 3465(Y+'(5666(*+( 56666('&a%&8*8( 3456(R(345D(7&'(@F( <"*"(*'"/8Y&'( Vue générale S3 EC2 Region bucket Zone API A P I Security Group Instance EC2 Start with AMI Mount EBS Do snapshot S3 SNAPSHOT AMI Web Credits: Fabien Bousquet, Kalistic
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 Open Stack Platform as a Service (PaaS) Un ensemble d outils (langages + support d exécution) 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 support d exécution 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
Microsoft Azure platform Announced 2008 Released 2010 What does it offer? PaaS Datacenters on 3 continents (2 regions each) Pay as you go No installation cost Management through an online console Integration with Microsoft Visual Studio.NET interface 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 Gmail, 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 Qui contrôle quoi? Entreprise 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 virtuelles Machines virtuelles Machines virtuelles Machines virtuelles Machines 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
STANDARDS ET PROGRAMMATION Standards Actuellement, surtout une utilisation des normes de l Internet et des architectures Web Services et SOA Besoins de standards pour assuré l intéropérabilité entre les platesformes et les applications API de gestion des ressources OGF : Open Grid Forum DMTF : Distributed Management Task Force OCCI : Open Cloud Computing Interface API stockage Cloud SNIA : Storage Networking Industry Association Intercloud GICTF : Global Intercloud Technology Forum Aspects sécurité CSA: Cloud Security Alliance Et d autres OMG, TM Forum, OASIS, ISO IEC-JTC 1, ITU-T, W3C, IETF,
Google MapReduce Developed by Google in 2003 Programming model: dataflow programming Input & Output: each a set of key/value pairs Programmer specifies two functions: map (in_key, in_value) -> list(out_key, intermediate_value) Processes input key/value pair Produces set of intermediate pairs reduce (out_key, list(intermediate_value)) -> list(out_value) Combines all intermediate values for a particular key Produces a set of merged output values (usually just one) Inspired by similar primitives in LISP and other languages Example uses: distributed grep web link-graph reversal distributed sort web access log stats term-vector per host inverted index construction document clustering machine learning statistical machine translation Open-source versions Hadoop (java implementation of MapReduce + GFS + Bigtable) http://hadoop.apache.org/ Credits: J. Dean, S. Ghemawat, Google, Inc. MapReduce 3 Data is split into m parts 1 A hash function maps the results of the map tasks to r reduce tasks D1 map reduce O1 5 Data D2 Dm map map reduce O2 A combine task may be necessary to combine all the outputs of the reduce functions together data split map reduce 2 map function is performed 4 on each of these data parts concurrently Once all the results for a particular reduce task is available, the framework executes the reduce task
Google MapReduce: parallel execution Credits: J. Dean, S. Ghemawat, Google, Inc. SECURITÉ ET PANNES
Sécurité et pannes Quelques problèmes de sécurité Un des principaux freins à l adoption! Quelques défis Problèmes juridiques Localisation des données et des calculs Propriété des données Lois internationales Gestion de l isolation 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
ET LA RECHERCHE? Colloque Calcul intensif pour la biologie F. Desprez - 14/06/10 Et la recherche dans tout çà? Explosion du nombre de travaux de recherche autour des Clouds et de la virtualisation! Quelques challenges de recherche Composition de services Service Level Agreement (SLA) Sécurité Résistance aux fautes/pannes Gestion de l infrastructure Ordonnancement et gestion élastique des ressources Gestion de données Accès transparent à des plateformes hybrides Multi-clouds Nouveaux modèles économiques, énergie Programmation des applications Nouveaux langages, nouveaux modèles Colloque Calcul intensif pour la biologie F. Desprez - 14/06/10
CONCLUSIONS 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, sky computing, énergie, standards, Notion de confiance dans cette nouvelle technologie! Le Cloud n est pas prêt d enterrer les supercalculateurs pour autant pour les grosses applications de simulation (architectures pétascales et bientôt exascales) Gros potentiel pour de nombreuses applications avec différentes approches (IaaS, PaaS, SaaS) voir une combinaison de ces approches (y compris avec des grilles).
DES QUESTIONS? Quelques références European Commission report on The Future of Cloud Computing http://cordis.europa.eu/fp7/ict/ssai/docs/cloud-report-final.pdf Cloud Strategy and Innovation Blog (I. Llorrente) http://blog.cloudplan.org/ Above the Clouds: A Berkeley View of Cloud Computing http://www.eecs.berkeley.edu/pubs/techrpts/2009/eecs-2009-28.html http://berkeleyclouds.blogspot.com/ The NIST Definition of Cloud Computing http://csrc.nist.gov/publications/drafts/800-145/draft-sp-800-145_cloud-definition.pdf DRAFT Cloud Computing Synopsis and Recommendations http://csrc.nist.gov/publications/drafts/800-146/draft-nist-sp800-146.pdf Cloud Computing Bible B. Sosinsky, Wiley SIENA European Roadmap on Grid and Cloud Standards for e-science and Beyond http://www.sienainitiative.eu/repository/filescaricati/8ee3587a-f255-4e5c-aed4-9c2dc7b626f6.pdf Les Clouds: Buzzword ou révolution technologique http://www.slideshare.net/desprez/les-clouds-buzzword-ou-rvolution-technologique-8238203