Les Clouds: Buzzword ou révolution technologiqueFrédéric Desprez, Adrian MuresanLIP ENS Lyon/INRIA Grenoble Rhône-AlpesEPI...
Hype ! <br />
Agenda<br /><ul><li>Introduction
Cloud Computing: modes d’utilisation et exemples
Programmer les Clouds
Sécurité et pannes
Performances
Problèmes de recherche
Conclusion</li></li></ul><li>introduction<br />
Introduction<br /><ul><li>Il est moins coûteux de louer de la capacité de calcul et de stockage que de monter un centre de...
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
“Wewillprobablysee the spread of computer utilities, which, likepresentelectric and telephone utilities, will service indi...
Les grilles<br />Qu’est-cequ’une grille ?<br />« A fully distributed, dynamically reconfigurable, scalable and autonomous ...
Qu’est-ce que le Cloud Computing ?<br />Un paradigme de calculdistribuéémergeantdanslequel les données et les services son...
 1980: Client-serveurs,
 1990: Web, grilles,
 2000: SOA,
 2010: Clouds	</li></ul>Credit: IBM Corp.<br />Cloud Computing<br />
Cloud Computing<br /><ul><li>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é. ...
« 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</li></li></ul><li>Google cluster 1997<br />
Google Data centers<br /><ul><li> 36 data centers contenant plus d’un million de serveurs
 40 serveurs/rack</li></li></ul><li>http://opencompute.org/<br />
The Million-Server Data Center<br />http://spectrum.ieee.org/tech-talk/semiconductors/devices/what-will-the-data-center-of...
Constat : Coût<br />Investissement<br />*Source :http://media.amazonwebservices.com/AWS_Cloud_Best_Practices.pdf<br />14<b...
Une vue à 10000 pieds<br />SLAs<br />Services web<br />Virtualisation<br />
Grilles vs Clouds<br /><ul><li>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</li></li></ul><li>Grid<br />Computing<br />Cloud<br />Computing<br />Salesforces.com<br />Grid‘5000<br...
Modes d’utilisation<br />
Cloud Computing: modes d’utilisation<br /><ul><li>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, …</li></li></ul><li>Infrastructure as a Service<br />Avoir accès à la ...
Virtualisation<br />Machines virtuelles s’exécutant sur un nœud de calcul<br />VM0<br />VM1<br />VM2<br />N0<br />Proposé ...
Virtualisation<br />Apache<br />web server<br />simulation<br />Propriétés<br /><ul><li> Isolement</li></ul>VM2<br />VM1<b...
Virtualisation<br />VM0<br />N0<br />Noeud de calcul<br />Propriétés<br /><ul><li> Isolement
 Portabilité</li></ul>Machine<br />virtuelle<br />Machine<br />virtuelle<br />VM0<br />N1<br />Noeud de calcul<br />Crédit...
Virtualisation<br />Propriétés<br /><ul><li>Isolement
Portabilité
 Suspend/restart (et migration ?)</li></ul>Machine<br />virtuelle<br />VM0<br />Crédits: T. Priol, INRIA<br />
Techno<br />App<br />App<br />App<br />App<br />App<br />App<br />SE<br />SE<br />SE<br />Systèmed’exploitation<br />Hyper...
Architecture logicielleIaaS<br />NIST DRAFT Cloud Computing Synopsis and Recommendations<br />
Amazon Web Services : Contexte<br />Site marchand amazon.com (1995)<br />Trafic fluctuant<br />Disponibilité<br />Analyse ...
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 …</li></ul>Credits: Fabien Bousquet, Kalistic<br />
AWS : géo localisation<br />: 5 régions<br />De 2 à 4 zones de disponibilité dans chaque région<br />Credits: Fabien Bousq...
AWS : Vue générale<br />*Source : http://media.amazonwebservices.com/AWS_Cloud_Best_Practices.pdf<br />Credits: Fabien Bou...
AWS : Mise en place<br />Inscription internet<br />Carte bancaire<br />Instantané<br />Console Web pour démarrer<br />Pas ...
Amazon Elastic Compute Cloud<br />A set of APIs and business models which give developer-level access to Amazon’s infrastr...
Autresoutils<br /><ul><li>Amazon Relational Database Service (Amazon RDS)
provides an easy way to setup, operate and scale a relational database in the cloud. You can launch a DB Instance and get ...
Amazon Simple Queue Service (Amazon SQS)
a reliable, highly scalable, hosted distributed queue for storing messages as they travel between computers and applicatio...
Amazon Simple Notifications Service (Amazon SNS)
provides a simple way to notify applications or people from the cloud by creating Topics and using a publish-subscribe pro...
Amazon Elastic MapReduce
provides a hosted Hadoop framework running on the web-scale infrastructure of Amazon Elastic Compute Cloud (Amazon EC2) an...
allows you to extend your corporate network into a private cloud contained within AWS. Amazon VPC uses IPSec tunnel mode t...
Amazon Route
a highly scalable DNS service that allows you manage your DNS records by creating a HostedZone for every domain you would ...
AWS Identity and Access Management (IAM)
enable you to create multiple Users with unique security credentials and manage the permissions for each of these Users wi...
Amazon Elastic Compute Cloud<br /><ul><li>Provides on-demand processing power
Virtual machine images (Amazon Machine Image, AMI)</li></ul>From $.10 per server hour<br /><ul><li> Virtual Compute Cloud
 Elastic Capacity
 1.7 GHz x86
 1.7 GB RAM
 160 GB Disk
 250 MB/Second Network
 Network Security Model</li></ul>Time or Traffic-based Scaling, Load testing, Simulation and Analysis, Rendering, Software...
Amazon EC2 Concepts<br />Amazon Machine Image (AMI)<br />Bootable root disk<br />Pre-defined or user-built<br />Catalog of...
Types d’instances<br />http://aws.amazon.com/fr/ec2/instance-types/<br />High-Memory Extra Large Instance<br />17.1 Go de ...
Types d’instances, suite <br />http://aws.amazon.com/fr/ec2/instance-types/<br />Quadruple Extra Large Instance Grappe de ...
Amazon Simple Queue Service<br />Efficient, reliable load distribution layer<br />Pay by the message<br /><ul><li> Scalabl...
 Elastic Capacity
 Reliable, Simple, Secure</li></ul>Inter-process messaging, data buffering, architecture component <br />$.10 per 1000 mes...
EC2: Stockage<br />Instance store<br />Copie de l’AMI / disque de boot<br />Limité à 10 GB<br />Instance EC2<br />Mount<br...
Amazon Simple Storage Service<br />$.01 for 1000 to 10000 requests<br />Virtually infinite storage capacity<br />Provides ...
 1 B – 5 GB / object
 Fast, Reliable, Scalable
 Redundant, Dispersed
 99.99% Availability Goal
 Private or Public
 Per-object URLs & ACLs
 BitTorrent Support</li></ul>$.15 per GB per month<br />storage<br />$.10 - $.18 per GB data transfer<br />
Amazon S3 Concepts<br />Objects<br />Opaque data to be stored (1 byte … 5 Gigabytes)<br />Authentication and access contro...
Amazon S3 Concepts, cont<br />Stockage. 3 actions :<br />Ecrire<br />Lire<br />Supprimer<br />Buckets : Dossiers / fichier...
Vuegénérale<br />S3<br />EC2<br />Region<br />bucket<br />Zone<br />Instance EC2<br />EBS<br />API<br />Mount<br />S3<br /...
Combiençàcoûte ?<br />Palier gratuit<br />Dans le cadre du palier d’utilisation gratuite d’AWS, les nouveaux clients AWS p...
750 heures d’ElasticLoadBalancing plus 15 GO de traitement de données
10 GO de stockage Amazon Elastic Block Storage (EBS) plus 1 million d’E/S, 1 GO de stockage de copies instantanée, 10 000 ...
15 GO de bande passante entrante et 15 GO de bande passante sortante groupés parmi tous les services AWS </li></li></ul><l...
Combiençàcoûte, instances réservées<br />Paiement fixe à l’année et réduction tarif horaire.  <br />
Combiençàcoûte, instances spot<br /><ul><li>Permettent de faire une offre pour acheter de la capacité Amazon EC2 non utili...
Facturées au prix spot défini par Amazon EC2, qui fluctue de manière périodique en fonction de l’offre et de la demande po...
Pour utiliser les instances spot, on fait une demande en spécifiant
le type d’instance, la région souhaitée,
le nombre d’instances qu’on veut exécuter
le prix maximum qu’on est disposé à payer par heure d’instance.
Upcoming SlideShare
Loading in...5
×

Les Clouds: Buzzword ou révolution technologique

2,544
-1

Published on

