Orchestrer son cloud OpenStack avec Heat

Transcription

Orchestrer son cloud OpenStack avec Heat
Orchestrer son cloud OpenStack avec Heat
Adrien Cunin
[email protected]
Osones
7 juillet 2014
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
1 / 43
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
2 / 43
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
3 / 43
Introduction
Le cloud ? Parlons IaaS et OpenStack
Le besoin d’orchestration
Les principes de Heat
Quelques fonctionnalités avancées de Heat
Futur de Heat
Démonstration
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
4 / 43
Qui suis-je ?
Adrien Cunin
I
I
I
24 ans et passionné de logiciels libres
Contributeur depuis 2006 (notamment Ubuntu et Debian)
Ingénieur cloud computing / OpenStack
Osones
I
Services et formations cloud computing (OpenStack, AWS)
Association OpenStack-fr
I
Membre du CA et co-fondateur
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
5 / 43
Plan
1
Le cloud, l’IaaS et OpenStack
2
L’orchestration et Heat
Pourquoi orchestrer ?
L’orchestration dans OpenStack : Heat
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
6 / 43
Plan
1
Le cloud, l’IaaS et OpenStack
2
L’orchestration et Heat
Pourquoi orchestrer ?
L’orchestration dans OpenStack : Heat
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
7 / 43
Le cloud, significations...
Stockage/calcul distant (dans ce contexte, on oublie)
Virtualisation++
Abstraction du matériel (voire plus)
Accès normalisé par des APIs
Service et facturation à la demande
Flexibilité, élasticité
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
8 / 43
WaaS : Whatever as a Service
Principalement
IaaS Infrastructure as a Service
PaaS Platform as a Service
SaaS Software as a Service
Mais aussi :
I
I
I
I
Database as a Service
Network as a Service
Load balancing as a Service
$APPLICATION as a Service
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
9 / 43
Récapitulatif
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
10 / 43
Cloud public ou cloud privé ?
Public fourni par un hébergeur à des clients (AWS, Rackspace Cloud, etc.);
cloud externalisé
Privé plateforme et ressources internes
Hybride utilisation de ressources publiques en complément d’un cloud privé,
lorsque le besoin apparait (cloud bursting )
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
11 / 43
Comment faire de l’IaaS
Cloud public de référence : Amazon Web Services (AWS), pionniers
du genre (dès 2002)
Logiciels libres permettant le déploiement d’un cloud privé :
I
I
I
I
Eucalyptus
CloudStack
OpenNebula
OpenStack
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
12 / 43
Le projet OpenStack en résumé
Your Applications
OPENSTACK
APIs
CLOUD OPERATING SYSTEM
OpenStack Dashboard
Compute
Networking
Storage
OpenStack Shared Services
Standard Hardware
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
13 / 43
Historique du projet OpenStack
Démarrage en 2010
Objectif : le Cloud Operating System libre
Fusion de deux projets de Rackspace (Storage) et de la NASA
(Compute)
Licence Apache 2.0
Les releases jusqu’à aujourd’hui :
I
I
Austin (2010.1)
Bexar (2011.1)
...
I
I
I
I
Grizzly (2013.1)
Havana (2013.2)
Icehouse (2014.1)
Novembre 2014 : Juno
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
14 / 43
Fondation OpenStack
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
15 / 43
Quelques soutiens/contributeurs ...
Rackspace
Canonical
Red Hat
Suse
HP
IBM
Dell, Intel
Cisco, Juniper
NetApp, VMWare
Yahoo, Bull
Mais aussi : Mirantis, StackOps, eNovance
http://www.openstack.org/foundation/companies/
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
16 / 43
... et utilisateurs
Tous les contributeurs précédemment cités
En France : CloudWatt et Numergy
Wikimedia
CERN
Paypal
Comcast
Etc. Sans compter les implémentations confidentielles
http://www.openstack.org/user-stories/
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
17 / 43
Développement du projet
Open Source
Open Design
Open Development
Open Community
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
18 / 43
Architecture conceptuelle
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
19 / 43
Quelques notions
À partir d’images, on créé des instances
On attache des volumes à ces instances
Les instances sont plaçées dans des réseaux
Toutes ces actions sont faisables par une API REST
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
20 / 43
Plan
1
Le cloud, l’IaaS et OpenStack
2
L’orchestration et Heat
Pourquoi orchestrer ?
L’orchestration dans OpenStack : Heat
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
21 / 43
Ce que nous fournit déjà l’IaaS
Différents types de ressources
Accès à la demande, rapide et agile, à ces ressources
Possibilité de lier certaines ressources entre elles
Des passerelles vers l’intérieur des instances (user data et cloud-init)
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
22 / 43
Ce qu’il manque
Une interface unifiée à tous les types de ressources
Un format de description de son architecture : ressources et liens
entre ressources
La possibilité de reproduire et distribuer facilement un modèle
d’architecture
Aller plus loin dans la configuration de l’intérieur des instances
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
23 / 43
Principes de Heat
Intégration officielle dans le projet : Havana (fin 2013)
Inspiré de CloudFormation (CFN) chez AWS
Description de son architecture dans un fichier template
Un template est instancié en stack
C’est Heat qui va faire les demandes d’allocation de ressources auprès
des différents services
Cycle de vie d’une stack : création, mise(s) à jour, destruction
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
24 / 43
Les templates
Template d’une architecture : fichier texte
Prend des paramètres
Déclare des ressources
Renvoie des sorties
Format HOT (Heat Orchestration Template) : basé sur YAML
(Le format CFN est basé sur JSON)
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
25 / 43
Les templates
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
26 / 43
Paramètres
Configurer une stack à son lancement
Possibilité de définir des contraintes sur ces paramètres
Exemples :
I
I
I
Taille de l’instance
Clé publique SSH pour accéder à l’instance
Mot de passe
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
27 / 43
Paramètres : exemple
db_name:
type: string
description: WordPress database name
default: wordpress
constraints:
- length: { min: 1, max: 64 }
description: db_name must be between 1 and 64 characte
- allowed_pattern: ’[a-zA-Z][a-zA-Z0-9]*’
description: >
db_name must begin with a letter and contain only al
characters
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
28 / 43
Ressources
Une ressource a un type ...
... et des propriétés
Possibilité de faire référence à un paramètre ou à une autre ressource
Quelques types de ressource possibles :
I
I
I
OS::Nova::Server
OS::Neutron::Net
OS::Cinder::Volume
Attributs
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
29 / 43
Ressource : exemple
server1:
type: OS::Nova::Server
properties:
name: Server1
image: { get_param: image }
flavor: { get_param: flavor }
key_name: { get_param: key_name }
networks:
- port: { get_resource: server1_port }
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
30 / 43
Les sorties
Permet de renvoyer des informations utiles à l’utilisateur
Exemples :
I
I
Adresse de l’application web déployée
Mot de passe généré
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
31 / 43
Ressource : exemple
outputs:
server1_provider_ip:
description: IP address of server1 in provider network
value: { get_attr: [ server1, first_address ] }
server2_provider_ip:
description: IP address of server2 in provider network
value: { get_attr: [ server2, first_address ] }
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
32 / 43
Démonstration
Création d’une stack avec deux instances
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
33 / 43
Quelques fonctionnalités avancées
Nested stacks : référencer un template dans un autre
Définition de ses propres ressources (provider resources)
Environnements : passer des paramètres lors de l’instanciation d’une
stack
Autoscaling : avec Ceilometer
Application configuration : aller plus loin que cloud-init
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
34 / 43
Nested stacks + provider resources + environments I
(my_nested.yaml)
heat_template_version: 2013-05-23
resources:
my_instance:
type: OS::Nova::Server
properties:
flavor: m1.small
image: my_image
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
35 / 43
Nested stacks + provider resources + environments II
(my_stack.yaml)
heat_template_version: 2013-05-23
resources:
my_nested:
type: My::Custom::Server
(environment.yaml)
resource_registry:
My::Custom::Server: my_nested.yaml
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
36 / 43
Autoscaling
Faire évoluer dynamiquement le nombre de ressources dans la stack
Exemple : 1 load-balancer + N serveurs web
Les instances ”serveur web” sont créées et supprimées à la volée en
fonction d’une métrique
Couplage avec Ceilometer (OpenStack Telemetry) pour la
récupération des métriques
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
37 / 43
Générer un template à partir de l’existant
Aujoud’hui pas de solution intégrée dans OpenStack
Récemment, solution proposée par CloudWatt : Flame
http://dev.cloudwatt.com/fr/blog/
introduction-a-flame-le-generateur-de-template-automatique
html
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
38 / 43
Futur de Heat
Discussion sur une nouvelle version de l’API
Chiffrement dans les templates
Versionnement des ressources
Avancées dans le déploiement de configuration et d’application
API Autoscaling en dehors de Heat
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
39 / 43
Conclusion
L’orchestration devient essentiel pour déployer des applications
complexes dans le cloud
Heat n’en est qu’à ses débuts
Nous sommes en route vers le PaaS
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
40 / 43
Ressources
http://openstack.org
https://wiki.openstack.org/Heat
http:
//docs.openstack.org/developer/heat/template_guide/
https:
//git.openstack.org/cgit/openstack/heat-templates/
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
41 / 43
OpenStack en Français
Site web : http://openstack.fr
Mailing-list : [email protected]
IRC : #openstack-fr@Freenode
Twitter : @OpenStackFr
L’association : https://asso.openstack.fr
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
42 / 43
Merci !
Cette présentation est sous licence CC BY-SA
(Certains schémas et exemples ont été piqués à Steven Hardy & Zane Bitter)
Questions
?
Email : [email protected]
IRC : Adri2000@Freenode
Twitter : @Adri2000 OS
Adrien Cunin (Osones)
Orchestrer son cloud OpenStack avec Heat
7 juillet 2014
43 / 43

Documents pareils