OpenStack Le cloud libre Thierry Carrez (@tcarrez) Release Manager, OpenStack
Cloud?
Marketing
Evolution des technologies Diffusion, Universalité Commodité Produit Innovation Définition, Certitude
Evolution de l'informatique Commodité Produit
Cloud : une transition Logiciel Plateforme Infrastructure... en tant que produit en tant que service
Services pour client finaux Logiciel en tant que service (SaaS)
Services pour client finaux Stockage et streaming en ligne
Services d'infrastructure Plateformes de déploiement (PaaS)
Services d'infrastructure Ressources brutes de calcul ou de stockage (IaaS)
SaaS PaaS IaaS OS / Matériel
Innovation Réduction des coûts de développement Réduction des coûts de maintenance Interopérabilité (pas de lock-in) Standardisation
Le cloud open source Logiciels Pour faire son propre PaaS Logiciels Pour faire son propre IaaS Matériel
OpenStack Projet open source commun Logiciel pour faire votre propre IaaS Déploiement public ou privé Moteur de la transition «cloud» Interopérabilité des implémentations Standardisation
La génèse Cloud servers Cloud files Open source NovaCC Open source Nova (compute) Swift (storage)
Code ouvert
Design ouvert
Developpement ouvert
Communauté ouverte
Gouvernance élisent Project Policy Board (PPB) Project technical leads (PTLs) (un par projet «core», soit 5) Developpeurs élit Membres élus par la communauté (5) «Communauté» élargie choisit Membres choisis par Rackspace (4)
Un projet jeune Au «e») n i st d la od lou u c C b e d Ne ace e n p i m s t m no us ack, for A R e 1 à. t de 10 pla tack mit» e 0 a d l 2 de ens e( e co sum s l e r») a r n d a p i s») r g e x o i u l v O c e t s ' u re «B Cac ( e le ion d r «de e d'o r r «1 v n (. 1 1.3 2 1è. ou réat emie 1 sio 1 : i 1 0 0 c A 0 1 Pr :2 A S 0: C De 201 0 1: 2 : : 1 : 1 N 2 0 0 1 : 1 0 re 01 10 201 t 201 r2 20 lo») 201 b 2 0 e. i l s 2 t o i r e r n i t Avr Ma Fév Ma Sep Diab Jui Juill Oc («
170 developpeurs
Cycle de developpement Design, création de specs Design Summit, 3 jours de discussion et brainstorm 6 mois Les PTLs définissent les objectifs du cycle Milestones toutes les 5 semaines Dernière milestone, plus de nouvelles fonctionnalités Création de la branche de release, début du nouveau cycle Release finale
Voyage d'une fonction nouvelle Design Code Revue de code Branche de la nouvelle fonction trunk Pre-merge tests Postmerge tests Milestone Release finale
Les projets OpenStack Core Nova (compute) Glance (image service) Swift (storage) NEW Keystone (identity) NEW Horizon (dashboard) Incubation Related Quantum (virtualisation de réseau) Melange (annuaire de ressources réseau)
Swift (OpenStack Object Storage) Stockage d'objets Interface RESTful Pas de limite de taille d'objet Données répliquées 3x («zones») Stable et déployé en production
Objets, conteneurs, comptes Account Account Container Container Object Object Object Object Object Object Object Container Object Container Object Object Object Container Object Object Object
Swift: Architecture Object server Proxy server Swift API Container server Account server
Swift: Montée en charge Pas d'index centralisé API servers indépendants Localisation dérivée du nom de l'objet Utilise des serveurs basiques
Glance (OpenStack Image service) Images disque et métadonnées associées Découvrir, enregistrer et récupérer Multiples formats de disque : raw, VHD, vmdk, vdi, qcow2, ISO, aki, ari, ami Multiples formats de conteneurs : ovf, bare, aki, ari, ami
Glance: Architecture Swift glance CLI tool glance.client glance-api Glance API Python library S3 HTTP Local FS...... Registry API glance-registry SQL... Metadonnées Images
Glance: Extensibilité Swift glance CLI tool glance.client glance-api Glance API Python library S3 HTTP Local FS...... Registry API glance-registry SQL Metadata... Images
Nova (OpenStack Compute) «Machines virtuelles à la demande» Framework ultra-modulaire Evolution toujours rapide En production en IaaS privés (NASA) En beta en IaaS public (Rackspace, HP)
Nova: Architecture Scheduler node Compute node API node RabbitMQ Network node Network node Volume node Object server Datastore
Création d'une instance Scheduler node Compute node API node Glance RabbitMQ Network node Network node Volume node Object server Datastore
Nova: Ultra-modularité WSGI middleware EC2/OpenStack API Keystone/standalone auth API node Scheduler node Pluggable Chance Zone-aware AMQP Network node Flat, FlatDHCP, Vlan IPv4 / IPv6 QEMU, KVM, UML, LXC Compute node Xen and XenServer Hyper-V VMware vsphere Local LVM volume groups Volume node iscsi Sheepdog HP/Lefthand SANs Sqlite Datastore MySQL Postgres Object server
Keystone (OpenStack Identity) Comptes utilisateurs unifiés entre services Swift Glance Nova API servers Session API Keystone keystone-manage Admin API... SQL LDAP
Horizon (OpenStack Dashboard) Module Django pour construire une UI web Swift Glance Nova API servers
OpenStack, c'est nous tous http://launchpad.net/openstack http://wiki.openstack.org http://planet.openstack.org IRC (Freenode) #openstack #openstack-dev Mailing-list https://launchpad.net/~openstack
Questions? thierry@openstack.org http://fnords.wordpress.com @tcarrez