SlideShare une entreprise Scribd logo
Micro-services
Applications monolithiques
Toutes les fonctionnalités dans un seul process….
Le scalling se fait en répliquant l’application complète
Sur plusieurs serveurs.
Griefs contre les applications monolithiques
Maitrise
fonctionnelle
Onboarding
des
ressources
Perte de
connaissance
métier
Difficulté à
Refactorer
Evolutivité
Migration
Couts de
recette
exponentiels
Baisse de
qualité
Moins en
moins de V.A
métier
Incapacité générale à répondre rapidement
et de façon pertinente aux besoins
Frein à l’innovation !!!
Applications monolithiques
Toutes les fonctionnalités dans un seul process….
Chaque fonctionnalité de l’application se traduit par
un service
Les services sont répliqués sur différents serveurs
En fonction des besoins.
Une définition des micro-services
Qu’est-ce qu’un microservice?
Les caractéristiques des micro-services
« Componentization» (Autonome / isolé)
Organisé autour de « business capabilities »
Elastique, Résiliant et « Responsive »
Orienté message et « Smart end points »
Configurable et automatisé
Gouvernance décentralisée et monitoring
intelligent
Organisé autour de business capabilities
UI specialist
Middleware
dba
Front
Organisé autour de business capabilities
Un principe de base fort
« You build it,
you deploy it,
you run it »
Data Management décentralisé
Front Front
Quelle est la taille d’un micro-service ?
« Quelle est la bonne
granularité ? »
2 équipes, 10 micro-services
10 équipes, 10 micro-services
10 équipes, 100 micro-services
2 équipes, 100 micro-services
Quelques idées reçues
1. Mon application est sur Docker donc elle est micro-service.
2. Les architectures micro-services vont résoudre tous mes problèmes.
3. Les applications monolithiques sont « has been ».
4. Les micro-services remplacent la SOA.
Une filiation avec la SOA ?
Qu’est-ce que
SOA ?
Capacité d’une application à exposer ses
fonctionnalités sous forme de services (web),
découvrables et consommables ?
Bus de service (ESB) centralisé dans lequel
beaucoup (trop) de règles métiers ont été codées
et qui est une étape indispensable à la
consommation/ exposition d’un service ?
Micro-services
»
Concrètement
A quoi cela ressemble ?
Architecture en couches
Architecture d’un micro-service
API
 Qui dit micro-service, dit API !
 2 API :
 API public pour communiquer avec le « monde extérieur »
 API privée dite admin pour administrer, paramétrer le service
 Deux techniques pour requêter un service :
 GetProfilesById
 GET http://myapi.looksfamiliar.com/profiles/user/id/99999
 GetProfilesByLocation
 GET http://myapi.looksfamiliar.com/profiles?location=Massachusetts
