SlideShare une entreprise Scribd logo
1  sur  32
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
1
Azure et les Microservices
Jean-Luc BOUCHO Julien CORIOLAND
Architecte, Manager Azure Technical Evangelist
@JeanLucBoucho @jcorioland
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
ORGANISATION GAB 2016
SPONSORS LOCAUX
2
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
• Architecture Microservices
• Azure Container Service
• Azure Service Fabric
SOMMAIRE
3
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
4
Architecture Microservices
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
• Martin Flower & James Lewis (http://martinfowler.com/articles/microservices.html)
« The microservice architectural style is an approach to developing a single
application as a suite of small services, each running in its own process and
communicating with lightweight mechanisms, often an HTTP resource API.
These services are built around business capabilities and independently
deployable by fully automated deployment machinery »
• Objectif : construire des Applications / Systèmes…
– Plus robustes
– Plus scalables
– Plus évolutifs
– Plus denses
Architecture Microservices
5
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
Monolithic versus Microservices…
6
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
…Monolithic versus Microservices
7
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
Architecture Microservices
8
Principes
- Découpage en Services
Métiers capables
d’évoluer de manière
indépendante
- Gouvernance
« Produit »
- Communication
interservices légère (pas
d’ESB)
- Gestion des Données
décentralisée
- Infrastructure
automatisée
Challenges
- Granularité du Service
- Dépendances
interservices
- Gestion des services
- Transactions multi-
services
- Synchronisation des
Données
- Gestion de la sécurité
Approches
- DDD
- Mécanismes de
résilience (circuit breaker,
retries, fallback…)
- DevOps (CI/CD)
- Cloud
- Container
- API Gateway
- Suivi des Performances
- Agrégation des Logs
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
• Netflix
• Linkedin
• Amazon
• Ebay
• Google
• ING
• …
Adoption… #Microservices
9
Shop Example (http://fr.slideshare.net/smancke/fros-con2014-microservicesarchitecture)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
• Docker Swarm et Docker Compose
• Mesosphere DCOS, avec Apache Mesos et Marathon
-> Azure Container Service
• Kubernetes
• Red Hat OpenShift
• Pivotal Cloud Foundry
-> Azure VMs
-> Azure Service Fabric
Plateformes Microservices
10
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
Azure Container Service
11
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
Machine Virtuelles VS Conteneurs
Host OS
Hypervisor
Host OS
Container Engine
Guest
OS
Guest
OS
Guest
OS
App
Framework
App C
App
Framework
App
Framework
AppA
AppA’
AppB
AppB’
AppC
AppC’
AppC’’
App
Framework
App B
App
Framework
App A
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
La “mission” de Docker
Build Ship Run
Anywhere
Distributed Applications
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
API DBWeb
Docker Hub/
Repository
Update, customize, add code
Pull
images
Publish
Deploy
containers
WebWeb Web
API
API
DB
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
• Azure Virtual Machine
– Utilisation des images « Container Apps » de la Marketplace
– Création via Docker Machine
– Utilisation de Docker Virtual Machine Extension for Linux
Docker sur Azure
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
DÉMO
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
Developer Workstation
Container
Container
Container
Container
Container
Container
Container
Container
Container
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
• Azure Container Service
– Utilisation d’un cluster d’hôtes
– Automatisation de la création de l’infrastructure
– Choix entre Docker Swarm ou Apache Mesos (Marathon et Chronos)
Docker sur Azure #2
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
DÉMO
Azure Container Services
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
Docker & Windows
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
Azure Service Fabric
23
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
La plateforme Microsoft Azure Service Fabric
Service FabricHigh Availability
Hyper-Scale
Hybrid Operations
High Density
Microservices
Rolling Upgrades
Stateful Services
Low Latency
Fast Startup &
Shutdown
Code Orchestration &
Lifecycle Management
Replication &
Failover
Simple
programming
models
Resource Management
Self-healingData Partitioning
Automated Rollback
Health
Monitoring
Placement
Constraints
Azure Private cloud Other clouds
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
• Azure Service Fabric est GA
– Création de Clusters via ARM &
Portail
– Améliorations de Performance,
Densité & Scalabilité
– Améliorations API
• Preview
– Support Linux
– Support Java
– Containers Docker & Windows
– Clusters On-Premises
//BUILD 2016
25
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
• Service Type = Package de Code + Config + Data
– Unité de versioning et de mise à jour
• Code (EntryPoint)
– Tout exécutable
– “Reliable Services” API, stateless ou statefull (ReliableDictionary ou ReliableQueue)
– “Reliable Actors” API, stateless ou statefull
– Containers Docker
Principes (1/2)
26
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
• Instances / Replicas
• Partitionnement
Principes (2/2)
27
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
var requestQueue =
await this.StateManager.GetOrAddAsync<IReliableQueue<CustomerRecord>>(“requests");
var personDictionary =
await this.StateManager.GetOrAddAsync<IReliableDictionary<Guid, Person>>(“ppl");
...
using (var tx = this.StateManager.CreateTransaction())
{
var customerRequestResult = await requestQueue.TryDequeueAsync(tx);
await personDictionary.AddAsync(tx, customerId, customerRequestResult.Value.person);
await tx.CommitAsync();
}
Transaction de modification
28
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
• Monitoring
– Statut de bonne santé
– Métriques pour les Actors et Services
• Diagnostique et Troubleshooting
– Logs de la plateforme (création de l’application, mises à jour…)
– Logs custom : avec tracing ETW
– Outillage
• Visual Studio Diagnostics Events Viewer
• Windows Event Viewer
• Windows Azure Diagnostics + Operational Insights
• Intégration possible avec d’autres outils: Kibana, Elasticsearch, …
Supervision
29
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
• Service Fabric : http://aka.ms/ServiceFabric
• Documentation : http://aka.ms/ServiceFabricDocs
• Examples : http://aka.ms/ServiceFabricSamples
• SDK : http://aka.ms/ServiceFabricSDK
• Service Fabric pour Windows Server :
http://aka.ms/ServiceFabricWS2012R2
• Inscription à Service Fabric pour Linux : http://aka.ms/SFlinuxpreview
• Feedback : http://aka.ms/ServiceFabricForum
Liens
30
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
31
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
ORGANISATION GAB 2016
SPONSORS LOCAUX
32

Contenu connexe

Tendances

Cnam azure 2014 Intro et présentation générale de la plateforme
Cnam azure 2014   Intro et présentation générale de la plateformeCnam azure 2014   Intro et présentation générale de la plateforme
Cnam azure 2014 Intro et présentation générale de la plateforme
Aymeric Weinbach
 
INRIA continuous integration plaftorm
INRIA continuous integration plaftormINRIA continuous integration plaftorm
INRIA continuous integration plaftorm
buildacloud
 

Tendances (16)

Gab paris 2015 automatisation
Gab paris 2015   automatisationGab paris 2015   automatisation
Gab paris 2015 automatisation
 
Microsoft azure boot camp Keynote
Microsoft azure boot camp Keynote Microsoft azure boot camp Keynote
Microsoft azure boot camp Keynote
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
 
Manon Pernin - Déploiement automatisé d’un environnement dans Azure - Global ...
Manon Pernin - Déploiement automatisé d’un environnement dans Azure - Global ...Manon Pernin - Déploiement automatisé d’un environnement dans Azure - Global ...
Manon Pernin - Déploiement automatisé d’un environnement dans Azure - Global ...
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
 
Gab2015 vincent thavonekham_alm_devops_complète_en30_min_et_comment_gérer_la_...
Gab2015 vincent thavonekham_alm_devops_complète_en30_min_et_comment_gérer_la_...Gab2015 vincent thavonekham_alm_devops_complète_en30_min_et_comment_gérer_la_...
Gab2015 vincent thavonekham_alm_devops_complète_en30_min_et_comment_gérer_la_...
 
[DevTestday] Gouvernance Dev/Test Azure
[DevTestday] Gouvernance Dev/Test Azure[DevTestday] Gouvernance Dev/Test Azure
[DevTestday] Gouvernance Dev/Test Azure
 
[DevTestday] Azure service fabric - Radoine Douhou
[DevTestday] Azure service fabric -  Radoine Douhou[DevTestday] Azure service fabric -  Radoine Douhou
[DevTestday] Azure service fabric - Radoine Douhou
 
[DevTestday] Keynote
[DevTestday] Keynote [DevTestday] Keynote
[DevTestday] Keynote
 
Cnam azure 2014 Intro et présentation générale de la plateforme
Cnam azure 2014   Intro et présentation générale de la plateformeCnam azure 2014   Intro et présentation générale de la plateforme
Cnam azure 2014 Intro et présentation générale de la plateforme
 
INRIA continuous integration plaftorm
INRIA continuous integration plaftormINRIA continuous integration plaftorm
INRIA continuous integration plaftorm
 
Maxime Rastello - La gestion des identités avec Azure - Global Azure Bootcamp...
Maxime Rastello - La gestion des identités avec Azure - Global Azure Bootcamp...Maxime Rastello - La gestion des identités avec Azure - Global Azure Bootcamp...
Maxime Rastello - La gestion des identités avec Azure - Global Azure Bootcamp...
 
Commencer le IaaS sur Azure - aOS Tahiti 03-03-2020
Commencer le IaaS sur Azure - aOS Tahiti 03-03-2020Commencer le IaaS sur Azure - aOS Tahiti 03-03-2020
Commencer le IaaS sur Azure - aOS Tahiti 03-03-2020
 
[DevTestday] Continuous Delivery d'une Infra Dev/Test Azure - Olivier Delmotte
[DevTestday] Continuous Delivery d'une Infra Dev/Test Azure - Olivier Delmotte[DevTestday] Continuous Delivery d'une Infra Dev/Test Azure - Olivier Delmotte
[DevTestday] Continuous Delivery d'une Infra Dev/Test Azure - Olivier Delmotte
 
Automati(sati)on de votre application Azure
Automati(sati)on de votre application AzureAutomati(sati)on de votre application Azure
Automati(sati)on de votre application Azure
 

En vedette

En vedette (16)

Julien Corioland - Keynote - Global Azure Bootcamp 2016 Paris
Julien Corioland - Keynote - Global Azure Bootcamp 2016 ParisJulien Corioland - Keynote - Global Azure Bootcamp 2016 Paris
Julien Corioland - Keynote - Global Azure Bootcamp 2016 Paris
 
Aymeric Weinbach - IoT et Azure - Global Azure Bootcamp 2016 Paris
Aymeric Weinbach - IoT et Azure - Global Azure Bootcamp 2016 ParisAymeric Weinbach - IoT et Azure - Global Azure Bootcamp 2016 Paris
Aymeric Weinbach - IoT et Azure - Global Azure Bootcamp 2016 Paris
 
Global Windows Azure Bootcamp : Samuel et Emilien Pécoul, Florent Pelet Legac...
Global Windows Azure Bootcamp : Samuel et Emilien Pécoul, Florent Pelet Legac...Global Windows Azure Bootcamp : Samuel et Emilien Pécoul, Florent Pelet Legac...
Global Windows Azure Bootcamp : Samuel et Emilien Pécoul, Florent Pelet Legac...
 
DCOS Presentation
DCOS PresentationDCOS Presentation
DCOS Presentation
 
Déploiement dans Azure depuis VSTS
Déploiement dans Azure depuis VSTSDéploiement dans Azure depuis VSTS
Déploiement dans Azure depuis VSTS
 
David Joubert - Workshop Azure ML - Azure Data Factory - Global Azure Bootcam...
David Joubert - Workshop Azure ML - Azure Data Factory - Global Azure Bootcam...David Joubert - Workshop Azure ML - Azure Data Factory - Global Azure Bootcam...
David Joubert - Workshop Azure ML - Azure Data Factory - Global Azure Bootcam...
 
Introduction to Apache Mesos
Introduction to Apache MesosIntroduction to Apache Mesos
Introduction to Apache Mesos
 
Introduction to Apache Mesos
Introduction to Apache MesosIntroduction to Apache Mesos
Introduction to Apache Mesos
 
Mesosphere quick overview
Mesosphere quick overviewMesosphere quick overview
Mesosphere quick overview
 
Azure Cloud PPT
Azure Cloud PPTAzure Cloud PPT
Azure Cloud PPT
 
Le futur n'est plus ce qu'il était
Le futur n'est plus ce qu'il étaitLe futur n'est plus ce qu'il était
Le futur n'est plus ce qu'il était
 
MSEXP : Monitoring et sécurisation des identités Azure
MSEXP : Monitoring et sécurisation des identités AzureMSEXP : Monitoring et sécurisation des identités Azure
MSEXP : Monitoring et sécurisation des identités Azure
 
[GAB2016] Azure et les Microservices - Jean-Luc Boucho
[GAB2016] Azure et les Microservices - Jean-Luc Boucho[GAB2016] Azure et les Microservices - Jean-Luc Boucho
[GAB2016] Azure et les Microservices - Jean-Luc Boucho
 
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekham
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekhamObjet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekham
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekham
 
Office 365 hybride, et si on parlait retour d’expériences ! - Global Azure Bo...
Office 365 hybride, et si on parlait retour d’expériences ! - Global Azure Bo...Office 365 hybride, et si on parlait retour d’expériences ! - Global Azure Bo...
Office 365 hybride, et si on parlait retour d’expériences ! - Global Azure Bo...
 
Open source et microsoft azure reve ou realite ?
Open source et microsoft azure reve ou realite ?Open source et microsoft azure reve ou realite ?
Open source et microsoft azure reve ou realite ?
 

Similaire à J.L. Boucho, J.Corioland - Azure et les Microservices - Global Azure Bootcamp 2016 Paris

Windows Azure Camp du mardi 10 décembre 2013
Windows Azure Camp du mardi 10 décembre 2013Windows Azure Camp du mardi 10 décembre 2013
Windows Azure Camp du mardi 10 décembre 2013
Microsoft Technet France
 
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
vlabatut
 
Présentation partner coliseum
Présentation partner coliseumPrésentation partner coliseum
Présentation partner coliseum
biswajit44
 

Similaire à J.L. Boucho, J.Corioland - Azure et les Microservices - Global Azure Bootcamp 2016 Paris (20)

Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
 
Déploiement automatisé d'un environnement dans Azure
Déploiement automatisé d'un environnement  dans AzureDéploiement automatisé d'un environnement  dans Azure
Déploiement automatisé d'un environnement dans Azure
 
[Gab2016] Déploiement automatisé d'un environnement dans Azure - Manon Pernin
[Gab2016] Déploiement automatisé d'un environnement dans Azure - Manon Pernin[Gab2016] Déploiement automatisé d'un environnement dans Azure - Manon Pernin
[Gab2016] Déploiement automatisé d'un environnement dans Azure - Manon Pernin
 
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
 
Gab2015 Jean-Marie Crommen Docker sur Azure
Gab2015 Jean-Marie Crommen Docker sur AzureGab2015 Jean-Marie Crommen Docker sur Azure
Gab2015 Jean-Marie Crommen Docker sur Azure
 
Azure Serverless C2S
Azure Serverless C2SAzure Serverless C2S
Azure Serverless C2S
 
[GAB2016] La gestion des identités avec Azure - Maxime Rastello
[GAB2016] La gestion des identités avec Azure - Maxime Rastello [GAB2016] La gestion des identités avec Azure - Maxime Rastello
[GAB2016] La gestion des identités avec Azure - Maxime Rastello
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
 
Meetup - Construire des applications serverless avec Azure
Meetup - Construire des applications serverless avec AzureMeetup - Construire des applications serverless avec Azure
Meetup - Construire des applications serverless avec Azure
 
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...
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeurs
 
Windows Azure Camp du mardi 10 décembre 2013
Windows Azure Camp du mardi 10 décembre 2013Windows Azure Camp du mardi 10 décembre 2013
Windows Azure Camp du mardi 10 décembre 2013
 
Windows HPC server sur Windows Azure (100
Windows HPC server sur Windows Azure (100Windows HPC server sur Windows Azure (100
Windows HPC server sur Windows Azure (100
 
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
 
TIAD 2016 : Accenture Devops Platform dans Microsoft Azure
TIAD 2016 : Accenture Devops Platform dans Microsoft AzureTIAD 2016 : Accenture Devops Platform dans Microsoft Azure
TIAD 2016 : Accenture Devops Platform dans Microsoft Azure
 
SUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSP
 
Architecture Moderne dans le Cloud en 2018
Architecture Moderne dans le Cloud en 2018Architecture Moderne dans le Cloud en 2018
Architecture Moderne dans le Cloud en 2018
 
[GAB2016] Workshop - Industrialisez vos expérimentations Azure Machine Learni...
[GAB2016] Workshop - Industrialisez vos expérimentations Azure Machine Learni...[GAB2016] Workshop - Industrialisez vos expérimentations Azure Machine Learni...
[GAB2016] Workshop - Industrialisez vos expérimentations Azure Machine Learni...
 
Présentation partner coliseum
Présentation partner coliseumPrésentation partner coliseum
Présentation partner coliseum
 

Plus de AZUG FR

Meetup AZUG FR @ IdeaStudio - 5 Février 2019
Meetup AZUG FR @ IdeaStudio - 5 Février 2019Meetup AZUG FR @ IdeaStudio - 5 Février 2019
Meetup AZUG FR @ IdeaStudio - 5 Février 2019
AZUG FR
 

Plus de AZUG FR (20)

I want my model to be deployed ! (another story of MLOps)
I want my model to be deployed ! (another story of MLOps)I want my model to be deployed ! (another story of MLOps)
I want my model to be deployed ! (another story of MLOps)
 
Packer, Terraform, Ansible avec Azure
Packer, Terraform, Ansible avec AzurePacker, Terraform, Ansible avec Azure
Packer, Terraform, Ansible avec Azure
 
Tester avant de déployer ; comment tester ses déploiements ARM.
Tester avant de déployer ; comment tester ses déploiements ARM.Tester avant de déployer ; comment tester ses déploiements ARM.
Tester avant de déployer ; comment tester ses déploiements ARM.
 
Dev & run d'un site marchant dans Azure
Dev & run d'un site marchant dans AzureDev & run d'un site marchant dans Azure
Dev & run d'un site marchant dans Azure
 
Azure DNS Privé
Azure DNS PrivéAzure DNS Privé
Azure DNS Privé
 
Meetup AZUG FR @ IdeaStudio - 5 Février 2019
Meetup AZUG FR @ IdeaStudio - 5 Février 2019Meetup AZUG FR @ IdeaStudio - 5 Février 2019
Meetup AZUG FR @ IdeaStudio - 5 Février 2019
 
Cedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsCedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure Devops
 
Ignite 2018 - Nouveautés governance et management (Manon Pernin)
Ignite 2018 - Nouveautés governance et management (Manon Pernin)Ignite 2018 - Nouveautés governance et management (Manon Pernin)
Ignite 2018 - Nouveautés governance et management (Manon Pernin)
 
Ignite 2018 - Nouveauté stockage (Didier Esteves)
Ignite 2018 - Nouveauté stockage (Didier Esteves)Ignite 2018 - Nouveauté stockage (Didier Esteves)
Ignite 2018 - Nouveauté stockage (Didier Esteves)
 
Ignite 2018 - Coups de coeur (Benoit Sautiere)
Ignite 2018 - Coups de coeur (Benoit Sautiere)Ignite 2018 - Coups de coeur (Benoit Sautiere)
Ignite 2018 - Coups de coeur (Benoit Sautiere)
 
Ignite 2018 - nouveautés sécurité et réseau (Laurent Yin)
Ignite 2018 - nouveautés sécurité et réseau (Laurent Yin)Ignite 2018 - nouveautés sécurité et réseau (Laurent Yin)
Ignite 2018 - nouveautés sécurité et réseau (Laurent Yin)
 
GAB 2018 PARIS - Enrichir vos applications avec Azure AI services par Houssem...
GAB 2018 PARIS - Enrichir vos applications avec Azure AI services par Houssem...GAB 2018 PARIS - Enrichir vos applications avec Azure AI services par Houssem...
GAB 2018 PARIS - Enrichir vos applications avec Azure AI services par Houssem...
 
GAB 2018 PARIS - Mettez un peu de CI/CD dans vos projets data! par Guillaume...
GAB 2018 PARIS - Mettez un peu de CI/CD dans vos projets data!  par Guillaume...GAB 2018 PARIS - Mettez un peu de CI/CD dans vos projets data!  par Guillaume...
GAB 2018 PARIS - Mettez un peu de CI/CD dans vos projets data! par Guillaume...
 
GAB 2018 PARIS - Gouvernance Azure, comment éviter les écueils par Benoît Sau...
GAB 2018 PARIS - Gouvernance Azure, comment éviter les écueils par Benoît Sau...GAB 2018 PARIS - Gouvernance Azure, comment éviter les écueils par Benoît Sau...
GAB 2018 PARIS - Gouvernance Azure, comment éviter les écueils par Benoît Sau...
 
Meetup AZUG FR Dec 2017 @ Arolla
Meetup AZUG FR Dec 2017 @ ArollaMeetup AZUG FR Dec 2017 @ Arolla
Meetup AZUG FR Dec 2017 @ Arolla
 
Meetup AZUG FR Oct 2017 @ Cellenza
Meetup AZUG FR Oct 2017 @ CellenzaMeetup AZUG FR Oct 2017 @ Cellenza
Meetup AZUG FR Oct 2017 @ Cellenza
 
Analysez vos textes avec Cognitive Services
Analysez vos textes avec Cognitive ServicesAnalysez vos textes avec Cognitive Services
Analysez vos textes avec Cognitive Services
 
Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...
Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...
Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...
 
Gab17 lyon - Blockchain as a service dans Azure by Igor Leontiev
Gab17 lyon - Blockchain as a service dans Azure by Igor LeontievGab17 lyon - Blockchain as a service dans Azure by Igor Leontiev
Gab17 lyon - Blockchain as a service dans Azure by Igor Leontiev
 
GAB 2017 PARIS - IoT Azure - Aymeric Weinbach
GAB 2017 PARIS - IoT Azure - Aymeric WeinbachGAB 2017 PARIS - IoT Azure - Aymeric Weinbach
GAB 2017 PARIS - IoT Azure - Aymeric Weinbach
 

J.L. Boucho, J.Corioland - Azure et les Microservices - Global Azure Bootcamp 2016 Paris

  • 1. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE 1 Azure et les Microservices Jean-Luc BOUCHO Julien CORIOLAND Architecte, Manager Azure Technical Evangelist @JeanLucBoucho @jcorioland
  • 2. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE ORGANISATION GAB 2016 SPONSORS LOCAUX 2
  • 3. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE • Architecture Microservices • Azure Container Service • Azure Service Fabric SOMMAIRE 3
  • 4. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE 4 Architecture Microservices
  • 5. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE • Martin Flower & James Lewis (http://martinfowler.com/articles/microservices.html) « The microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery » • Objectif : construire des Applications / Systèmes… – Plus robustes – Plus scalables – Plus évolutifs – Plus denses Architecture Microservices 5
  • 6. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE Monolithic versus Microservices… 6
  • 7. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE …Monolithic versus Microservices 7
  • 8. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE Architecture Microservices 8 Principes - Découpage en Services Métiers capables d’évoluer de manière indépendante - Gouvernance « Produit » - Communication interservices légère (pas d’ESB) - Gestion des Données décentralisée - Infrastructure automatisée Challenges - Granularité du Service - Dépendances interservices - Gestion des services - Transactions multi- services - Synchronisation des Données - Gestion de la sécurité Approches - DDD - Mécanismes de résilience (circuit breaker, retries, fallback…) - DevOps (CI/CD) - Cloud - Container - API Gateway - Suivi des Performances - Agrégation des Logs
  • 9. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE • Netflix • Linkedin • Amazon • Ebay • Google • ING • … Adoption… #Microservices 9 Shop Example (http://fr.slideshare.net/smancke/fros-con2014-microservicesarchitecture)
  • 10. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE • Docker Swarm et Docker Compose • Mesosphere DCOS, avec Apache Mesos et Marathon -> Azure Container Service • Kubernetes • Red Hat OpenShift • Pivotal Cloud Foundry -> Azure VMs -> Azure Service Fabric Plateformes Microservices 10
  • 11. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE Azure Container Service 11
  • 12. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE Machine Virtuelles VS Conteneurs Host OS Hypervisor Host OS Container Engine Guest OS Guest OS Guest OS App Framework App C App Framework App Framework AppA AppA’ AppB AppB’ AppC AppC’ AppC’’ App Framework App B App Framework App A
  • 13. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE La “mission” de Docker Build Ship Run Anywhere Distributed Applications
  • 14. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE API DBWeb Docker Hub/ Repository Update, customize, add code Pull images Publish Deploy containers WebWeb Web API API DB
  • 15. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE • Azure Virtual Machine – Utilisation des images « Container Apps » de la Marketplace – Création via Docker Machine – Utilisation de Docker Virtual Machine Extension for Linux Docker sur Azure
  • 16. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE DÉMO
  • 17. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
  • 18. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE Developer Workstation Container Container Container Container Container Container Container Container Container
  • 19. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
  • 20. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE • Azure Container Service – Utilisation d’un cluster d’hôtes – Automatisation de la création de l’infrastructure – Choix entre Docker Swarm ou Apache Mesos (Marathon et Chronos) Docker sur Azure #2
  • 21. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE DÉMO Azure Container Services
  • 22. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE Docker & Windows
  • 23. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE Azure Service Fabric 23
  • 24. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE La plateforme Microsoft Azure Service Fabric Service FabricHigh Availability Hyper-Scale Hybrid Operations High Density Microservices Rolling Upgrades Stateful Services Low Latency Fast Startup & Shutdown Code Orchestration & Lifecycle Management Replication & Failover Simple programming models Resource Management Self-healingData Partitioning Automated Rollback Health Monitoring Placement Constraints Azure Private cloud Other clouds
  • 25. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE • Azure Service Fabric est GA – Création de Clusters via ARM & Portail – Améliorations de Performance, Densité & Scalabilité – Améliorations API • Preview – Support Linux – Support Java – Containers Docker & Windows – Clusters On-Premises //BUILD 2016 25
  • 26. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE • Service Type = Package de Code + Config + Data – Unité de versioning et de mise à jour • Code (EntryPoint) – Tout exécutable – “Reliable Services” API, stateless ou statefull (ReliableDictionary ou ReliableQueue) – “Reliable Actors” API, stateless ou statefull – Containers Docker Principes (1/2) 26
  • 27. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE • Instances / Replicas • Partitionnement Principes (2/2) 27
  • 28. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE var requestQueue = await this.StateManager.GetOrAddAsync<IReliableQueue<CustomerRecord>>(“requests"); var personDictionary = await this.StateManager.GetOrAddAsync<IReliableDictionary<Guid, Person>>(“ppl"); ... using (var tx = this.StateManager.CreateTransaction()) { var customerRequestResult = await requestQueue.TryDequeueAsync(tx); await personDictionary.AddAsync(tx, customerId, customerRequestResult.Value.person); await tx.CommitAsync(); } Transaction de modification 28
  • 29. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE • Monitoring – Statut de bonne santé – Métriques pour les Actors et Services • Diagnostique et Troubleshooting – Logs de la plateforme (création de l’application, mises à jour…) – Logs custom : avec tracing ETW – Outillage • Visual Studio Diagnostics Events Viewer • Windows Event Viewer • Windows Azure Diagnostics + Operational Insights • Intégration possible avec d’autres outils: Kibana, Elasticsearch, … Supervision 29
  • 30. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE • Service Fabric : http://aka.ms/ServiceFabric • Documentation : http://aka.ms/ServiceFabricDocs • Examples : http://aka.ms/ServiceFabricSamples • SDK : http://aka.ms/ServiceFabricSDK • Service Fabric pour Windows Server : http://aka.ms/ServiceFabricWS2012R2 • Inscription à Service Fabric pour Linux : http://aka.ms/SFlinuxpreview • Feedback : http://aka.ms/ServiceFabricForum Liens 30
  • 31. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE 31
  • 32. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE ORGANISATION GAB 2016 SPONSORS LOCAUX 32

Notes de l'éditeur

  1. Virtual Machines Each VM has independent, full OS Full isolation Separate app frameworks Support features such as live migration Containers Shared Host OS Near instant start-up Processes in containers are isolated Dependent app services and libraries are tied to container (layers) All containers on a host will share the OS version
  2. Tagline de Docker en ce moment : Build, Ship, Run, Any App, Anywhere
  3. Aller sur la documentation Azure Container Service sur azure.com pour trouver le Get Started Trouver le template ACS qui correspond au déploiement que l’on souhaite puis Deploy to Azure Expliquer quelques uns des paramètres nécessaires pour la création du template Aller montrer un déploiement existant Connexion en SSH au master ssh -i /c/Users/benjat/.ssh/benjatswarm benjat@benjatswarmmgmt.northeurope.cloudapp.azure.com -A -p 2200 docker ps pour voir le swarm manage docker -H 10.0.0.5:2375 pour aller voir le swarm join