Informatique en nuage Cloud Computing G. Urvoy-Keller
Sources de ce documents
Next Stop, the cloud Objectifs de l'étude : Comprendre la popularité des déploiements de services basés sur des clouds Focus sur Amazon EC2 et Windows Azure Comprendre le type de déploiement utilisé : 1 VM, plusieurs VMs, load balancers, CDNs Comprendre où les déploiements sont faits (zone de disponibilités) et la relation performance/zone
Amazon EC2 (source Wikipedia) EC 2 : Elastic Cloud Computing Service de location de serveurs On loue des VMs On créer, démarre, arrête les VMs en fonction de ses besoins élasticité Paiement en fonction de l'usage Estimation du nombre de serveurs Amazon physiques dans leurs data-centers varie de 150000 à 500000
Amazon EC2 Source : http://huanliu.wordpress.com/2012/03/13/amazon-da ta-center-size/
Région et zone de disponibilité Double objectif : être plus proche des clients et fiabilité accrue
Amazon EC2 Version béta mi-2006 De 2006 à 2008, l'offre s'étoffe en terme de type d'instances (=VM) : Large, Extra Large, High-CPU Medium et High-CPU Extra Large Actuellement, 17 types (general, memory optimized, storage optimze, compute optimize)
Amazon EC2 Nouvelles fonctionnalités en 2008 qui incluent : adresses IP statiques, zones de disponibilités : des zones physiques distinctes qui ne doivent pas tomber en panne simultanément choix par l'utilisateur du type de noyau. Elastic Block Store (EBS). Ceci permet du stockage permanent 2009 : Console de gestion Équilibrage de charge (load balancing)
Amazon EC2 EC2 utilise la virtualisation Xen. Chaque machine virtuelle = «instance», fonctionne comme un serveur virtuel privé. Notion d'ami : Amazon Machine Image fournit des templates d'os ou OS+applications
Déploiements typiques Cas 1 : une seule VM héberge le service
Déploiements typiques Cas 2 : un load balancer fournit par Amazon/Windows Azure Renvoie vers un load balancer par zone qui renvoie vers les VMs du client Load balancer zone est un proxy HTTP
Déploiement typiques PaaS : plateform as a service Ex : Heroku qui gère le déploiement d'application ou Amazon Elastic Beanstalk
Déploiements typiques CDN : on confie un site web à AWS qui le gère au travers de son CDN (Content Distribution Network) pour rediriger le client vers la copie la plus proche.
Q1 du papier : qui utilise ces services? Idée : prendre les services Web les plus populaires à partir du site web Alex Une société qui fait des mesures sur le Web et reporte les sites les plus populaires avec des informations spécifiques : où sont les clients, etc.
Alexa.com top list
Q1 du papier : qui utilise ces services? A partir des sites Web, il faut faire des requêtes DNS et voir si on a des CNAME (alias) pointant vers AWS ou WA Il faut le faire pour le domaine et les sousdomaines qui commencent par ftp, mail, blog,. Services spécifiques associés à un domaine
Q1 du papier : qui utilise ces services? 4 % des domaines dans le top million utilise du cloud pour un de leur service (sous domaine) Pour les domaines principaux, ils peuvent être sur EC2 mais également un autre site d'hébergement (EC2+Other). Les sousdomaines entièrement dans le cloud AWS plus populaire que WA
Q1 du papier : qui utilise ces services? Qui sont-ils?
Q1 du papier : qui utilise ces services? Etude d'une capture de trafic du lien d'entrée d'une université En volume, majorité de dropbox Sur Azure, beaucoup de microsoft
Q 2 : type de déploiement Un ensemble de VM en direct est le cas le plus courant Azure CS : VM, PAAS, Load Balancer (on ne peut pas distinguer sur la base de l'ip) TM : Traffic Manager = Load balancer vers plusieurs CS
Q3 : une zone (un datacenter) est-il bien connecté? Il suffit de compter le nombre d'as (ISPs) distincts en sortie du DC
Q 3 : quelles zones de déploiement? Des déploiements inégaux (choisis par le client)
Q 3 : quelles sont les zones de déploiement? Domaine les plus populaires dans une seule région (géographique) k=1 domine sur k=2
Q2 : type de déploiement Des fonctionnalités plus avancés pour les plus gros sites
Openstack Projet qui vise à fournir un système d'exploitation Cloud évolutif (capable de passer à l'échelle) Initialement fondé par la NASA et la société RackSpace en 2010 150 entreprises ont rejoint le projet : HP, Dell, IBM, RedHat... autour de la «Fondation OpenStack» en sep. 2012 Licence Apache 2.0
OpenStack Openstack n'est pas réellement un OS, mais une surcouche et un ensemble de services Cloud. Openstack conçu pour : Fournir des services IaaS (locations de VMs) Mise en œuvre de SaaS (Software as a Service) Pourquoi Openstack si des solutions type Amazon Web Services, Windows Azure, CloudWatt existent? Maitrise de son informatique Sécurité des données Solution de back-up si le cloud externe (ex : AWS) flanche
Architecture OpenStack Ensemble de composants logiciels, chacun avec une fonction précise
Architecture OpenStack
Achitecture OpenStack Pour certaines fonctions (Compute, Block Storage, Object Storage) plusieurs serveurs Communication entre composants et accessibilité aux composants pour une API Web (type RESTful) compatible avec celle d'aws
Analogie OpenStack/ Amazon Web Services
KeyStone / Identity Utilisation des utilisateurs IaaS. Peut être interfacé avec LDAP, une base SQL, etc. Fourniture des points d'accès vers les API des autres composants.
Glance / Imaging Templates de disques (Windows 7, Ubuntu 12.04...) qui sont recopier en disques virtuels (par Cinder) et post-installer pour chaque instanciation (VM) Supporte le format OVF, format propriétaire Amazon (AMI), VMDK de VmWare, VDI de VirtualBox, etc... Les images peuvent être stockées sous forme de fichiers mais aussi sous forme de dépots Amazon S3
Nova / Compute (virtualization) Gère l'ensemble des serveurs physiques sur lesquels tournent une instance de Nova Bus de messages entre ces serveurs de type AMQP (Advanced Messaging Queuing Protocol) via RabbitMQ. Ex : création d'une nouvelle VM, le message transite du dashboad au serveur de virtualisation via RabbitMQ Supporte : Hyper-V, XenServer, VMware, KVM, etc.
Cinder Block Storage Fournit les disques durs des VMs Travaille avec Glance Prend les instantannés (snapshots) Peut interfacer avec un SAN ou hébergement sur les disques des serveurs ou NAS en iscsi
Quantum Networking Appelé Neutron dans release précédente NaaS (Network As a Service) Gestion des adresses IP, des réseaux virtuels des locataires (utilisateurs), VLAN, DHCP Fonctionnalités avancées : Load Balancing, Intrusion Detection Systems Supporte les switchs CISCO virtualiés (Nexus 1000) ou la solution Open vswitch
Quantum Networking
DashBoard
DashBoard
Swift Stockage d'information sous forme d'objets Stockés dans le cloud, accessibles via URL Pour du stockage à long terme, pas un système de fichiers En pratique, les données sont répliquées dans le datacenter (voire entre DC) pour la fiabilité Triple réplication par défaut