Un exemple ?
• Connaissez-vous une plateforme écrite sous forme de microservices ?
Comment y aller ?
Approche bottom-up
La principale
erreur est de
commencer
avec les micro-
services
Démarche de transition Top - Down
Source : Xebia NL
Démarche itérative
Site eCommerce
Catalogue
Tunnel Commande
Client
Commande
Démarche itérative
Site eCommerce
Catalogue
Tunnel Commande
Client
Commande
Les challenges
Tout n’est pas si simple….
Montée de version / Upgrade
Site eCommerce
Catalogue
Tunnel Commande
Client
Commande
V1
V1
V1
Montée de version / Upgrade
Site eCommerce
Catalogue
Tunnel Commande
Client
Commande
V1
V1
V2
Deploy V2
Montée de version / Upgrade
Site eCommerce
Catalogue
Tunnel Commande
Client
Commande
V2
V1
V2
Deploy V2
Upgrade V2
Montée de version / Upgrade
Site eCommerce
Catalogue
Tunnel Commande
Client
Commande
V2
V2
V2
Deploy V2
Solution : Gatekeper
Site eCommerce
Catalogue
Tunnel Commande
Client
Commande
/Products
/Products/Id
/Bulk_add
Déploiements
Service A
Service B
Service C – v1
v1
v1
Déploiements
Service A
Service B
Service C – v2
v1
v1
Deploy V2
Solution : Semantic Versioning
Service A
Service B
Service C – v1.2
v1
v1
Deploy V1.2
Pas de rupture côté interface
Solution : Semantic Versioning
Service A
Service B
Service C – v1.2
v1
v1
Deploy V2
Service C – v2
Solution : Semantic Versioning
Service A
Service B
Service C – v1.2
v1
v2
Deploy V2
Service C – v2
Solution : Semantic Versioning
Service A
Service B
Service C – v1.2
v2
v2
Deploy V2
Service C – v2
Montée en charge
Montée en charge
Site eCommerce
Catalogue
Tunnel Commande
Client
Commande
Solution : amortissement via queues
Solution : Queue / Asynchronisme
Site eCommerce
Catalogue
Tunnel Commande
Client
Commande
Worker
Configuration Management
Solution : Discovery Service
Solution : Discovery Service
Enfer du débugging
Enfer du débugging
Solution : Correlation ID
Solution : Correlation ID
1. Tagguer avec un ID tous les messages entrants
2. Le service enregistre l’ID
3. L’ID est transmis au service de logs
4. Tagguer toute nouvelle requête avec cet ID
Les bouchons (Mocks)
Les bouchons (Mocks)
Mock : le service fournit le bouchon
Mock : Le service possède un client
Multi-techno / Multi-plateform
En synthèse
Du monolithe aux micro-services
En ai-je
vraiment
besoin ?
Mon
organisation
est-elle
mature ?
Mon infra et
mes
pratiques
logicielles
sont-elles
matures ?
API
Service
Cache
DB
API
Service
Cache
DB
API
Service
Cache
DB
API Management
API
Service
Cache
DB
Service bus
Protocole AMQP
User Interface (ISIS Web 2)
Queues
Pub/SubSynchronous
Asynchronous
External Network
ISIS Open
Data
REST / JSON REST / JSON
SOAP / WCF REST / JSON
SignalR
Un exemple d’application
Quelques solutions
Infrastructure et plateforme
 Docker extensions pour les VM Linux
 Azure Container Service : simplifier la création /
configuration, la gestion de cluster de VM Azure pour
des applications containerisés.
 Apache Mesos ou Docker Swarm pour l’orchestration
des applications.
Cloud Services et App Services
Azure Service Fabric
 Plateforme distribuée pour
développer, packager, déployer,
hoster, gérer des micro-services pour
des applications à grande échelle.
 Fournit également un Framework
pour coder/packager les micro-
services (afin de profiter pleinement
des capacités offertes par la
plateforme).
 Services stateless / statefull.
 Multi-langage : ASP.NET, Node Js,
 Plateforme éprouvé car services Azure sont basés dessus.
States dans Azure Service Fabric
Conclusion
En ai-je
vraiment
besoin ?
Mon
organisation
est-elle
mature ?
Mon infra et
mes
pratiques
logicielles
sont-elles
matures ?

Contenu connexe

En vedette

FINAL REVISION TLC ASSIGNMENT 4 LESSON PLAN
FINAL REVISION TLC ASSIGNMENT 4 LESSON PLAN FINAL REVISION TLC ASSIGNMENT 4 LESSON PLAN
FINAL REVISION TLC ASSIGNMENT 4 LESSON PLAN Belinda Jin
 
Talking Homes_v3.1_case study
Talking Homes_v3.1_case studyTalking Homes_v3.1_case study
Talking Homes_v3.1_case studyupwan saini
 
Cómo realizar la intevencion clase 3
Cómo realizar la intevencion clase 3Cómo realizar la intevencion clase 3
Cómo realizar la intevencion clase 3
Carlos Echeverria Muñoz
 
Diseño tecnológico para denunciar el bullying
Diseño tecnológico para denunciar el bullyingDiseño tecnológico para denunciar el bullying
Diseño tecnológico para denunciar el bullyingCarolina Rodríguez P.
 