Ecole d'été RESCOM - 06/06/11

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,544
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • - does not support OCCI yet
  • Kate’s notes:A picture of the architecture – things to emphasize is that it is highly configurable and easy to extend – e.g. last summer we got a community contribution of the backfil/spot scheduler.I typically just discuss workspace layers and then say that Cumulus is organized in a similar way. From top, by layer:Interfaces – right now three types supported we’d love to support OCCIAnd it would be easy to do because we have this workspace API layer that makes it easy to “add on” other interfacesThe RM layer – default is the workspace scheduler (we implemented it), spot pricing adds spot pricing functionality, workspace pilot enables workspace service to work with a batch scheduler such as SGE or Torque. But you can configure workspace service with any of these schedulers – or write your own. Workspace Control Protocol allows any scheduler to interact with workspace control program that carries out its commands on the “worker nodes”The workspace control program is itself configurable – you can have different virtualization flavors, different ways of distributing images to nodes, networking options, etc. – there are many plugins
  • - supported Hypervisors: Xen, KVM, VMware
  • - the 2008 releas was a beta - supported JVM languages: Groovy, JRuby, Scala, Clojure, Jython and PHP - the Datastore is non-relational and uses an SQL-like syntax called GQL
  • - AppScale (2010) - developed and is maintained by the RACELab at UC Santa Barbara
  • 90
  • - large oscillations in the last quarter of the year probably due to increasing number of customers of the platform
  • Still difficult to conduct a conclusive comparison experiment =&gt; have to make some form of compromise.For IaaS clouds: the smallest VM type was used.
  • - seving a small static file
  • - serving a larger static file - across severla months
  • - compute 1.000.000 operations - Salesforce is limited in the number of operations and did only 100.000 operations and that’s why it’s so good
  • - the test is searching for a string in a storage system - the spike is caused by switching from sequential tests to parallel tests which affected all IaaS providers, except for Rackspace - PaaS clouds did well because they have optimized shared storage models for large data sets
  • - works with oriented graphs - written in C++, has a C++ API
  • - vertexes are identical entities, the code that they execute behaves differently because of the value that they hold (each vertex can be a state machine) - written in C++, has a C++ API
  • In each superstep - a vertex runs a compute() function - a vertex can access all the messages it was sent from the previous step - a vertex can send messages to its neighbours (will be reveived in the next superstep)The global sync step - transfers messages from the previous superstep to the recipientsDeactivation - a vertex explicitly deactivates itself when it has no more work to do - it can be reactivated externally - vertexes that become inactive are not run in the next superstep - computation finishes when all the vertexes are inactive and there are no messages in transitCombiners can be used to combine messages that are sent to the same vertex.Aggregators can be used for global process statistics.
  • - top-right is the binary tree which is about 50x times larger as a number of vertexes - bottom left is the random graph with mean out degree 127.1 for each vertex (approx 127 billion edges in the largest case)
  • Les Clouds: Buzzword ou révolution technologique

    1. 1. Les Clouds: Buzzword ou révolution technologiqueFrédéric Desprez, Adrian MuresanLIP ENS Lyon/INRIA Grenoble Rhône-AlpesEPI GRAAL/Avalon<br />06/06/2010<br />
    2. 2. Hype ! <br />
    3. 3. Agenda<br /><ul><li>Introduction
    4. 4. Cloud Computing: modes d’utilisation et exemples
    5. 5. Programmer les Clouds
    6. 6. Sécurité et pannes
    7. 7. Performances
    8. 8. Problèmes de recherche
    9. 9. Conclusion</li></li></ul><li>introduction<br />
    10. 10. Introduction<br /><ul><li>Il est moins coûteux de louer de la capacité de calcul et de stockage que de monter un centre de calcul
    11. 11. La transparence d’utilisation des grandes plates-formes distribuées est primordiale
    12. 12. Pouvoir gérer ces ressources de manière dynamique et élastique!
    13. 13. Un long historique du calcul distribué à plus ou moins grande échelle
    14. 14. Des supercalculateurs et grappes aux Clouds en passant par les grilles
    15. 15. Des besoins applicatifs de plus en plus importants et variés
    16. 16. Explosion du nombre et du volume de données
    17. 17. Utility computing
    18. 18. “Wewillprobablysee the spread of computer utilities, which, likepresentelectric and telephone utilities, will service individual homes and offices across the country”Professeur John McCarthy, 1961 !!!</li></li></ul><li>Introduction<br />Les grilles font-elles déjà parties du “passé” ?<br />Des plates-formes de recherche et de production disponibles<br />Des technologies logicielles (relativement) matures<br />Grand nombred’applicationsportées<br />Attractivité des Clouds côtérecherche et industrie<br />Il est moins coûteux de louer ou d’acheter de l’électricité que de construire, gérer et maintenir une station de production! <br />Systèmes distribués !<br />
    19. 19. Les grilles<br />Qu’est-cequ’une grille ?<br />« A fully distributed, dynamically reconfigurable, scalable and autonomous infrastructure to provide location independent, pervasive, reliable, secure and efficient access to a coordinated set of services encapsulating and virtualizing resources (computing power, storage, instruments, data, etc.) in order to generate knowledge ... » d’après le CoreGRIDNoE<br />
    20. 20. Qu’est-ce que le Cloud Computing ?<br />Un paradigme de calculdistribuéémergeantdanslequel les données et les services sontdisponiblesdans des data centers extensibles et peuventêtreaccédés de manièretransparentedepuis des appareils (ordinateurs, téléphones, grappes, …) connectés par Internet<br />5ème génération d’architectures<br /><ul><li> 1970: Mainframes,
    21. 21. 1980: Client-serveurs,
    22. 22. 1990: Web, grilles,
    23. 23. 2000: SOA,
    24. 24. 2010: Clouds </li></ul>Credit: IBM Corp.<br />Cloud Computing<br />
    25. 25. Cloud Computing<br /><ul><li>Né de
    26. 26. La profusion de ressources (data centers)
    27. 27. Une technologie de virtualisation mature et des communications à haut débit
    28. 28. Quelques caractéristiques
    29. 29. Libre service à la demande
    30. 30. Le consommateur récupère des ressources de calcul et de stockage à la demande (machines virtuelles)
    31. 31. Accès réseau
    32. 32. Ressources, briques logicielles et applications disponibles à travers le réseau pour des clients de tailles différentes
    33. 33. Mise en commun de ressources
    34. 34. 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.
    35. 35. « Elasticité » réactive et rapide
    36. 36. Croissance ou décroissance dynamique du nombre de ressources en fonction de la demande et des besoins. Extensibilité !
    37. 37. Service mesuré et facturation à l’usage
    38. 38. Reporting de l’utilisation des ressources
    39. 39. Résilience
    40. 40. Continuité du service</li></li></ul><li>Google cluster 1997<br />
    41. 41. Google Data centers<br /><ul><li> 36 data centers contenant plus d’un million de serveurs
    42. 42. 40 serveurs/rack</li></li></ul><li>http://opencompute.org/<br />
    43. 43. The Million-Server Data Center<br />http://spectrum.ieee.org/tech-talk/semiconductors/devices/what-will-the-data-center-of-the-future-look-like<br />
    44. 44. Constat : Coût<br />Investissement<br />*Source :http://media.amazonwebservices.com/AWS_Cloud_Best_Practices.pdf<br />14<br />
    45. 45. Une vue à 10000 pieds<br />SLAs<br />Services web<br />Virtualisation<br />
    46. 46. Grilles vs Clouds<br /><ul><li>Une vision partagée
    47. 47. simplifier l’accès aux ressources distantes de la manière la plus transparente possible
    48. 48. Technologie différente
    49. 49. Grappes et batchs vs datacenters et virtualisation
    50. 50. Gestion de ressources
    51. 51. Statique vs dynamique
    52. 52. Modèle de programmation
    53. 53. MPI/GridRPC vs MapReduce/scripts/workflows
    54. 54. Modèle de sécurité
    55. 55. Certificats vs Web + SSL
    56. 56. Des domaines applicatifs différents (pour l’instant!)
    57. 57. HPC/HTC vs Business</li></li></ul><li>Grid<br />Computing<br />Cloud<br />Computing<br />Salesforces.com<br />Grid‘5000<br />Infrastructure<br />IaaS<br />Cloud<br />Computing<br />Amazon EC2/S3<br />Eucalyptus IaaS<br />Open Source<br />Nimbus IaaS<br />Open Source<br />OpenNebulaIaaS<br />Open Source<br />FP7 Reservoir<br />Sun <br />Open Cloud<br />Microsoft<br />Azure<br />IBM <br />Blue Cloud<br />HP Flexible<br />ComputingServices<br />FutureGrid<br />Le calculcomme un service : un historique<br />1998<br />1999<br />2003<br />2006<br />2008<br />2009<br />2007<br />2005<br />2011<br />2010<br />Crédits: T. Priol, INRIA<br />
    58. 58. Modes d’utilisation<br />
    59. 59. Cloud Computing: modes d’utilisation<br /><ul><li>Infrastructure as a Service (IaaS)
    60. 60. Le matériel est fourni sous forme de machines virtuelles sur lesquelles on installe son image disque
    61. 61. Amazon EC2, Rackspace, GoGRID, Orange, …
    62. 62. Platform as a Service (PaaS)
    63. 63. On peut développer ses propres applications en utilisant les services fournis
    64. 64. Google Apps, Windows Azure, Amazon S3, IBM CloudBurst et Websphere, …
    65. 65. Software as a Service (SaaS)
    66. 66. Des applications entières sont disponibles à distance
    67. 67. Gmail, Googledocs, Facebook, Orange, IBM LotusLive, …</li></li></ul><li>Infrastructure as a Service<br />Avoir accès à la demande à un grand nombre de ressources virtualisées<br />Dynamicité, élasticité<br />Paiement à la consommation<br />Concept de virtualisation<br />Le système d’exploitation n’est plus central et est un logiciel comme un autre !<br />Le concept de machines virtuelles consiste à recevoir des instances de systèmes. <br />Les ressources physiques sont partagées par plusieurs machines virtuelles<br />Exemples<br />Amazon EC2, RightScale, GoGrid, Orange Open Cloud, …<br />
    68. 68. Virtualisation<br />Machines virtuelles s’exécutant sur un nœud de calcul<br />VM0<br />VM1<br />VM2<br />N0<br />Proposé par IBM dans les années 60<br />“Virtual Machines have finallyarrived. Dismissed for a number of years as merelyacademiccuriosities, they are nowseen as cost-effective techniques for organizing computer systemsresources to provideextraordinary system flexibility and support for certain unique applications”.<br />Goldberg, Survey of Virtual Machine Research, 1974<br />Nœud de calcul<br />Crédits: T. Priol, INRIA<br />
    69. 69. Virtualisation<br />Apache<br />web server<br />simulation<br />Propriétés<br /><ul><li> Isolement</li></ul>VM2<br />VM1<br />?<br />Machine<br />virtuelle<br />Machine<br />virtuelle<br />Crédits: T. Priol, INRIA<br />
    70. 70. Virtualisation<br />VM0<br />N0<br />Noeud de calcul<br />Propriétés<br /><ul><li> Isolement
    71. 71. Portabilité</li></ul>Machine<br />virtuelle<br />Machine<br />virtuelle<br />VM0<br />N1<br />Noeud de calcul<br />Crédits: T. Priol, INRIA<br />
    72. 72. Virtualisation<br />Propriétés<br /><ul><li>Isolement
    73. 73. Portabilité
    74. 74. Suspend/restart (et migration ?)</li></ul>Machine<br />virtuelle<br />VM0<br />Crédits: T. Priol, INRIA<br />
    75. 75. Techno<br />App<br />App<br />App<br />App<br />App<br />App<br />SE<br />SE<br />SE<br />Systèmed’exploitation<br />Hyperviseur<br />Matériel<br />Matériel<br />Pile virtualisée<br />Pile traditionnelle<br />
    76. 76. Architecture logicielleIaaS<br />NIST DRAFT Cloud Computing Synopsis and Recommendations<br />
    77. 77. Amazon Web Services : Contexte<br />Site marchand amazon.com (1995)<br />Trafic fluctuant<br />Disponibilité<br />Analyse de données<br />Gestion de stock<br />Large catalogue<br />International : latence (réplication géographique) => CDN<br />2006<br /><ul><li>La référence IaaS => PaaS
    78. 78. On ne paye que ce qu’on utilise
    79. 79. Plus de 20 produits
    80. 80. Datacenters sur 5 régions géographiques
    81. 81. Des nouveautés régulièrement
    82. 82. Références : Dropbox, Slideshare, Netflix, Zinga …</li></ul>Credits: Fabien Bousquet, Kalistic<br />
    83. 83. AWS : géo localisation<br />: 5 régions<br />De 2 à 4 zones de disponibilité dans chaque région<br />Credits: Fabien Bousquet, Kalistic<br />
    84. 84. AWS : Vue générale<br />*Source : http://media.amazonwebservices.com/AWS_Cloud_Best_Practices.pdf<br />Credits: Fabien Bousquet, Kalistic<br />
    85. 85. AWS : Mise en place<br />Inscription internet<br />Carte bancaire<br />Instantané<br />Console Web pour démarrer<br />Pas d’attente de mise en place<br />Pas de coût d’installation<br />Système ouvert / automatisable :<br />Outil<br />SDK<br />API<br />Credits: Fabien Bousquet, Kalistic<br />
    86. 86. Amazon Elastic Compute Cloud<br />A set of APIs and business models which give developer-level access to Amazon’s infrastructure and content:<br />Search As A Service<br />Alexa Web Information Service<br />Alexa Top Sites<br />Alexa Site Thumbnail<br />Alexa Web Search Platform<br />Data As A Service<br />Amazon E-Commerce Service<br />Amazon Historical Pricing<br />Infrastructure As A Service<br />Amazon Simple Queue Service<br />Amazon Simple Storage Service<br />Amazon Elastic Compute Cloud<br />Other tools<br />BD : RDS, SimpleDB<br />Messaging : SNS, SQS, SES<br />Stockage : EBS, AWS Import/Export<br />CDN : CloudFront »<br />« Calcul » : MapReduce<br />Déploiement/Gestion : Beanstalk, CloudFormation<br />Surveillance : CloudWatch<br />Réseaux : Route 53, VPC<br />People As A Service<br />Amazon Mechanical Trunk<br />Credits: Jeff Barr, Amazon<br />
    87. 87. Autresoutils<br /><ul><li>Amazon Relational Database Service (Amazon RDS)
    88. 88. provides an easy way to setup, operate and scale a relational database in the cloud. You can launch a DB Instance and get access to a full-featured MySQL database and not worry about common database administration tasks like backups, patch management etc.
    89. 89. Amazon Simple Queue Service (Amazon SQS)
    90. 90. a reliable, highly scalable, hosted distributed queue for storing messages as they travel between computers and application components.
    91. 91. Amazon Simple Notifications Service (Amazon SNS)
    92. 92. provides a simple way to notify applications or people from the cloud by creating Topics and using a publish-subscribe protocol.
    93. 93. Amazon Elastic MapReduce
    94. 94. provides a hosted Hadoop framework running on the web-scale infrastructure of Amazon Elastic Compute Cloud (Amazon EC2) and Amazon Simple Storage Service (Amazon S3) and allows you to create customized JobFlows. JobFlow is a sequence of MapReduce steps.</li></li></ul><li>Autresoutils, cont<br /><ul><li>Amazon Virtual Private Cloud (Amazon VPC)
    95. 95. allows you to extend your corporate network into a private cloud contained within AWS. Amazon VPC uses IPSec tunnel mode that enables you to create a secure connection between a gateway in your data center and a gateway in AWS.
    96. 96. Amazon Route
    97. 97. a highly scalable DNS service that allows you manage your DNS records by creating a HostedZone for every domain you would like to manage.
    98. 98. AWS Identity and Access Management (IAM)
    99. 99. enable you to create multiple Users with unique security credentials and manage the permissions for each of these Users within your AWS Account. IAM is natively integrated into AWS Services. No service APIs have changed to support IAM, and exiting applications and tools built on top of the AWS service APIs will continue to work when using IAM.</li></li></ul><li>Amazon Web Services<br />Elastic Compute<br />Cloud (EC2)<br />Calculer<br />Simple Storage <br />Service (S3)<br />Simple Queue<br />Service (SQS)<br />Stocker<br />Echanger<br />Credits: Jeff Barr, Amazon<br />
    100. 100. Amazon Elastic Compute Cloud<br /><ul><li>Provides on-demand processing power
    101. 101. Virtual machine images (Amazon Machine Image, AMI)</li></ul>From $.10 per server hour<br /><ul><li> Virtual Compute Cloud
    102. 102. Elastic Capacity
    103. 103. 1.7 GHz x86
    104. 104. 1.7 GB RAM
    105. 105. 160 GB Disk
    106. 106. 250 MB/Second Network
    107. 107. Network Security Model</li></ul>Time or Traffic-based Scaling, Load testing, Simulation and Analysis, Rendering, Software as a Service Platform, Hosting<br />$.10 - $.18 per GB data transfer<br />
    108. 108. Amazon EC2 Concepts<br />Amazon Machine Image (AMI)<br />Bootable root disk<br />Pre-defined or user-built<br />Catalog of user-built AMIs<br />OS: Fedora, Centos, Gentoo, Debian, Ubuntu, Windows Server<br />App Stack: LAMP, mpiBLAST, Hadoop<br />Limited to 10 GB<br />Instance<br />Running copy of an AMI<br />Launch in less than 2 minutes<br />Start/stop programmatically<br />Network Security Model<br />Explicit access control<br />Security groups<br />Inter-service bandwidth is free<br />
    109. 109. Types d’instances<br />http://aws.amazon.com/fr/ec2/instance-types/<br />High-Memory Extra Large Instance<br />17.1 Go de Mémoire6.5 EC2 ComputeUnits (2 virtualcores avec chacun 3.25 EC2 ComputeUnits)420 Go de stockage d’instancePlateforme 64-bitPerformance I/O: Modérée<br />High-Memory Double Extra Large Instance<br />34.2 Go de Mémoire13 EC2 ComputeUnits (4 virtualcores avec chacun 3.25 EC2 ComputeUnits)850 Go de stockage d’instancePlateforme 64-bitPerformance I/O: Elevée<br />High-Memory Quadruple Extra Large Instance<br />68.4 Go de Mémoire26 EC2 ComputeUnits (8 virtualcores avec chacun 3.25 EC2 ComputeUnits)1690 Go de stockage d’instancePlateforme 64-bitPerformance I/O: Elevée<br />Applications à grand trafic, notamment les bases de données et les applications de mise en mémoire cache<br />Petites Instances – défaut<br />1.7 Go de Mémoire1 EC2 Compute Unit (1 virtualcore avec 1 EC2 Compute Unit)160 Go de stockage d’instancePlateforme 32-bitPerformance I/O: Modérée<br />Large Instance<br />7.5 Go de Mémoire 4 EC2 ComputeUnits (2 virtualcores avec chacun 2 EC2 ComputeUnits)850 Go de stockage d’instancePlateforme 64-bitPerformance I/O: Elevée<br />Extra Large Instance<br />15 Go de Mémoire8 EC2 ComputeUnits (4 virtualcores avec chacun 2 EC2 ComputeUnits)1,690 Go de stockage d’instancePlateforme 64-bitPerformance I/O: Elevée<br />
    110. 110. Types d’instances, suite <br />http://aws.amazon.com/fr/ec2/instance-types/<br />Quadruple Extra Large Instance Grappe de Calcul<br />23 Go de Mémoire33.5 EC2 ComputeUnits (2 x Intel Xeon X5570, quad-core architecture “Nehalem”)1690 Go de stockage d’instancePlateforme 64-bitPerformance I/O: Très Elevée (10 Gigabit Ethernet)Nom API: cc1.4xlarge<br />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.<br />High-CPU Medium Instance<br />1.7 Go de Mémoire5 EC2 ComputeUnits (2 virtualcores avec chacun 2.5 EC2 ComputeUnits)350 Go de stockage d’instancePlateforme 32-bitPerformance I/O: ModéréeNom API: c1.medium<br />High-CPU Extra Large Instance<br />7 Go de Mémoire20 EC2 ComputeUnits (8 virtualcores avec chacun 2.5 EC2 ComputeUnits)1690 Go de stockage d’instancePlateforme 64-bitPerformance I/O: ElevéeNom API: c1.xlarge<br />
    111. 111. Amazon Simple Queue Service<br />Efficient, reliable load distribution layer<br />Pay by the message<br /><ul><li> Scalable Queuing
    112. 112. Elastic Capacity
    113. 113. Reliable, Simple, Secure</li></ul>Inter-process messaging, data buffering, architecture component <br />$.10 per 1000 messages<br />$.10 - $.18 per GB data transfer<br />
    114. 114. EC2: Stockage<br />Instance store<br />Copie de l’AMI / disque de boot<br />Limité à 10 GB<br />Instance EC2<br />Mount<br />Disque lié à l’instance sans coût additionnel<br />Nombre et taille variable en fonction du type d’instance<br />Ephemeraldisk<br />EBS<br />Non lié au cycle de vie de l’instance<br />Nombre et taille libres<br />S3<br />Copie d’un EBS à un instant T<br />Stocké sur S3<br />SNAPSHOT<br /> Accès via API<br />Données non persistantes => Données perdues si machine arrêtée (« terminate ») ou machine plantée<br />Données persistantes => Données non liées au cycle de vie de l’instance<br />Credits: Fabien Bousquet, Kalistic<br />
    115. 115. Amazon Simple Storage Service<br />$.01 for 1000 to 10000 requests<br />Virtually infinite storage capacity<br />Provides permanence layer when EC2 nodes are not running<br /><ul><li> Object-Based Storage
    116. 116. 1 B – 5 GB / object
    117. 117. Fast, Reliable, Scalable
    118. 118. Redundant, Dispersed
    119. 119. 99.99% Availability Goal
    120. 120. Private or Public
    121. 121. Per-object URLs & ACLs
    122. 122. BitTorrent Support</li></ul>$.15 per GB per month<br />storage<br />$.10 - $.18 per GB data transfer<br />
    123. 123. Amazon S3 Concepts<br />Objects<br />Opaque data to be stored (1 byte … 5 Gigabytes)<br />Authentication and access controls<br />Buckets<br />Object container – any number of objects<br />100 buckets per account / buckets are “owned”<br />Keys<br />Unique object identifier within bucket<br />Up to 1024 bytes long<br />Flat object storage model<br />Standards-Based Interfaces<br />REST and SOAP<br />URL-Addressability – every object has a URL<br />Credits: Jeff Barr, Amazon<br />
    124. 124. Amazon S3 Concepts, cont<br />Stockage. 3 actions :<br />Ecrire<br />Lire<br />Supprimer<br />Buckets : Dossiers / fichiers<br />Contrôle de version et droit d’accès<br />Accès via API<br />Plusieurs régions géographiques => Latence, disponibilité<br />Credits: Fabien Bousquet, Kalistic<br />
    125. 125. Vuegénérale<br />S3<br />EC2<br />Region<br />bucket<br />Zone<br />Instance EC2<br />EBS<br />API<br />Mount<br />S3<br />Security Group<br />Start with<br />Do snapshot<br />SNAPSHOT<br />API<br />AMI<br />AMI<br />Web<br />Credits: Fabien Bousquet, Kalistic<br />
    126. 126. Combiençàcoûte ?<br />Palier gratuit<br />Dans le cadre du palier d’utilisation gratuite d’AWS, les nouveaux clients AWS peuvent démarrer avec Amazon EC2 gratuitement. <br />À l’inscription, les nouveaux clients AWS reçoivent les services EC2 suivants chaque mois pendant un an : <br /><ul><li>750 heures d’EC2 exécutant l’utilisation d’instance Linux/Unix Micro
    127. 127. 750 heures d’ElasticLoadBalancing plus 15 GO de traitement de données
    128. 128. 10 GO de stockage Amazon Elastic Block Storage (EBS) plus 1 million d’E/S, 1 GO de stockage de copies instantanée, 10 000 copies instantanées de demandes GET et 1000 copies instantanées de demandes Put
    129. 129. 15 GO de bande passante entrante et 15 GO de bande passante sortante groupés parmi tous les services AWS </li></li></ul><li>Combiençàcoûte, suite <br />Instances à la demande<br />
    130. 130. Combiençàcoûte, instances réservées<br />Paiement fixe à l’année et réduction tarif horaire. <br />
    131. 131. Combiençàcoûte, instances spot<br /><ul><li>Permettent de faire une offre pour acheter de la capacité Amazon EC2 non utilisée.
    132. 132. Facturées au prix spot défini par Amazon EC2, qui fluctue de manière périodique en fonction de l’offre et de la demande pour la capacité d’instance spot.
    133. 133. Pour utiliser les instances spot, on fait une demande en spécifiant
    134. 134. le type d’instance, la région souhaitée,
    135. 135. le nombre d’instances qu’on veut exécuter
    136. 136. le prix maximum qu’on est disposé à payer par heure d’instance.
    137. 137. Afin de comparer ce prix maximum aux prix spot antérieurs, l’historique des prix spot est disponible via l’API d’Amazon EC2 et AWS Management Console.
    138. 138. Si l’offre de prix maximum dépasse le prix spot actuel, la demande est satisfaite et les instances seront exécutées jusqu’à ce que vous choisissiez de les terminer ou jusqu’à ce que le prix spot passe au-dessus de votre prix maximum.</li></li></ul><li>Combiençàcoûte, instances spot<br />
    139. 139. Combiençàcoûte, instances spot<br />http://www.spothistory.com/<br />
    140. 140. Des clouds open source<br />Nimbus (Freeman and Keahey, University of Chicago)<br /><ul><li>Client-side cloud-computing interface to Globus-enabled TeraPort cluster at University of Chicago
    141. 141. Based on GT4 and the Globus Virtual Workspace Service</li></ul>Great if local resources are GT4 proficient<br />Tutorials and documentation in “grid space”<br />Eucalyptus (Wolsky, University of Santa Barbara)<br /><ul><li>Web services based implementation of elastic/utility/cloud computing infrastructure
    142. 142. Linux image hosting (IaaS)</li></ul>Open Nebula (Montero & Llorente, DSA-Researchat UCM)<br /><ul><li>Support for the Xen, KVM and VMwarevirtualizationplatforms
    143. 143. Access to Amazon EC2 and ElasticHostsclouds
    144. 144. libvirt, EC2 Query API and OGC OCCI interfaces</li></li></ul><li>Eucalyptus (Univ. Santa Barbara)<br />Elastic Utility Computing Architecture Linking Your Programs To Useful Systems<br />Web services based implementation of elastic/utility/cloud computing infrastructure<br />Linux image hosting (IaaS)<br />How do we know if it is a cloud?<br />Try and emulate an existing cloud: EC2 + S3<br />Works with command-line tools from Amazon w/o modification<br />Enables leverage of emerging EC2 value-added service venues (e.g. Rightscale)<br />Functions as a software overlay<br />Existing installation should not be violated (too much)<br />“easy” to install<br />“System Administrators are people too.”<br />Credit: R. Wolsky.<br />
    145. 145. Challenges<br />Extensibility<br />Simple architecture and open internal APIs<br />Client-side interface<br />Amazon’s EC2 interface and functionality (familiar and testable)<br />Networking<br />Virtual private network per cloud<br />Must function as an overlay => cannot supplant local networking<br />Security<br />Must be compatible with local security policies<br />Packaging, installation, maintenance<br />system administration staff is an important constituency for uptake<br />Credit: R. Wolsky.<br />
    146. 146. Eucalyptus Architecture: WS-Cloud<br />Amazon EC2 Interface<br />Client-side API<br />Translator<br />Walrus (S3)<br />Cloud Controller<br />Database<br />Cluster Controller<br />Node Controller<br />RHEV-M<br />ESXi<br />vSphere<br />ESX<br />Storage Controller<br />Credit: R. Wolsky.<br />
    147. 147. Nimbus (Universityof Chicago)<br />„Cloud computing for science”<br />Implementation goals<br /><ul><li>Extensible
    148. 148. Customizable
    149. 149. Open-source</li></ul>Nimbus Interfaces<br /><ul><li>Workspace Service – VM management
    150. 150. Cumulus – storage service</li></ul>http://www.nimbusproject.org/<br />
    151. 151. Nimbus<br />Virtual Workspace Service (VWS)<br /><ul><li>Publishes information about each workspace
    152. 152. Essentially a site VM manager
    153. 153. Interfaces are built on top of it: EC2 (SOAP, Query), WSRF
    154. 154. Can be configured to work with schedulers such as PBS</li></ul>Context broker<br /><ul><li>Service for automatic large-scale virtual cluster deployment</li></ul>Cumulus<br /><ul><li>Storage service
    155. 155. Based evolved from GridFTP
    156. 156. Implements Amazon’s S3 interface</li></ul>http://www.nimbusproject.org/<br />
    157. 157. Nimbus architecture<br />* Source: http://www.nimbusproject.org/files/keahey_CloudComp2010.pdf<br />
    158. 158. OpenNebula (DSA-ResearchatUCM)<br />Released in 2008<br />IaaS hosting on Linux clusters for private, public or hybrid Cloud<br />Open, flexible and extensible architecture<br /><ul><li>The default components are easy to replace</li></ul>Interfaces<br /><ul><li>OCCI
    159. 159. EC2
    160. 160. vCloud</li></li></ul><li>OpenNebula architecture<br /><ul><li> Executes the OpenNebula Services
    161. 161. Usually acts as a classical cluster front-end
    162. 162. Repository of VM images
    163. 163. Multiple backends (LVM, iSCSI..)
    164. 164. Usually in a separate host
    165. 165. Modular components to interact with the cluster services
    166. 166. Types: storage, monitoring, virtualization and network </li></ul> The same host can be can be a the front-end and a node<br /><ul><li> Provides physical resources to VMs
    167. 167. Must have a hypervisor installed</li></ul>* Credits: Ruben S. Montero<br />
    168. 168. OpenStack<br />http://www.openstack.org/<br />
    169. 169. Platform as a Service (PaaS)<br /><ul><li>Un ensemble d’outils (langages + support d’exécution) pour développer, déployer et gérer des applications
    170. 170. 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.
    171. 171. Mais contrôle de l’application et de la configuration de son environnement
    172. 172. ExemplesMicrosoft Azure, Force.com, Google AppEngine,IBM Cloudburst etWebsphere</li></li></ul><li>Microsoft Azure platform<br />Announced 2008<br />Released 2010<br />What does it offer?<br /><ul><li>PaaS
    173. 173. Datacenters on 3 continents (2 regions each)
    174. 174. Pay as you go
    175. 175. No installation cost
    176. 176. Management through an onlineconsole
    177. 177. Integration with Microsoft Visual Studio
    178. 178. .NET interface</li></li></ul><li>Microsoft Azure platform<br />Applications and Data<br />Windows Azure AppFabric<br />SQL Azure<br />Windows Azure Marketplace<br />Windows Azure<br />* source: http://lancord.com/images/pdf/2_WP.pdf<br />
    179. 179. Application and Data<br />Windows Azure<br />Windows OS for running applications on Microsoft datacenters<br />CDN<br />Connect<br />Storage<br />Compute<br />Fabric Controller<br />* source: http://lancord.com/images/pdf/2_WP.pdf<br />
    180. 180. Windows Azure<br />Compute<br /><ul><li>Runs applications on a Windows Server foundation
    181. 181. .NET applications (C#, Visual Basic, ...)
    182. 182. Non .NET applications (C++, Java, ...)</li></ul>Storage<br /><ul><li>Non-relational storage
    183. 183. Binary large objects (blobs)
    184. 184. Queue service</li></ul>Fabric controller<br /><ul><li>The Azure platform manager</li></ul>Content delivery network (CDN)<br /><ul><li>Cache frequently-used data close to the users</li></ul>Connect<br /><ul><li>Connecting accross public/private networks</li></li></ul><li>SQL Azure<br />SQL Azure Database<br /><ul><li>Relational DBMS
    185. 185. Pay per use</li></ul>SQL Azure reporting<br /><ul><li>Reporting service in the cloud
    186. 186. Works with SQL Azure Database</li></ul>SQL Azure Data Sync<br /><ul><li>Synchronizing data between on-premise SQL server installations and SQL Azure Database</li></li></ul><li>Windows Azure AppFabric<br />Provides infrastructure services based on Windows Azure<br />Service Bus<br /><ul><li>Used for exposing cloud service endpoints
    187. 187. Can automatically handle NAT and tunneling through firewalls</li></ul>Access Control<br /><ul><li>Digital identity manager
    188. 188. Includes: Active Directory, Windows Live ID, Google Accounts, Facebook, ...</li></ul>Caching<br /><ul><li>Caching service for Windows Azure applications</li></li></ul><li>Windows Azure Marketplace<br />DataMarket<br /><ul><li>A dataset market
    189. 189. For custom or off-the-shelf datasets</li></ul>AppMarket<br /><ul><li>Marketplace for Azure cloud applications
    190. 190. Will be available after the DataMarket</li></li></ul><li>Google AppEngine<br />Released in 2008<br />PaaS<br /><ul><li>Must use supported languages
    191. 191. Python, Java, Go, JVM languages
    192. 192. Must use the platform’s APIs
    193. 193. Automatic scaling & load balancing</li></ul>Services for<br /><ul><li>Data storage – non-relational, scalable Datastore (on top of Bigtable)
    194. 194. Authentication – Google accounts
    195. 195. Sending emails
    196. 196. Caching – Memcache
    197. 197. URL fetch
    198. 198. Image manipulation</li></li></ul><li>Google AppEngine architecture<br />req/resp<br />stateless APIs<br />R/O FS<br />Python/Java runtime<br />stdlib<br />urlfech<br />mail<br />app<br />images<br />Datastore<br />stateful<br />APIs<br />memcache<br />* Source: Guido van Rossum, Google AppEngine, Stanford EE380 Colloquium<br />
    199. 199. Google AppEngine<br />Platform’s hard limits<br /><ul><li>Time / request 30 sec
    200. 200. Blobstore size 2 GB / app
    201. 201. HTTP response size 32 MB
    202. 202. Datastore item size 1 MB
    203. 203. Application code size 150 MB</li></ul>... the rest starts free (limited) and continues pay-as-you-go<br /><ul><li>CPU hours
    204. 204. Bandwidth
    205. 205. Stored data
    206. 206. Recipients emails</li></ul>AppScale<br /><ul><li>Open Source framework for running Google AppEngine applications
    207. 207. Independent from Google</li></li></ul><li>Software as a Service (SaaS)<br /><ul><li>L’application elle-même est disponible à travers un navigateur
    208. 208. Pas de gestion de l’infrastructure sous-jacente (machines, réseaux, stockage, systèmes d’exploitation, …)
    209. 209. Exemples
    210. 210. Gmail, Google Apps, Salesforce.com, Orange, IBM LotusLive</li></li></ul><li>Bull <br />Gestion des projets<br />Applicationsde simulation numérique commerciales / open source<br />Gestion des données<br />Gestion destravaux<br />Portail<br />Visualisation 2D / 3D<br />Sécurité<br />Middleware HPC : schedulers, file systems en cluster, librairies parallèles mathematiques , compilateurs, visualisation à distance<br />Utilisateurs<br />
    211. 211. Architecture de la solution ExtremeFactory<br />SOA / Web Services based HPC Portal<br />Users &Authent.<br />Clients &Projects<br />DataMgmt<br />Visualisation<br />ApplicationMgmt<br />JobMgmt<br />AccountingBilling<br />AdminWorkflows<br />HPC middleware & APIs<br />Infrastructure<br />150 Tflops au 15 mai 2011<br />Datacenter F9/M50Bull - Les Clayes-sous-Bois (78) <br />
    212. 212. Le portail d’accès à la solution <br />
    213. 213. La gestion des travaux<br />
    214. 214. La gestion des données<br />
    215. 215. Informations détaillées sur les jobs<br />
    216. 216. Consultation des logs d’un job<br />
    217. 217. La gestion des sessions de visualisations<br />
    218. 218. Vos simulations visualisées à distance<br />
    219. 219. Applications disponibles<br />3 Editeurs commerciaux<br />Virtual Performance Solution by ESI<br />Powerflow by Exa<br />STAR-CCM+ by CD-adapco<br />D’autres en cours d’intégration…<br />2 Visualisation open source <br />ParaView<br />VISIT<br />10Codes open source<br /><ul><li>SCILAB
    220. 220. NAMD
    221. 221. AmberTools
    222. 222. BLAST
    223. 223. GROMACS
    224. 224. LAMMPS
    225. 225. FASTA
    226. 226. HMMER
    227. 227. GAMESS
    228. 228. OpenFOAM</li></li></ul><li>ChromeOS: le cloud comme SE<br />Lors de la conférence Google I/O, Google a officiellement présenté ChromeOS et les premiers modèles de PC, nommés Chromebook.<br /><ul><li>Netbookredesignés dédiés uniquement à ChromeOS.
    229. 229. Rien n'est installé sur la machine hormis ChromeOS et son navigateur. Tout est sur le nuage : applications, données, stockages.
    230. 230. Fini les applications à installer, plus de mise à jour, une sécurité améliorée, etc.
    231. 231. Le démarrage effectué en quelques secondes et le mode déconnecté sera géré par de plus en plus d'applications.
    232. 232. Besoin d'être connecté au web et aux services cloud (Wifi ou 3G)
    233. 233. Deux approches :
    234. 234. pour le grand public achat pur et simple du chromebook + forfait 3G par mois,
    235. 235. pour les entreprises, location de la machine (-30 dollars) par utilisateur et par mois, avec changement machine si elle est cassée et en cas de mise à jour !</li></li></ul><li>Modèles de déploiement<br /><ul><li>Cloud publique
    236. 236. Infrastructure (propriété du fournisseur) louée à n’importe qui
    237. 237. Cloud privé
    238. 238. Propriété d’une entreprise
    239. 239. interne ou externe
    240. 240. Cloud communautaire
    241. 241. Mise en commun de ressources pour une communauté d’utilisateurs
    242. 242. interne ou externe
    243. 243. Cloud hybride
    244. 244. Composition de plusieurs formes de Clouds, voir même de grilles
    245. 245. SkyComputing</li></li></ul><li>Qui contrôle quoi ?<br />Entreprise<br />Partageentreprise/fournisseur<br />Fournisseur<br />Hébergeur<br />Informatique<br />IaaS public<br />PaaS public<br />SaaS public<br />Données<br />Données<br />Données<br />Données<br />Données<br />Applications<br />Applications<br />Applications<br />Applications<br />Applications<br />Machines virtuelles<br />Machines virtuelles<br />Machines virtuelles<br />Machines virtuelles<br />Machines virtuelles<br />Serveur<br />Serveur<br />Serveur<br />Serveur<br />Serveur<br />Stockage<br />Stockage<br />Stockage<br />Stockage<br />Stockage<br />Réseau<br />Réseau<br />Réseau<br />Réseau<br />Réseau<br />Crédits: P. Saulière, Microsoft<br />
    246. 246. Sky computing<br />Permettre l’exécution d’applications à grande échelle sur des plates-formes multi-cloud<br />Expérience entre les USA et la France <br />Nimbus (gestion de ressources, contextualisation)/ViNe (connectivité)/Hadoop (distribution des tâches, tolérance aux pannes, dynamicité)<br />Plates-formes FutureGrid (3 sites) et Grid’5000 (3 sites)<br />Optimisation de la création et de la propagation de machines virtuelles<br />SD<br />Rennes<br />Grid’5000 firewall<br />Lille<br />UF<br />Application Distribuée<br />Application MapReduce<br />White-listed<br />Queue VR<br />Hadoop<br />Sophia<br />ViNe<br />UC<br />Logiciel IaaS<br />Logiciel IaaS<br />All-to-allconnectivity!<br />Crédits: Pierre Riteau (IRISA)<br />
    247. 247. PERFormances<br />
    248. 248. Performance considerations<br />Individual Clouds – resource acquisition latency over time<br /><ul><li>Amazon EC2 [IaaS]
    249. 249. Google AppEngine [PaaS]</li></ul>Comparison tests – caching, throughput, CPU, I/O<br /><ul><li>Amazon EC2 [IaaS]
    250. 250. Google AppEngine [PaaS]
    251. 251. Rackspace [IaaS]
    252. 252. Salesforce [PaaS]
    253. 253. Terremark [IaaS]</li></ul>Figure and table credits<br />On the Performance Variability of Production Cloud Services, A. Iosup, N. Yigitbasi, and D. Epema, IEEE/ACM International Symposium on Cluster, Cloud, and Grid Computing (CCGrid 2011)<br />Cloud Computing Performance - A bitcurrent study in the performance of cloud computing platforms, bitcurrent, http://www.bitcurrent.com, 2010<br />
    254. 254. Performance – Individual Clouds<br />Amazon EC2<br /><ul><li>The time it takes for an instance of type m1.small to become available
    255. 255. In secondsfor 2009</li></ul>www.pds.ewi.tudelft.nl<br />
    256. 256. Performance – Individual Clouds<br />Amazon EC2<br /><ul><li>Higher variance towards the end of the year due to increasing user base
    257. 257. Latency is important for applications using auto-scaling</li></ul>www.pds.ewi.tudelft.nl<br />
    258. 258. Performance – Individual Clouds<br />Google AppEngine<br /><ul><li>Python runtime example that calculates the 27th Fibonacci number [ms]
    259. 259. 2009</li></ul>www.pds.ewi.tudelft.nl<br />
    260. 260. Performance – Individual Clouds<br />Google AppEngine<br /><ul><li>Variance more stable towards the end of the year</li></ul>www.pds.ewi.tudelft.nl<br />
    261. 261. Performance – Comparison<br />Four tests<br />A one-pixel GIF to test response time and caching of static content<br />A 2-Mbyte GIF to test network throughput and congestion<br />Across one month<br />A CPU-intensive task<br />1.000.000 operations (100.000 for SalesForce because of limitations)<br />An I/O intensive task<br />Used smallest VM type for IaaS clouds<br />
    262. 262. Performance – Comparison<br />Test 1 – 1 pixel GIF image<br /><ul><li>Response time
    263. 263. Caching</li></li></ul><li>Performance – Comparison<br />Test 2 – 2 MByte GIF image<br /><ul><li>Network throughput
    264. 264. Congestion</li></li></ul><li>Performance – Comparison<br />Test 3 – CPU-intensive task<br />
    265. 265. Performance – Comparison<br />Test 4 – I/O intensive task<br />
    266. 266. Heterogeneity in Virtualized Environments<br />VM technology isolates CPU and memory, but disk and network are shared<br />Full bandwidth when no contention<br />Equal shares when there is contention<br />2.5x performance difference<br />EC2 small instances<br />
    267. 267. Isolation Research<br />Need predictable variance over raw performance<br />Some resources that people have run into problems with: <br />Power, disk space, disk I/O rate (drive, bus), memory space (user/kernel), memory bus, cache at all levels (TLB, etc), hyperthreading/etc, CPU rate, interrupts<br />Network: NIC (Rx/Tx), Switch, cross-datacenter, cross-country<br />OS resources: File descriptors, ports, sockets<br />
    268. 268. Autoscaling<br /><ul><li>Pouvoir réagir à des montées (ou décroissances) en besoins de puissance de calcul ou en capacité de stockage
    269. 269. Utilisation d’outils de monitoring comme
    270. 270. CloudWatch
    271. 271. CPUUtilization, DiskReadOps, DiskWriteOps, DiskReadBytes, DiskWriteBytes, NetworkIn, NetworkOut
    272. 272. VolumeReadBytes, VolumeWriteBytes, VolumeReadOps, VolumeWriteOps, VolumeTotalReadTime, VolumeTotalWriteTime, VolumeIdleTime, VolumeQueueLength
    273. 273. http://aws.amazon.com/fr/cloudwatch/
    274. 274. AzureWatch
    275. 275. CPU utilization, amount of requests per second, number of concurrent users, amounts of bytestransferred, or amount of memoryused by your application
    276. 276. http://www.paraleap.com/
    277. 277. Nécessité d’agréger les données parfois différentes</li></li></ul><li>Réagiràune variation de charge<br /><ul><li>Générerunecommanded’augmentation du nombre de ressourceslorsqu’unpicrisqued’apparaître
    278. 278. Variations
    279. 279. Prévisibles
    280. 280. Non-prévisibles
    281. 281. Baséessurl’heure de la journée</li></li></ul><li>AzureWatch<br />
    282. 282. Standards et Programmation<br />
    283. 283. Standards<br /><ul><li>Actuellement, surtoutuneutilisation des normes de l’Internet et des architectures Web Services et SOA
    284. 284. Besoins de standards pour assurél’intéropérabilité entre les plates-formes et les applications
    285. 285. API de gestion des ressources
    286. 286. OGF : Open Grid Forum
    287. 287. DMTF : Distributed Management Task Force
    288. 288. OCCI : Open Cloud Computing Interface
    289. 289. API stockage Cloud
    290. 290. SNIA : Storage Networking Industry Association
    291. 291. Intercloud
    292. 292. GICTF : Global Intercloud Technology Forum
    293. 293. Aspects sécurité
    294. 294. CSA: Cloud Security Alliance
    295. 295. Et d’autres
    296. 296. OMG, TM Forum, OASIS, ISO IEC-JTC 1, ITU-T, W3C, IETF, …</li></li></ul><li>Google MapReduce<br />Developed by Google in 2003<br />Programming model: dataflow programming<br />Input & Output: each a set of key/value pairs<br />Programmer specifies two functions:<br />map (in_key, in_value) -> list(out_key, intermediate_value)<br />Processes input key/value pair<br />Produces set of intermediate pairs<br />reduce (out_key, list(intermediate_value)) -> list(out_value)<br />Combines all intermediate values for a particular key<br />Produces a set of merged output values (usually just one)<br />Inspired by similar primitives in LISP and other languages<br />Example uses:<br />distributed grep web link-graph reversal<br />distributed sort web access log stats <br />term-vector per host inverted index construction<br />document clustering machine learning <br />statistical machine translation …<br />Open-source versions:<br />Hadoop (java implementation of MapReduce + GFS + Bigtable)<br />http://hadoop.apache.org/<br />Credits: J. Dean, S. Ghemawat, Google, Inc.<br />
    297. 297. MapReduce<br />3<br />A hash function maps the results of the map tasks to r reduce tasks<br />Data is split into mparts<br />1<br />D1<br />map<br />5<br />O1<br />reduce<br />A combinetask may be necessary to combine all the outputs of the reduce functions together<br />D2<br />map<br />Data<br />O2<br />reduce<br />Dm<br />map<br />2<br />data split<br />map<br />reduce<br />mapfunction is performed on each of these data parts concurrently<br />4<br />Once all the results for a particular reducetask is available, the framework executes thereducetask<br />
    298. 298. Google MapReduce: execution<br />Credits: J. Dean, S. Ghemawat, Google, Inc.<br />
    299. 299. Google MapReduce: parallel execution<br />Credits: J. Dean, S. Ghemawat, Google, Inc.<br />
    300. 300. Google MapReduce: Task Granularity And Pipelining<br />Fine granularity tasks: many more map tasks than machines<br />Minimizes time for fault recovery<br />Can pipeline shuffling with map execution<br />Better dynamic load balancing<br />Often use 200,000 map/5000 reduce tasks w/ 2000 machines<br />Credits: J. Dean, S. Ghemawat, Google, Inc.<br />
    301. 301. Google File System<br />Built for Google large scale data management<br />One big problem: hardware failure !<br />GFS concepts<br />Data spread evenly throughout cluster<br />Replicated 3x (locality aware replication, replica migrates)<br />Master machine detects failure and rebalances data on the fly<br />Some features<br />Data automaticallydistributed to nodesat load time<br />Loss of nodes causesautomatic datarebalance<br />Credits: A. kimball<br />
    302. 302. Google Bigtable<br />A Google database layer<br />Data model: a big map<br /><Row, Column, Timestamp> triple for key - lookup, insert, and delete API<br />
    303. 303. Google Pregel<br />Presented by Google in 2010 during SIGMOD’10<br />Computational model: graph processing<br /><ul><li>Programs are sets of iterations on a graph
    304. 304. In each iteration, a vertex can
    305. 305. Receive messages sent in previous iteration
    306. 306. Perform calculations
    307. 307. Modify its state
    308. 308. Send messages to neighbouring vertexes
    309. 309. Mutate the graph topology</li></ul>Application examples<br /><ul><li>Website graph
    310. 310. Social networks
    311. 311. Transportation routes</li></li></ul><li>Google Pregel – Computation Model<br />Each vertex<br /><ul><li>Has a unique identifier
    312. 312. Has a modifiable user-defined value
    313. 313. Is not a first-class citizen – has no associated computation
    314. 314. Executes a generic computation that is characteristic of the algorithm
    315. 315. Can modify its value, the value of its edges, graph topology</li></ul>Each edge<br /><ul><li>Associated to its source vertex
    316. 316. Has a modifiable user-defined value
    317. 317. Has a target vertex</li></li></ul><li>Google Pregel – Computation Model<br />Typical computation<br />Input<br />Superstep 1<br />Global synchronization 1<br />...<br />Superstep n<br />Global synchronization n<br />Output<br />Execution terminates when all vertexes vote to halt<br />Ex.: calculating the maximum value<br />* Source: Grzegorz Malewicz , Matthew H. Austern , Aart J.C Bik , James C. Dehnert , Ilan Horn , Naty Leiser , Grzegorz Czajkowski, Pregel: a system for large-scale graph processing, Proceedings of the 2010 international conference on Management of data, June 06-10, 2010, Indianapolis, Indiana, USA [doi>10.1145/1807167.1807184]<br />
    318. 318. Google Pregel – Experiments<br />Single-source shortest path algorithm on a cluster of 300 multicore commodity PCs<br />Binary tree<br />Random graph with<br />mean out degree 127.1<br />* Source: Grzegorz Malewicz , Matthew H. Austern , Aart J.C Bik , James C. Dehnert , Ilan Horn , Naty Leiser , Grzegorz Czajkowski, Pregel: a system for large-scale graph processing, Proceedings of the 2010 international conference on Management of data, June 06-10, 2010, Indianapolis, Indiana, USA [doi>10.1145/1807167.1807184]<br />
    319. 319. Securité et pannes<br />
    320. 320. Sécurité et pannes<br />
    321. 321. Sécurité et pannes<br />
    322. 322. Quelques problèmes de sécurité<br />Un des principaux freins à l’adoption !<br /><ul><li>Quelques défis
    323. 323. Problèmes juridiques
    324. 324. Localisation des données et des calculs
    325. 325. Propriété des données
    326. 326. Lois internationales
    327. 327. Gestion de l’isolation
    328. 328. Attraction des hackers
    329. 329. Besoin de chiffrement à plusieurs niveaux
    330. 330. Déplacements de données
    331. 331. Perte de contrôle
    332. 332. Mais aussi des avantages
    333. 333. Gestion des fautes et des pannes par un fournisseur externe
    334. 334. Gestion automatisée de la sécurité
    335. 335. Relative homogénéité des plates-formes</li></li></ul><li>Get off my cloud !<br /><ul><li>Comment un utilisateur peut « attaquer » un autre utilisateur sur la même infrastructure
    336. 336. Pour quelques $, être capable de voir ce que fait l’autre !
    337. 337. Amazon EC2 comme cible
    338. 338. Le modèle d’attaque
    339. 339. Déterminer où est la machine virtuelle qui contient le service à attaquer
    340. 340. Déterminer si la machine virtuelle de l’attaquant co-réside avec la machine virtuelle à attaquer
    341. 341. Si non, essayer de lancer des nouvelles machines virtuelles jusqu’à être co-résident avec la machine virtuelle à attaquer
    342. 342. Exploiter les fuites d’information (CPU caches, branchtarget buffers, network queues, ...)</li></ul>T. Ristenpart, E. Tromer, H. Shacham, S. Savage, Hey, You, Get Off of My Cloud! Exploring Information Leakage in Third-PartyCompute Clouds, ACM Conf. on Computer and Communications Security (CCS) 2009, 199-212, ACM, 2009.<br />
    343. 343. Quelquesrecommandations pour pour la tolérance aux pannessur les Clouds publiques<br /><ul><li>Dupliquer les services
    344. 344. Eviter le “single point of failure”
    345. 345. Sur Amazon, répartir les applications sensibles entre les régions
    346. 346. Avoir des zones d’isolation des fautes
    347. 347. Sur des matérielsdifférents (data centers)
    348. 348. Eviter les communications synchrones entre zones
    349. 349. Mettre des time-out sur les communications asynchrones
    350. 350. Utiliserdifférents Clouds ?</li></li></ul><li>Et la recherche ?<br />
    351. 351. Et la recherchedans tout çà ? <br /><ul><li>Explosion du nombre de travaux de rechercheautour des Clouds et de la virtualisation !
    352. 352. Quelques challenges de recherche
    353. 353. Composition de services
    354. 354. Service Level Agreement (SLA)
    355. 355. Sécurité
    356. 356. Résistance aux fautes/pannes
    357. 357. Gestion de l’infrastructure
    358. 358. Ordonnancement et gestion élastique des ressources
    359. 359. Gestion de données
    360. 360. Accès transparent à des plateformes hybrides
    361. 361. Multi-clouds
    362. 362. Nouveaux modèles
    363. 363. économiques, énergie
    364. 364. Programmation des applications
    365. 365. Nouveaux langages, nouveaux modèles</li></li></ul><li>« Nouveaux » paradigmes de programmation ?<br />Les applications de grandes tailles utilisent encore les paradigmes de programmation des grappes et des supercalculateurs (MPI, OpenMP)<br />Nouvelles applications avec nouveaux besoins<br />Manipulation de données, <br />Workflows (dynamiques), <br />composants logiciels, …<br />Prise en compte de l’architecture<br />Maîtrise de la grande échelle et de hétérogénéité, élasticité, <br />Tolérance aux pannes,<br />Nouvelles architectures fortement hiérarchiques, …<br />Input<br />SPMDs<br />
    366. 366. MapReduce<br />Modèle (ré)-introduit par Google<br />“MapReduceis a programming model and an associatedimplementation for processing and generating large data sets. Usersspecify a mapfunctionthatprocesses a key/value pair to generate a set of intermediatekey/value pairs, and a reducefunctionthatmerges all intermediate values associatedwith the sameintermediatekey.”MapReduce: Simplified Data Processing on Large Clusters Jeffrey Dean and Sanjay Ghemawat<br />Version open-source: Hadoop<br />Nombreux travaux de recherche<br />Extensions du langage<br />Systèmes de fichiers distribués<br />Réplication des données<br />Gestion des ressources<br />Nouvelles applications<br />Nouvelles plates-formes (multicores, GPU)<br />Tolérance aux pannes<br />
    367. 367. OS Grid/Cloud-aware<br />Des systèmes et des plates-formes hétérogènes<br />Grappes, grilles, clouds<br />Une utilisation compliquée <br />intergiciels multiples, OS différents, gestion de ressources, de données, fichiers, tolérance aux pannes, sécurité, …<br />Vers des OS pour les grilles et les clouds ?<br />Des challenges !<br />Maîtrise de la grande échelle<br />Nombre de ressources<br />Sites et domaines multiples<br />Dynamicité<br />Charge, pannes, ajouts de ressources<br />Difficulté à prédire le comportement des plates-formes et de leurs utilisateurs<br />
    368. 368. Gestionoptimisée de l’énergie<br />Les grilles et les Clouds participent au changement climatique !<br />Approches « vertes » pour les grilles<br />Optimisation : améliorer la conception des matériels et logiciels pour réduire leur consommation d’énergie<br />Eteindre / Shutdown : réduire le nombres de ressources et d’équipements alimentés et inutiles : nœuds de calculs, de stockage, de communication, périphériques, …<br />Adaptation / Slowdown : adapter la vitesse des ressources à l’usage réel : DVFS, ALR, …<br />Coordination : proposer des solutions à grande échelle afin de bénéficier de leviers de réduction énergétique plus importants<br />Crédits: Laurent Lefèvre (INRIA/LIP)<br />
    369. 369. Gestion de la virtualisationàgrandeéchelle<br />Quelques problématiques liées à l’utilisation de machines virtuelles à grande échelle<br />Gérer les tâches dynamiquement (SALINE)<br />Utiliser les capacités des machines virtuelles pour suspendre une tâche et l’exécuter (potentiellement) ailleurs<br />Sauver des snapshots et gérer leur sauvegarde de manière extensible<br /> Combiner la virtualisation des ressources et du réseau (HiperNet)<br />Donner à l’utilisateur l’illusion qu’il utilise un système privé<br />Un langage de reconfiguration pour les infrastructures virtualisées (VMScript)<br />pour décrire les jobs, les VOs, les architectures physiques <br />Migrer une image virtuelle ou un cluster entier entre des datacenters (Shrinker)<br />Réduire le coût de déplacement (ne transférer que le strict minimum)<br />Tirer partie de la bande-passante d’un réseau WAN <br />Crédits: AdrienLèbre (LINA, EMN)<br />
    370. 370. Gestion de ressources à grande échelle<br />Comment ordonnancer les tâches à grande échelle<br />Workflows, tâches hétérogènes, liens avec la gestion de données, la réplication, modèles énergétiques, …<br />Comment gérer l’allocation de machines virtuelles<br />Modéliser les plates-formes, prédire?<br />Gestion élastique des ressources<br />Maîtriser les pics de charge<br />Déplacer les VMs, les tâches<br />Modèles économiques, énergétiques, …<br />Self-*<br />Méta-schedulers<br />Ordonnancer et gérer les ressources dans un monde multi-batch et multi-gestionnaires<br />Pilot jobs<br />DIRAC, Condor<br />
    371. 371. Combiner grilles et Clouds<br />SysFera-DS : une pile logicielle complète pour le HPC<br /> ... et un accès simple et transparent aux infrastructures de Cloud<br />Inside the Cloud<br /><ul><li> + DIET platform is virtualized inside the cloud. (as Xen image for example)
    372. 372. + Very flexible and scalable as DIET nodes can be launched
    373. 373. + Dynamic adaptation % charge</li></ul>Cloud manager<br /><ul><li> + EC2 interface
    374. 374. + EC2 is treated as a new Batch System
    375. 375. + Automatic deployment of VMs with associated services</li></ul>http://www.sysfera.fr/<br />
    376. 376. Grid Application<br />Grid Middleware<br />OS (…)<br />Grid BIOS<br />Grid’5000<br />Une vision originale<br />Pouvoir effectuer des expérimentations à tous les niveaux de la pile logicielle d’une grille (ou d’un Cloud) avec<br />La possibilité de reproduire les conditions d’expérimentation<br />Isoler les expériences entre elles<br />Avoir une grande flexibilité<br />Comprendre ce qu’il se passe sur la plate-forme<br />Injections de conditions expérimentales (fautes, charge)<br />Un instrument pour l’informatique distribuée<br />9 sites en France connectés par Renater pour un total de 5600 cœurs<br />Un exemple (FutureGrid aux USA)<br />Un des premiers Clouds de type IaaS<br />
    377. 377. Grid’5000 vu comme un Cloud<br />Quelques caractéristiques de Cloud<br />Possibilité de gérer vos propres images disques (installées via kDeploy)<br />Réservation de ressources transparente (via OAR)<br />Plateforme complètement contrôlée<br />Images de machines virtuelles (Xen, kvm, Vmware)<br />Isolement d’applications (KaVLAN)<br />Grid’5000 pourrait devenir Cloud’5000? <br />Plateforme parfaite pour la validation de résultats de recherche sur les Clouds<br />Instances de machines virtuelles connectées via un WAN dédié<br />Plusieurs projets autour de Clouds open source, MapReduce et de la virtualisation<br />
    378. 378. conclusions<br />
    379. 379. Conclusion<br /><ul><li>De nombreuses applications prêtes à être déployées sur les  Clouds à différents niveaux
    380. 380. Les ressources sont disponibles en quantité !
    381. 381. Nombreuses offres de Clouds publics et privés
    382. 382. Notion de virtualisation et piles logicielles « mature »
    383. 383. « Quelques » problèmes à traiter encore mieux
    384. 384. extensibilité, sécurité, gestion de données à grande échelle, tolérance aux fautes, API entre Clouds, standards, …
    385. 385. Notion de confiance dans cette nouvelle technologie !
    386. 386. Le Cloud n’est pas prêt d’enterrer les supercalculateurs pour autant pour les grosses applications de simulation (architectures petascales et bientôt exascales)
    387. 387. Gros potentiel pour de nombreuses applications avec différentes approches (IaaS, PaaS, SaaS) voir une combinaison de ces approches</li></li></ul><li>DES QUESTIONS ? <br />
    388. 388. Quelquesréférences<br /><ul><li>European Commission report on The Future of Cloud Computing
    389. 389. http://cordis.europa.eu/fp7/ict/ssai/docs/cloud-report-final.pdf
    390. 390. Cloud Strategy and Innovation Blog (I. Llorrente)
    391. 391. http://blog.cloudplan.org/
    392. 392. Above the Clouds: A Berkeley View of Cloud Computing
    393. 393. http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.html
    394. 394. http://berkeleyclouds.blogspot.com/
    395. 395. The NIST Definition of Cloud Computing
    396. 396. http://csrc.nist.gov/publications/drafts/800-145/Draft-SP-800-145_cloud-definition.pdf
    397. 397. DRAFT Cloud Computing Synopsis and Recommendations
    398. 398. http://csrc.nist.gov/publications/drafts/800-146/Draft-NIST-SP800-146.pdf
    399. 399. Cloud Computing Bible,
    400. 400. B. Sosinsky, Wiley
    401. 401. SIENA European Roadmap on Grid and Cloud Standards for e-Science and Beyond
    402. 402. http://www.sienainitiative.eu/Repository/FileScaricati/8ee3587a-f255-4e5c-aed4-9c2dc7b626f6.pdf</li>

    ×