SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne
KUBERNETES ET DOCKER
SUR AZURE ET WINDOWS
DevDay 27 novembre 2018@epo
Les challenges du DevOps
Copyright Arnaud Weil 2011-2018
L’opposition DevOps
 Déploiements et mise à
jour fréquents
 Créer facilement des
ressources
 Stabilité des applications
de production
 Supervision
 Contrôle
 Gerer l’infrastructure, pas
des applications
Les Devs veulent Les Ops veulent
Copyright Arnaud Weil 2011-2018
App
Application typique (simplifiée)
Wordpress
Wordpress
4.9
PHP 5.6
Apache
app/*
Copyright Arnaud Weil 2011-2018
App 1 App 2
Exemple de serveur (simplifié)
Wordpress
Wordpress
4.9
PHP 5.6
Apache
app1/*
Wordpress
Wordpress
4.9
PHP 5.6
Apache
app2/*
Wordpress 4.9
PHP 5.6
Apache
.NET
.NET Core
Node.JS
PHP 7.0
Copyright Arnaud Weil 2011-2018
App 1
Haute disponibilité
Wordpress
Wordpress
4.9
PHP 5.6
Apache
app/*
App 1
Wordpress
Wordpress
4.9
PHP 5.6
Apache
app/*
App 1
Wordpress
Wordpress
4.9
PHP 5.6
Apache
app/*
App 1
Wordpress
Wordpress
4.9
PHP 5.6
Apache
app/*
Reverse proxy
Copyright Arnaud Weil 2011-2018
V1.0
…et mise à jour
Wordpress
Wordpress
4.9
PHP 5.6
Apache
app/*
V1.0
Wordpress
Wordpress
4.9
PHP 5.6
Apache
app/*
V1.0
Wordpress
Wordpress
4.9
PHP 5.6
Apache
app/*
V2.0
Wordpress
Wordpress
7.1
PHP 5.6
Apache
app/*
Reverse proxy
Les conteneurs
Copyright Arnaud Weil 2011-2018
En bref
 Containers: virtualisation légère
 Isolation
 Reproductibilité
 MAIS
◼ Faibles ressources
Copyright Arnaud Weil 2011-2018
Livrer était déjà compliqué
Copyright Arnaud Weil 2011-2018
Les conteneurs: le standard
Copyright Arnaud Weil 2011-2018
Homogénéité pour tous
Copyright Arnaud Weil 2011-2018
Conteneurs en pratique
 Demo: exécution locale
docker run -p 8085:80 nginx
Copyright Arnaud Weil 2011-2018
Avez-vous remarqué ?
 Boîte noire pour les Ops
 Multi-techno: .NET Core, PHP, Node.JS, Ruby, Java,
Python, ...
 Hébergement n’importe où: Hyper-V, Linux, Azure,
AWS, Bluemix, hébergeur, cloud privé, ...
Conteneurs sous Docker
Copyright Arnaud Weil 2011-2018
Docker
 Largement répandu
 Open source avec
support niveau
entreprise
 Linux, Windows, Mac
Copyright Arnaud Weil 2011-2018
Images
Une application… …devient une image
Wordpress
Wordpress
4.9
PHP 5.6
Apache
app/*
mon-wordpress:1.0
Copyright Arnaud Weil 2011-2018
Images
Une image…
bel-
wordpres
s:1.0
port
8087
bel-
wordpres
s:1.0
port
8088
mon-wordpress:1.0
Copyright Arnaud Weil 2011-2018
Images
Une image… …produit de nombreux containers
mon-wordpress:1.0
mon-wordpress:1.0
port 8087
mon-wordpress:1.0
port 8088
Copyright Arnaud Weil 2011-2018
Pour créer une image: fichier Dockerfile
 …qui référence une autre image
FROM wordpress:4.9.4-php5.6-apache
COPY ./bel-en /var/www/html
Copyright Arnaud Weil 2011-2018
Démo
 Création d’une image ASP.NET Core
Déployer ses images ailleurs
Copyright Arnaud Weil 2011-2018
Déploiement via une Registry
PC développeur ou CI
bel-wordpress:1.0
Registry
mon-wordpress:1.0
mon-wordpress:0.5
Hébergement
bel-wordpress:1.0
Prod
bel-wordpress:1.0
Test
Copyright Arnaud Weil 2011-2018
Démo
 Publication dans une Registry
 Azure Container Instance
Orchestration de conteneurs
Copyright Arnaud Weil 2011-2018
Challenges
 Applications sur plusieurs conteneurs
 Applications sur plusieurs machines
 Gestion des resources
 Scaling
 Mises à jour
 Changement d’hébergeur
Copyright Arnaud Weil 2011-2018
…résolus par l’orchestration
 Kubernetes:
orchestration de
conteneurs
“platform for automating
deployment, scaling, and
operations of application
containers across clusters
of hosts”
https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
Copyright Arnaud Weil 2011-2018
Deux façons simples d’en avoir
 Local
 Docker CE pour Windows
 Cloud
 Azure AKS: Kubernetes managé
Copyright Arnaud Weil 2011-2018
Node 2Node 1
Service: Prod
Service: Test
Virtualisation des ressources
mon-wordpress:1.0
Prod
mon-wordpress:1.1
Test
mon-wordpress:1.0
Prod
mon-wordpress:1.1
Test
Copyright Arnaud Weil 2011-2018
Deploiement
 Description de l’état souhaité
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: mon-front
spec:
replicas: 1
template:
spec:
containers:
- name: mon-front
image: mon-wordpress:1.0
ports:
- containerPort: 80
kubectl create -f deploy.yaml
Node 1
1.0
Copyright Arnaud Weil 2011-2018
Démo
 Déploiement local
 Déploiement dans Azure
Copyright Arnaud Weil 2011-2018
Montée en charge
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: mon-front
spec:
replicas: 1 4
template:
spec:
containers:
- name: mon-front
image: mon-wordpress:1.0
ports:
- containerPort: 80
kubectl apply -f deploy.yaml
Node 1
1.0
1.0
Node 2
1.0
1.0
Copyright Arnaud Weil 2011-2018
Démo
 Montée en charge dans Azure
Copyright Arnaud Weil 2011-2018
Mise à jour progressive
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: mon-front
spec:
replicas: 4
template:
spec:
containers:
- name: mon-front
image: mon-wordpress:1.0 1.1
ports:
- containerPort: 80
kubectl apply -f deploy.yaml
Node 1
1.1
1.0
Node 2
1.0
1.0
Copyright Arnaud Weil 2011-2018
Démo
 Mise à jour dans Azure
 Scale out AKS
Copyright Arnaud Weil 2011-2018
Learn Collection
Copyright Arnaud Weil 2011-2018
Learn Microservices
 Apprendre en quelques jours
 Prérequis faibles
 ebook et papier
 https://leanpub.com/micro
 Amazon, etc.
Copyright Arnaud Weil 2011-2018
DevDay continue
 Votre aventure Azure DevOps commence ici!
 Salle 7, 13h15
Copyright Arnaud Weil 2011-2018
Questions-réponses
contact@aweil.fr
@epo
Slides: http://bit.ly/aw-devday18

Contenu connexe

Tendances

What's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsWhat's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsZenikaOuest
 
Les 10 bonnes raisons de choisir NetApp pour le DevOps
Les 10 bonnes raisons de choisir NetApp pour le DevOps Les 10 bonnes raisons de choisir NetApp pour le DevOps
Les 10 bonnes raisons de choisir NetApp pour le DevOps NetAppAsset
 
04 - [ASP.NET Core] Entity Framework Core
04 - [ASP.NET Core] Entity Framework Core 04 - [ASP.NET Core] Entity Framework Core
04 - [ASP.NET Core] Entity Framework Core Cellenza
 
Orchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp DockerOrchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp DockerThe Incredible Automation Day
 
DevOps & Docker : Open Source dans Azure
DevOps & Docker : Open Source dans AzureDevOps & Docker : Open Source dans Azure
DevOps & Docker : Open Source dans AzureMicrosoft
 
SnowCamp IO Grenoble 2017 - Bâtissons ensemble un pipeline avec Jenkins et Do...
SnowCamp IO Grenoble 2017 - Bâtissons ensemble un pipeline avec Jenkins et Do...SnowCamp IO Grenoble 2017 - Bâtissons ensemble un pipeline avec Jenkins et Do...
SnowCamp IO Grenoble 2017 - Bâtissons ensemble un pipeline avec Jenkins et Do...Damien Duportal
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipelineNicolas wallerand
 
02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC 02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC Cellenza
 
Apache flink - retour d'expérience sur la conférence flink forward 2015
Apache flink - retour d'expérience sur la conférence flink forward 2015Apache flink - retour d'expérience sur la conférence flink forward 2015
Apache flink - retour d'expérience sur la conférence flink forward 2015Bilal Baltagi
 
Paris Container Day 2016 : Cloudunit v2 (Treeptik)
Paris Container Day 2016 : Cloudunit v2 (Treeptik)Paris Container Day 2016 : Cloudunit v2 (Treeptik)
Paris Container Day 2016 : Cloudunit v2 (Treeptik)Publicis Sapient Engineering
 
Intro grpc.net
Intro  grpc.netIntro  grpc.net
Intro grpc.netMSDEVMTL
 
Distribuer une application avec Symfony & Docker *
Distribuer une application avec Symfony & Docker *Distribuer une application avec Symfony & Docker *
Distribuer une application avec Symfony & Docker *Thierry M.
 
Asp.net core 3
Asp.net core 3Asp.net core 3
Asp.net core 3MSDEVMTL
 
DevOps : mission [im]possible ?
DevOps : mission [im]possible ?DevOps : mission [im]possible ?
DevOps : mission [im]possible ?rfelden
 
Jenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverteJenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverteStephane Couzinier
 

Tendances (20)

What's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsWhat's Next Replay - IC / Jenkins
What's Next Replay - IC / Jenkins
 
Les 10 bonnes raisons de choisir NetApp pour le DevOps
Les 10 bonnes raisons de choisir NetApp pour le DevOps Les 10 bonnes raisons de choisir NetApp pour le DevOps
Les 10 bonnes raisons de choisir NetApp pour le DevOps
 
04 - [ASP.NET Core] Entity Framework Core
04 - [ASP.NET Core] Entity Framework Core 04 - [ASP.NET Core] Entity Framework Core
04 - [ASP.NET Core] Entity Framework Core
 
Orchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp DockerOrchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp Docker
 
DevOps & Docker : Open Source dans Azure
DevOps & Docker : Open Source dans AzureDevOps & Docker : Open Source dans Azure
DevOps & Docker : Open Source dans Azure
 
Jenkins Workflow
Jenkins WorkflowJenkins Workflow
Jenkins Workflow
 
Meetup aix-js-28-08-2017
Meetup aix-js-28-08-2017Meetup aix-js-28-08-2017
Meetup aix-js-28-08-2017
 
SnowCamp IO Grenoble 2017 - Bâtissons ensemble un pipeline avec Jenkins et Do...
SnowCamp IO Grenoble 2017 - Bâtissons ensemble un pipeline avec Jenkins et Do...SnowCamp IO Grenoble 2017 - Bâtissons ensemble un pipeline avec Jenkins et Do...
SnowCamp IO Grenoble 2017 - Bâtissons ensemble un pipeline avec Jenkins et Do...
 
REX Openshift à la Poste
REX Openshift à la PosteREX Openshift à la Poste
REX Openshift à la Poste
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipeline
 
Dev dev devs
Dev dev devsDev dev devs
Dev dev devs
 
02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC 02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC
 
Apache flink - retour d'expérience sur la conférence flink forward 2015
Apache flink - retour d'expérience sur la conférence flink forward 2015Apache flink - retour d'expérience sur la conférence flink forward 2015
Apache flink - retour d'expérience sur la conférence flink forward 2015
 
Paris Container Day 2016 : Cloudunit v2 (Treeptik)
Paris Container Day 2016 : Cloudunit v2 (Treeptik)Paris Container Day 2016 : Cloudunit v2 (Treeptik)
Paris Container Day 2016 : Cloudunit v2 (Treeptik)
 
Android installation
Android installationAndroid installation
Android installation
 
Intro grpc.net
Intro  grpc.netIntro  grpc.net
Intro grpc.net
 
Distribuer une application avec Symfony & Docker *
Distribuer une application avec Symfony & Docker *Distribuer une application avec Symfony & Docker *
Distribuer une application avec Symfony & Docker *
 
Asp.net core 3
Asp.net core 3Asp.net core 3
Asp.net core 3
 
DevOps : mission [im]possible ?
DevOps : mission [im]possible ?DevOps : mission [im]possible ?
DevOps : mission [im]possible ?
 
Jenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverteJenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverte
 

Similaire à Kubernetes et Docker sur Azure et Windows

Introduction à docker - Meetup WP Rennes
Introduction à docker - Meetup WP RennesIntroduction à docker - Meetup WP Rennes
Introduction à docker - Meetup WP RennesYann Nave
 
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et DerueGab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et DerueAZUG FR
 
Faire des applications web avec Delphi
Faire des applications web avec DelphiFaire des applications web avec Delphi
Faire des applications web avec Delphipprem
 
Docker le buzz est il justifié ?
Docker le buzz est il justifié ? Docker le buzz est il justifié ?
Docker le buzz est il justifié ? Romain Chalumeau
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET CoreMicrosoft
 
Meteor: you're going to love full-stack JavaScript. At last.
Meteor: you're going to love full-stack JavaScript. At last.Meteor: you're going to love full-stack JavaScript. At last.
Meteor: you're going to love full-stack JavaScript. At last.Arnaud Weil
 
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...AZUG FR
 
Nouveautés de App-V 5.0 et intégration avec System Center 2012
Nouveautés de App-V 5.0 et intégration avec System Center 2012Nouveautés de App-V 5.0 et intégration avec System Center 2012
Nouveautés de App-V 5.0 et intégration avec System Center 2012Microsoft Technet France
 
Le Developpement Web Aspnet2 Vb2005
Le Developpement Web Aspnet2   Vb2005Le Developpement Web Aspnet2   Vb2005
Le Developpement Web Aspnet2 Vb2005Gregory Renard
 
Devoteam REX OpenShift DevOps - Red Hat Roadshow Paris - avril 2018
Devoteam REX OpenShift DevOps - Red Hat Roadshow Paris - avril 2018Devoteam REX OpenShift DevOps - Red Hat Roadshow Paris - avril 2018
Devoteam REX OpenShift DevOps - Red Hat Roadshow Paris - avril 2018Cedric Girard
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinThierry Buisson
 
ASP.NET Core: Pourquoi, comment
ASP.NET Core:Pourquoi, commentASP.NET Core:Pourquoi, comment
ASP.NET Core: Pourquoi, commentArnaud Weil
 
Investir sur son API web (in French)
Investir sur son API web (in French)Investir sur son API web (in French)
Investir sur son API web (in French)Restlet
 
20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders BattleArnaud Héritier
 
BreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureBreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureNicolas Georgeault
 
Quoi de neuf dans ASP.NET MVC 4
Quoi de neuf dans ASP.NET MVC 4Quoi de neuf dans ASP.NET MVC 4
Quoi de neuf dans ASP.NET MVC 4Microsoft
 

Similaire à Kubernetes et Docker sur Azure et Windows (20)

Introduction à docker - Meetup WP Rennes
Introduction à docker - Meetup WP RennesIntroduction à docker - Meetup WP Rennes
Introduction à docker - Meetup WP Rennes
 
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et DerueGab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
 
Faire des applications web avec Delphi
Faire des applications web avec DelphiFaire des applications web avec Delphi
Faire des applications web avec Delphi
 
Docker le buzz est il justifié ?
Docker le buzz est il justifié ? Docker le buzz est il justifié ?
Docker le buzz est il justifié ?
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET Core
 
Meteor: you're going to love full-stack JavaScript. At last.
Meteor: you're going to love full-stack JavaScript. At last.Meteor: you're going to love full-stack JavaScript. At last.
Meteor: you're going to love full-stack JavaScript. At last.
 
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
 
Nouveautés de App-V 5.0 et intégration avec System Center 2012
Nouveautés de App-V 5.0 et intégration avec System Center 2012Nouveautés de App-V 5.0 et intégration avec System Center 2012
Nouveautés de App-V 5.0 et intégration avec System Center 2012
 
Le Developpement Web Aspnet2 Vb2005
Le Developpement Web Aspnet2   Vb2005Le Developpement Web Aspnet2   Vb2005
Le Developpement Web Aspnet2 Vb2005
 
Devoteam REX OpenShift DevOps - Red Hat Roadshow Paris - avril 2018
Devoteam REX OpenShift DevOps - Red Hat Roadshow Paris - avril 2018Devoteam REX OpenShift DevOps - Red Hat Roadshow Paris - avril 2018
Devoteam REX OpenShift DevOps - Red Hat Roadshow Paris - avril 2018
 
Nginx
NginxNginx
Nginx
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et Xamarin
 
Gdg lille-intro-to-kubernetes
Gdg lille-intro-to-kubernetesGdg lille-intro-to-kubernetes
Gdg lille-intro-to-kubernetes
 
Architecture j2 ee
Architecture j2 eeArchitecture j2 ee
Architecture j2 ee
 
ASP.NET Core: Pourquoi, comment
ASP.NET Core:Pourquoi, commentASP.NET Core:Pourquoi, comment
ASP.NET Core: Pourquoi, comment
 
Investir sur son API web (in French)
Investir sur son API web (in French)Investir sur son API web (in French)
Investir sur son API web (in French)
 
20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle
 
BreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureBreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec Azure
 
docker.pptx
docker.pptxdocker.pptx
docker.pptx
 
Quoi de neuf dans ASP.NET MVC 4
Quoi de neuf dans ASP.NET MVC 4Quoi de neuf dans ASP.NET MVC 4
Quoi de neuf dans ASP.NET MVC 4
 

Kubernetes et Docker sur Azure et Windows

  • 1. KUBERNETES ET DOCKER SUR AZURE ET WINDOWS DevDay 27 novembre 2018@epo
  • 3. Copyright Arnaud Weil 2011-2018 L’opposition DevOps  Déploiements et mise à jour fréquents  Créer facilement des ressources  Stabilité des applications de production  Supervision  Contrôle  Gerer l’infrastructure, pas des applications Les Devs veulent Les Ops veulent
  • 4. Copyright Arnaud Weil 2011-2018 App Application typique (simplifiée) Wordpress Wordpress 4.9 PHP 5.6 Apache app/*
  • 5. Copyright Arnaud Weil 2011-2018 App 1 App 2 Exemple de serveur (simplifié) Wordpress Wordpress 4.9 PHP 5.6 Apache app1/* Wordpress Wordpress 4.9 PHP 5.6 Apache app2/* Wordpress 4.9 PHP 5.6 Apache .NET .NET Core Node.JS PHP 7.0
  • 6. Copyright Arnaud Weil 2011-2018 App 1 Haute disponibilité Wordpress Wordpress 4.9 PHP 5.6 Apache app/* App 1 Wordpress Wordpress 4.9 PHP 5.6 Apache app/* App 1 Wordpress Wordpress 4.9 PHP 5.6 Apache app/* App 1 Wordpress Wordpress 4.9 PHP 5.6 Apache app/* Reverse proxy
  • 7. Copyright Arnaud Weil 2011-2018 V1.0 …et mise à jour Wordpress Wordpress 4.9 PHP 5.6 Apache app/* V1.0 Wordpress Wordpress 4.9 PHP 5.6 Apache app/* V1.0 Wordpress Wordpress 4.9 PHP 5.6 Apache app/* V2.0 Wordpress Wordpress 7.1 PHP 5.6 Apache app/* Reverse proxy
  • 9. Copyright Arnaud Weil 2011-2018 En bref  Containers: virtualisation légère  Isolation  Reproductibilité  MAIS ◼ Faibles ressources
  • 10. Copyright Arnaud Weil 2011-2018 Livrer était déjà compliqué
  • 11. Copyright Arnaud Weil 2011-2018 Les conteneurs: le standard
  • 12. Copyright Arnaud Weil 2011-2018 Homogénéité pour tous
  • 13. Copyright Arnaud Weil 2011-2018 Conteneurs en pratique  Demo: exécution locale docker run -p 8085:80 nginx
  • 14. Copyright Arnaud Weil 2011-2018 Avez-vous remarqué ?  Boîte noire pour les Ops  Multi-techno: .NET Core, PHP, Node.JS, Ruby, Java, Python, ...  Hébergement n’importe où: Hyper-V, Linux, Azure, AWS, Bluemix, hébergeur, cloud privé, ...
  • 16. Copyright Arnaud Weil 2011-2018 Docker  Largement répandu  Open source avec support niveau entreprise  Linux, Windows, Mac
  • 17. Copyright Arnaud Weil 2011-2018 Images Une application… …devient une image Wordpress Wordpress 4.9 PHP 5.6 Apache app/* mon-wordpress:1.0
  • 18. Copyright Arnaud Weil 2011-2018 Images Une image… bel- wordpres s:1.0 port 8087 bel- wordpres s:1.0 port 8088 mon-wordpress:1.0
  • 19. Copyright Arnaud Weil 2011-2018 Images Une image… …produit de nombreux containers mon-wordpress:1.0 mon-wordpress:1.0 port 8087 mon-wordpress:1.0 port 8088
  • 20. Copyright Arnaud Weil 2011-2018 Pour créer une image: fichier Dockerfile  …qui référence une autre image FROM wordpress:4.9.4-php5.6-apache COPY ./bel-en /var/www/html
  • 21. Copyright Arnaud Weil 2011-2018 Démo  Création d’une image ASP.NET Core
  • 23. Copyright Arnaud Weil 2011-2018 Déploiement via une Registry PC développeur ou CI bel-wordpress:1.0 Registry mon-wordpress:1.0 mon-wordpress:0.5 Hébergement bel-wordpress:1.0 Prod bel-wordpress:1.0 Test
  • 24. Copyright Arnaud Weil 2011-2018 Démo  Publication dans une Registry  Azure Container Instance
  • 26. Copyright Arnaud Weil 2011-2018 Challenges  Applications sur plusieurs conteneurs  Applications sur plusieurs machines  Gestion des resources  Scaling  Mises à jour  Changement d’hébergeur
  • 27. Copyright Arnaud Weil 2011-2018 …résolus par l’orchestration  Kubernetes: orchestration de conteneurs “platform for automating deployment, scaling, and operations of application containers across clusters of hosts” https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
  • 28. Copyright Arnaud Weil 2011-2018 Deux façons simples d’en avoir  Local  Docker CE pour Windows  Cloud  Azure AKS: Kubernetes managé
  • 29. Copyright Arnaud Weil 2011-2018 Node 2Node 1 Service: Prod Service: Test Virtualisation des ressources mon-wordpress:1.0 Prod mon-wordpress:1.1 Test mon-wordpress:1.0 Prod mon-wordpress:1.1 Test
  • 30. Copyright Arnaud Weil 2011-2018 Deploiement  Description de l’état souhaité apiVersion: apps/v1beta1 kind: Deployment metadata: name: mon-front spec: replicas: 1 template: spec: containers: - name: mon-front image: mon-wordpress:1.0 ports: - containerPort: 80 kubectl create -f deploy.yaml Node 1 1.0
  • 31. Copyright Arnaud Weil 2011-2018 Démo  Déploiement local  Déploiement dans Azure
  • 32. Copyright Arnaud Weil 2011-2018 Montée en charge apiVersion: apps/v1beta1 kind: Deployment metadata: name: mon-front spec: replicas: 1 4 template: spec: containers: - name: mon-front image: mon-wordpress:1.0 ports: - containerPort: 80 kubectl apply -f deploy.yaml Node 1 1.0 1.0 Node 2 1.0 1.0
  • 33. Copyright Arnaud Weil 2011-2018 Démo  Montée en charge dans Azure
  • 34. Copyright Arnaud Weil 2011-2018 Mise à jour progressive apiVersion: apps/v1beta1 kind: Deployment metadata: name: mon-front spec: replicas: 4 template: spec: containers: - name: mon-front image: mon-wordpress:1.0 1.1 ports: - containerPort: 80 kubectl apply -f deploy.yaml Node 1 1.1 1.0 Node 2 1.0 1.0
  • 35. Copyright Arnaud Weil 2011-2018 Démo  Mise à jour dans Azure  Scale out AKS
  • 36. Copyright Arnaud Weil 2011-2018 Learn Collection
  • 37. Copyright Arnaud Weil 2011-2018 Learn Microservices  Apprendre en quelques jours  Prérequis faibles  ebook et papier  https://leanpub.com/micro  Amazon, etc.
  • 38. Copyright Arnaud Weil 2011-2018 DevDay continue  Votre aventure Azure DevOps commence ici!  Salle 7, 13h15
  • 39. Copyright Arnaud Weil 2011-2018 Questions-réponses contact@aweil.fr @epo Slides: http://bit.ly/aw-devday18