Curso intervencion en crisis
Curso intervencion en crisisCurso intervencion en crisis
Curso intervencion en crisis
Carlos Echeverria Muñoz
 
9.9.14 check 406405 austin tx
9.9.14 check 406405 austin tx9.9.14 check 406405 austin tx
9.9.14 check 406405 austin tx
KeithSelf1975
 
Bias and confounding
Bias and confoundingBias and confounding
Bias and confounding
Tarek Tawfik Amin
 
Méthodologie de gestion de projets
Méthodologie de gestion de projetsMéthodologie de gestion de projets
Méthodologie de gestion de projets
Danielle Tardif
 
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
Publicis Sapient Engineering
 
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - SOGETI
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - SOGETIIBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - SOGETI
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - SOGETI
IBM France Lab
 
Planification stratégique et mise en marché
Planification stratégique et mise en marchéPlanification stratégique et mise en marché
Planification stratégique et mise en marché
Danielle Tardif
 
Windows Azure 개요
Windows Azure 개요Windows Azure 개요
Windows Azure 개요Keon Lee
 
Outplacement quertz
Outplacement quertzOutplacement quertz
Outplacement quertz
Carlos Echeverria Muñoz
 
SQLER on Windows Azure camp - Web site
SQLER on Windows Azure camp - Web siteSQLER on Windows Azure camp - Web site
SQLER on Windows Azure camp - Web site근호 이
 
eCommerce Solutions on Windows Azure
eCommerce Solutions on Windows AzureeCommerce Solutions on Windows Azure
eCommerce Solutions on Windows Azure
João Pedro Martins
 
Azure architecture
Azure architectureAzure architecture
Azure architectureAmal Dev
 
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
Marco Parenzan
 
Microsoft Cloud Computing for Ecommerce
Microsoft Cloud Computing for EcommerceMicrosoft Cloud Computing for Ecommerce
Microsoft Cloud Computing for Ecommerce
TechMaster Vietnam
 
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
MSDEVMTL
 

En vedette (20)

FINAL REVISION TLC ASSIGNMENT 4 LESSON PLAN
FINAL REVISION TLC ASSIGNMENT 4 LESSON PLAN FINAL REVISION TLC ASSIGNMENT 4 LESSON PLAN
FINAL REVISION TLC ASSIGNMENT 4 LESSON PLAN
 
Talking Homes_v3.1_case study
Talking Homes_v3.1_case studyTalking Homes_v3.1_case study
Talking Homes_v3.1_case study
 
Cómo realizar la intevencion clase 3
Cómo realizar la intevencion clase 3Cómo realizar la intevencion clase 3
Cómo realizar la intevencion clase 3
 
Diseño tecnológico para denunciar el bullying
Diseño tecnológico para denunciar el bullyingDiseño tecnológico para denunciar el bullying
Diseño tecnológico para denunciar el bullying
 
Curso intervencion en crisis
Curso intervencion en crisisCurso intervencion en crisis
Curso intervencion en crisis
 
9.9.14 check 406405 austin tx
9.9.14 check 406405 austin tx9.9.14 check 406405 austin tx
9.9.14 check 406405 austin tx
 
Bias and confounding
Bias and confoundingBias and confounding
Bias and confounding
 
Méthodologie de gestion de projets
Méthodologie de gestion de projetsMéthodologie de gestion de projets
Méthodologie de gestion de projets
 
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
 
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - SOGETI
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - SOGETIIBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - SOGETI
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - SOGETI
 
Planification stratégique et mise en marché
Planification stratégique et mise en marchéPlanification stratégique et mise en marché
Planification stratégique et mise en marché
 
Windows Azure 개요
Windows Azure 개요Windows Azure 개요
Windows Azure 개요
 
Outplacement quertz
Outplacement quertzOutplacement quertz
Outplacement quertz
 
SQLER on Windows Azure camp - Web site
SQLER on Windows Azure camp - Web siteSQLER on Windows Azure camp - Web site
SQLER on Windows Azure camp - Web site
 
