paris container day 2016 : les nouveaux défis du déploiement (xebia labs)

29
@ContainerDay16 Les nouveau défis du déploiement

Upload: xebia-france

Post on 09-Jan-2017

176 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

Les nouveau défis du déploiement

Page 2: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

@Me

Nom: Moussaud

Prénom: Benoit

Profession: Directeur Technique @XebiaLabs

Twitter: @bmoussaud

Page 3: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

Unification

•  Fin des packages os natifs (rpm / msi)

•  Fin des packages applicatifs (war / html / js / ...)

•  Un seul élément de livraison : l’image

•  Enfin....

Page 4: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

Augmentation du Périmètre

•  Fin de la séparation Infrastructure / Application

•  Fin des zones de responsabilités

•  Le déploiement englobe tout le périmètre

•  Technique : (mémoire, stockage, réseau)

•  Applicatif (middleware + app)

Page 5: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

Configuration, Configuration

•  Toujours présente et pas près de disparaître

•  Complexe, segmentée et volumineuse

•  Les containers ne supportent nativement que les variables d’environnement

•  Changement : passage d’une solution fichier à une solution distribuée.

Page 6: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

Applications Hybrides

•  Mixage des éléments traditionnels avec les éléments gérés par les containers

•  Facilité d’adoption

•  Evangélisation

•  Migration

Page 7: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

C’est la même chanson Chaque nouveau système prétend « qu’une simple commande suffit pour déployer l’application »

AdminApp.install(‘myapp.ear’)

Cf push myapp

Docker run myapp

Mais en réalité il faut gérer les éléments plus finement et ainsi utiliser les 200 options qui existent !

-  Connaissance ++

-  Risque ++

-  Adhérence ++

Page 8: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

Alors ?

Page 9: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

@XebiaLabs

Page 10: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

Les solutions Xebialabs

Page 11: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

XL Release: orchestration du pipeline

.....

Provision

Plan Code Build Test Release Operate

Dev Test Prod

mainframe

Page 12: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

XL Deploy

Provision

Plan Code Build Test Release Operate

Dev Test Prod

mainframe

« Déployer tout type d’application sur tout type d’environnement »

Page 13: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

XL Deploy : concepts

Deploymentpackages Environments

Dic4onaries

Page 14: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

XL Deploy: les règles de déploiement

Une règle définit de manière unique les étapes pour déployer, modifier et désinstaller un élément défini dans le package sur un élément de l’environnement.

Exemple:

Quelles sont les étapes quand il faut déployer une archive de type Jee War sur un Tomcat ?

Quelles sont les étapes quand il faut supprimer une archive de type Jee War d’un Tomcat ?

XebiaLabs propose des règles regroupées sous forme de plugins

Il est possible de les analyser, activer, désactiver, modifier en fonction des besoins (XML, Python)

Il est possible de définir ses propres règles de déploiement (XML, Python)

Page 15: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

XL Deploy : plugins Plugins Plugins communautaires

IBM WAS 6, 7, 8 et 8.5 IBM WebSphere MQ IBM WebSphere Process Server Oracle Weblogic Server 9, 10, 11g, 12c Oracle Service Bus 10 et 11 Oracle SOA Suite. JBoss Application Server / WildFly Tomcat Server Microsoft Windows Microsoft IIS / Biztalk F5 Networks Big IP Citrix Netscaler

Command File Web Server Database Notification Release Authorization Maven Bamboo Jenkins TFS

Smoke Tests Lock Change Management Generic Load Balancer DataPower RPM Personal Credentials Puppet Docker OpenShift CloudFoundry DataPower Liferay Mule MC ElasticSearch ....

https://github.com/xebialabs-community

Page 16: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

XL Deploy : fonctionnement

Génération automatique des plans de déploiement

1.  Basée sur le modèle,

2.  Analyse d’écart sur 3 axes : Package, Configuration & Infrastructure,

3.  Application des règles de déploiement

4.  Application de l’orchestration

5.  Exécution

Page 17: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

Architecture

Page 18: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

Dev2Prod

RBAC & AUDIT

Page 19: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

XL Deploy & Docker

Page 20: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

XL Deploy Docker Plugin

•  Docker.Image

•  Docker.Enviromnent

•  Docker.Networks

•  Docker.Volume

•  Docker.Network

•  Docker.Compose

•  Docker.Machine

•  Docker.Cluster

•  Aws.ECS

•  Meso.Cluster

•  Kubernestes.Cluster

•  ....

Page 21: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

XL Deploy & Docker Compose

•  Docker Compose est un format de description d’une ou plusieurs images avec leur configuration (environnements, volumes, ports, command)

•  « #docker-compose up » est la commande qui va permettre d’instancier l’ensemble des images sur une docker machine.

•  Coté ‘Dev’ c’est très pratique : la commande build les images (en plus de les instancier)

•  Coté ‘Ops’ moins: Black box : une commande lancée avec un multiplexage des sorties est difficile à gérer en cas de problème.

Solution : DockerComposeImporter qui va interpréter le fichier ‘compose.yml’ en fichier manifest et ainsi profiter des fonctions d’XL Deploy (e.g Orchestration, Dictionnaires,...)

Page 22: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

XL Deploy & Docker Compose

Page 23: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

DEMO

.....

Page 24: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

Merci

.....

Page 25: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

Page 26: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

Page 27: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

Page 28: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16

Page 29: Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)

@ContainerDay16