eCommerce Solutions on Windows Azure
eCommerce Solutions on Windows AzureeCommerce Solutions on Windows Azure
eCommerce Solutions on Windows Azure
 
Azure architecture
Azure architectureAzure architecture
Azure architecture
 
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
 
Azure ecommerce
Azure ecommerceAzure ecommerce
Azure ecommerce
 
Microsoft Cloud Computing for Ecommerce
Microsoft Cloud Computing for EcommerceMicrosoft Cloud Computing for Ecommerce
Microsoft Cloud Computing for Ecommerce
 
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
 

Similaire à Cellenza microservices - tour d'horizon - v0.1

ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
SOAT
 
Architecture MicroServices - DotNetTlse
Architecture MicroServices - DotNetTlseArchitecture MicroServices - DotNetTlse
Architecture MicroServices - DotNetTlse
Ionut Mihalcea
 
API-First pour de nouvelles expériences de commerce en ligne
API-First pour de nouvelles expériences de commerce en ligneAPI-First pour de nouvelles expériences de commerce en ligne
API-First pour de nouvelles expériences de commerce en ligne
Prénom Nom de famille
 
Cellenza dev test - azure service fabric - v1.0 - slideshare
Cellenza   dev test - azure service fabric - v1.0 - slideshareCellenza   dev test - azure service fabric - v1.0 - slideshare
Cellenza dev test - azure service fabric - v1.0 - slideshare
Radoine Douhou
 
[DevTestday] Azure service fabric - Radoine Douhou
[DevTestday] Azure service fabric -  Radoine Douhou[DevTestday] Azure service fabric -  Radoine Douhou
[DevTestday] Azure service fabric - Radoine Douhou
Cellenza
 
XebiConFr 15 - Le challenge des microservices
XebiConFr 15 - Le challenge des microservicesXebiConFr 15 - Le challenge des microservices
XebiConFr 15 - Le challenge des microservices
Publicis Sapient Engineering
 
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
Samir Arezki ☁
 
resume-theorique-m107-2203-6246f60d6b994.pdf
resume-theorique-m107-2203-6246f60d6b994.pdfresume-theorique-m107-2203-6246f60d6b994.pdf
resume-theorique-m107-2203-6246f60d6b994.pdf
FootballLovers9
 
Introduction a la SOA
Introduction a la SOAIntroduction a la SOA
Introduction a la SOA
Tugdual Grall
 
Biz talk summit devops - monitoring
Biz talk summit   devops - monitoringBiz talk summit   devops - monitoring
Biz talk summit devops - monitoring
Radoine Douhou
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EE
Sabri Bouchlema
 
Bureau Metier - Version 20061010
Bureau Metier - Version 20061010Bureau Metier - Version 20061010
Bureau Metier - Version 20061010Didier Girard
 
Conference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partieConference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partie
Zenika
 
Le Cloud Privé, de la théorie à la réalité avec Microsoft Private Cloud
Le Cloud Privé, de la théorie à la réalité avec Microsoft Private CloudLe Cloud Privé, de la théorie à la réalité avec Microsoft Private Cloud
Le Cloud Privé, de la théorie à la réalité avec Microsoft Private Cloud
Microsoft Technet France
 
Les API Banque By convertigo
Les API Banque By convertigoLes API Banque By convertigo
Les API Banque By convertigo
LaFrenchMobile
 
Ppt 2 a jeanpierre-yle-cleach-hec-05022015_sent2hec
Ppt 2   a jeanpierre-yle-cleach-hec-05022015_sent2hecPpt 2   a jeanpierre-yle-cleach-hec-05022015_sent2hec
Ppt 2 a jeanpierre-yle-cleach-hec-05022015_sent2hec
Yves LE CLEACH
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'artTugdual Grall
 
Paris Container Day 2016 : Microservices avec Azure (Rex Cellenza & Younited...
Paris Container Day 2016 :  Microservices avec Azure (Rex Cellenza & Younited...Paris Container Day 2016 :  Microservices avec Azure (Rex Cellenza & Younited...
Paris Container Day 2016 : Microservices avec Azure (Rex Cellenza & Younited...
Publicis Sapient Engineering
 
[29/06] Paris Container Day - Microservices avec Azure
[29/06] Paris Container Day - Microservices avec Azure[29/06] Paris Container Day - Microservices avec Azure
[29/06] Paris Container Day - Microservices avec Azure
Cellenza
 

Similaire à Cellenza microservices - tour d'horizon - v0.1 (20)

ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
 
Architecture MicroServices - DotNetTlse
Architecture MicroServices - DotNetTlseArchitecture MicroServices - DotNetTlse
Architecture MicroServices - DotNetTlse
 
API-First pour de nouvelles expériences de commerce en ligne
API-First pour de nouvelles expériences de commerce en ligneAPI-First pour de nouvelles expériences de commerce en ligne
API-First pour de nouvelles expériences de commerce en ligne
 
Cellenza dev test - azure service fabric - v1.0 - slideshare
Cellenza   dev test - azure service fabric - v1.0 - slideshareCellenza   dev test - azure service fabric - v1.0 - slideshare
Cellenza dev test - azure service fabric - v1.0 - slideshare
 
[DevTestday] Azure service fabric - Radoine Douhou
[DevTestday] Azure service fabric -  Radoine Douhou[DevTestday] Azure service fabric -  Radoine Douhou
[DevTestday] Azure service fabric - Radoine Douhou
 
XebiConFr 15 - Le challenge des microservices
XebiConFr 15 - Le challenge des microservicesXebiConFr 15 - Le challenge des microservices
XebiConFr 15 - Le challenge des microservices
 
Biztalk 2009
Biztalk 2009Biztalk 2009
Biztalk 2009
 
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
 
resume-theorique-m107-2203-6246f60d6b994.pdf
resume-theorique-m107-2203-6246f60d6b994.pdfresume-theorique-m107-2203-6246f60d6b994.pdf
resume-theorique-m107-2203-6246f60d6b994.pdf
 
Introduction a la SOA
Introduction a la SOAIntroduction a la SOA
Introduction a la SOA
 
Biz talk summit devops - monitoring
Biz talk summit   devops - monitoringBiz talk summit   devops - monitoring
Biz talk summit devops - monitoring
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EE
 
Bureau Metier - Version 20061010
Bureau Metier - Version 20061010Bureau Metier - Version 20061010
Bureau Metier - Version 20061010
 
Conference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partieConference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partie
 
Le Cloud Privé, de la théorie à la réalité avec Microsoft Private Cloud
Le Cloud Privé, de la théorie à la réalité avec Microsoft Private CloudLe Cloud Privé, de la théorie à la réalité avec Microsoft Private Cloud
Le Cloud Privé, de la théorie à la réalité avec Microsoft Private Cloud
 
Les API Banque By convertigo
Les API Banque By convertigoLes API Banque By convertigo
Les API Banque By convertigo
 
Ppt 2 a jeanpierre-yle-cleach-hec-05022015_sent2hec
Ppt 2   a jeanpierre-yle-cleach-hec-05022015_sent2hecPpt 2   a jeanpierre-yle-cleach-hec-05022015_sent2hec
Ppt 2 a jeanpierre-yle-cleach-hec-05022015_sent2hec
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'art
 
Paris Container Day 2016 : Microservices avec Azure (Rex Cellenza & Younited...
Paris Container Day 2016 :  Microservices avec Azure (Rex Cellenza & Younited...Paris Container Day 2016 :  Microservices avec Azure (Rex Cellenza & Younited...
Paris Container Day 2016 : Microservices avec Azure (Rex Cellenza & Younited...
 
[29/06] Paris Container Day - Microservices avec Azure
[29/06] Paris Container Day - Microservices avec Azure[29/06] Paris Container Day - Microservices avec Azure
[29/06] Paris Container Day - Microservices avec Azure
 

Cellenza microservices - tour d'horizon - v0.1