SlideShare une entreprise Scribd logo
Microservices
Présentation des concepts
Bertrand Lehurt
Octobre 2015
SOAT en quelques chiffres
L’expertise SOAT
/me
Bertrand Lehurt
Consultant Java
Formateur
Lodennan
Linkedin.com/in/bertrandlehurt
Sommaire
o Architecture monolithique
o Que sont les microservices?
o Intégration
o Découper une application
monolithique
Sommaire
o Déploiement
o Monitoring
o La mise à l’échelle (scaling)
o Loi de Conway
Ce qu’on ne verra pas
o Présentation de code
o Mise en place d’outils
o Déploiement de microservices
Architecture monolithique
Monolithes
Applications classiques que vous connaissez tous
DAO
Services
MVC
Tomcat
Monolithes
MonolitheRéseaux Réseaux
Load
balancer
Base de
données
Applications monolithiques
Avantages
o Simplicité de mise en place
o Une seule codebase
o Efficience à petite échelle
o Latence applicative
Base de données monolithiques
Avantages
o Simplicité de mise en place
o Requête et jointure facilitées
o Un seul schéma, un seul déploiement
o Efficience à petite échelle
Applications monolithiques
Inconvénients
o Mauvaise application de la modularité
o Temps de build long
o Déploiement de toute l’application
(downtime, failure)
o Mauvaise mise à l’échelle (vertical scaling)
Base de données monolithiques
Inconvénients
o Couplage
o Mauvais scaling et redondance
o Difficulté à tuner correctement
o Management du schéma
Evolution de notre industrie
o Domain-Driven Design
o Intégration continue
o Virtualisation à la demande
o Automatisation des infrastructures
o Equipes de développement autonomes
o Mise à l’échelle des systèmes (scaling)
Les microservices ont émergés grâce à tous
ces concepts et techniques
Microservices
Microservices
Pas de définition mais un ensemble de
caractéristiques
Caractéristiques
Petit et focalisé sur une et une seule
responsabilité
Single Responsability Principle
Robert C. Martin :
Gather together those things
that change for the same
reason, and separate those
things that change for different
reasons.
Single Responsability Principle
Fait parti des 5 principes SOLID :
o S : Single responsibility principle
o O : Open/closed principle
o L : Liskov substitution principle
o I : Interface segregation principle
o D : Dependency inversion principle
Caractéristiques
Application autonome
Organisé autour des capacités métier
Produit et non plus projet
Endpoints évolués et canaux de
communication pauvres
Caractéristiques
Gouvernance décentralisée
Management de donnée décentralisée
Automatisation de l’infrastructure
Design For Failure
Caractéristiques
Les microservices doivent pouvoir être :
o remplacés de manière indépendante
o mis à jour de manière indépendante
Récapitulatif
Monolithe : organisation au niveau technique
• UI
• Serveur
• Base de données
Microservices : organisation au niveau métier
• Livraison
• Catalogue produits
• Achat
Le retour de la vengeance de SOA ?
SOA?
Contrairement à une solution basée sur un
ESB, les échanges se font :
o sur des canaux de communication pauvres
o sans médiation
o sans transformation
ESB
Service
Service
ServiceESB
Problème des ESB
Spaghetti box
Point de vue de Martin Fowler
SOA
Microservices
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
Intégration
Bonnes pratiques
Garder votre API « technology-agnostic »
Le marché évolue rapidement, les communications
entre vos services ne doivent pas être dictées par une
stack technologique
Bonnes pratiques
Garder votre service le plus simple possible
pour les clients qui vont le consommer
Bonnes pratiques
Cacher les détails de l’implémentation
Vous ne devez pas créer de couplage entre vos
implémentations et les clients de votre service
Communication : RPC
Remote Procedure Calls
N’est pas recommandé car abstrait l’appel distant
Attention à l’utilisation de technologies comme Java
RMI qui sont liées à la plateforme.
Utiliser Thrift ou Protocol buffer qui possède un grand
nombre de support pour les langages
Communication : REST
o REST est un style d’architecture distribuée,
créé par Roy Felding en 2000
o Ce n’est pas un protocole, un format ou un
standard
o REST prône une approche sans état
(Stateless)
o Basé sur les méthodes HTTP (GET, POST,
DELETE, PUT)
Communication : REST
Avantages
o Beaucoup de plateformes et de langages
supportent HTTP
o Beaucoup de clients possibles (curl,
navigateur, applications…)
o Dispose des avantages d’HTTP (redirection,
cache)
o Supporte plusieurs formats : XML, JSON, Atom
Maturité des API
o Le modèle de maturité de Richardson permet
d’évaluer le niveau de maturité de votre API
o Il possède 4 niveaux
 Niveau 0 : Une seule URI (SOAP, XML, RPC)
 Niveau 1 : Plusieurs URI, une seul verbe
 Niveau 2 : Plusieurs URI, plusieurs verbes (CRUD)
 Niveau 3 : Hypermedia
Richardson Maturiry Model
Level 0 : The Swamp of POX
Level 1 : Ressources
Level 2 : HTTP verbs
Level 3 : Hypermedia
GLORY OF REST
Communication : Asynchrone
Event-Based communication :
o Publication d’événement
o Abonnement à la réception d’événement
Outil : RabbitMQ
Versionning
Utiliser SemVer (Semantic Version)
Numéro de version :
MAJEUR.MINEUR.CORRECTIF
Découper un monolithe
Monolith First
Source : http://martinfowler.com/bliki/MonolithFirst.html
Etape par étape
Définir les raisons qui vous poussent à
découper votre application
o une partie de votre appli va opérer de gros
changements
o la structure de votre équipe (multi-office)
o sécurité (protection de données sensibles)
o technologie (paradigme lié à un langage)
Domain Driven Design
Utiliser les bounded context (Contexte
borné)
-> Regroupement en bloc fonctionnel
Seams
Dans son livre, Michael Feathers
définit le concept de Seams :
Morceau de code pouvant être isolé et sur
lequel on peut travailler sans impact sur le
reste de la codebase
Le but est donc d’identifier les
seams qui pourraient définir vos
services
Découper un monolithe
Penser à faire un découpage par itération
Eviter un découpage trop fin, trop orienté
sur la technique
Déploiement
Continuous integration
Repository
User service
Build-0.1
Index service
Buid-0.1
Payment service
Build-0.1
Build de votre
application
monolithique
Chaque changement
dans le code entraine
un build
Serveur d’intégration
continue
Chacun des builds
produisent 3 artifacts
Continuous integration
User service
Repository
User service
Build-0.1
Index service
Buid-0.1
Payment service
Build-0.1
User service
build
Serveur d’intégration
continue
Chacun des builds
produisent 3 artifacts
Payment service
build
Index service
build
Payment service
Repository
Index service
Repository
Continuous delivery
Compilé, testé, livré à l’environnement
suivant (test, qualification, Mise en
production…)
-> Créer des pipelines
Continuous deployment
Compilé, testé et déployé en production
Immutable server
Lutter contre le Configuration Drift en
rendant vos serveurs et leurs configurations
immutables
Déploiement
o Machines physiques
o VM
o Conteneur Linux
o Docker
Monitoring
Logs
User service
Index service
Product service
Logs
Logs
Logs
Logs : parsing & indexation
User service
Index service
Product service
Logs
Logs
Logs
Logstash
Logstash
Logstash
Kibana
Correlation ID
Web Frontend
Registration
service
Email
service
Payment
service
User
service
Correlation ID : aef972
ID : aef972ID : aef972ID : aef972
Correlation ID
2015-10-22 19:30:01 Web frontend INFO [aef872] Register
2015-10-22 19:30:02 Register service INFO [aef872] RegisterUser
2015-10-22 19:30:03 User service INFO [aef872] GetTimeline
2015-10-22 19:30:04 Payment service INFO [aef872] ValidatePayment
2015-10-22 19:30:05 Email service INFO [aef872] SendEmail
Métriques
Utilisation d’outils :
o Dropwizard Metrics
pour la mesure
o Graphite pour la
visualisation
La mise à l’échelle (scaling)
Mise à l’échelle
Source : http://martinfowler.com/articles/microservices.html
Release it
Release it de Michael Nygard
Analyse post mortem de crash
de système d’information issu
de problème en cascade
Circuit breaker
Mettre en place le pattern Circuit Breaker
Outils comme Netflix Hystrix
Loi de Conway
Loi de Conway
Any organizations that design systems [...] will
inevitably produce a design whose structure is
a copy of the organization ’s communication
structure
Melvin Conway – How Do Committes Invent (1968)
Manœuvre de Conway inversée
The 'Inverse Conway Maneuver'
recommends evolving your team and
organizational structure to promote your
desired architecture. Ideally your
technology architecture will display
isomorphism with your business
architecture.
Avantages & inconvénients
Bénéfices des microservices
Architecture adaptée aux besoins métier
Résilience
Scalabilité
Facilité de déploiement
Petites équipes concentrées sur leurs services
Evolution car facilité de remplacement
Inconvénients des microservices
Microservice
Microservice
Microservice
Microservice
Microservice
Microservice
Auxquels on ajoute les
communications
réseaux
Microservice
Microservice
Microservice
Microservice
Microservice
Réseau
Réseau
Réseau
Réseau
Réseau
Auxquels on ajoute les
loadbalancers
Microservice
Microservice
Microservice
Réseau
Réseau
Réseau
Réseau
Réseau
Microservice
Microservice
Load
balancer Load
balancer
Load
balancerLoad
balancer
Load
balancer
Réseau
RéseauRéseau
Vous devez aussi avoir
des bases de données
Microservice
Microservice
Microservice
Réseau
Réseau
Réseau
Réseau
Réseau
Microservice
Microservice
Load
balancer Load
balancer
Load
balancerLoad
balancer
Load
balancer
Réseau
RéseauRéseau
Base de
données
Base de
données
Inconvénients
o On augmente ici le nombre d’éléments à
surveiller et optimiser
o Augmentation du trafic réseau
o Le coût de la latence augmente
o Coût sérialisation/désérialisation
o Dans le cas où une requête n’est pas
correctement tracée sur son parcours …
Avec les microservices, vous devez :
Au minimum :
o Déploiement et provisioning rapide des
applications
o Effectuer un monitoring
o Culture devops
Avec les microservices, vous devez :
o Log efficace des transactions métiers
o Continuous delivery
o Equipe centrée sur le produit
o Développeurs multi environnement
Anti patterns
Le Mega service
o Trop de responsabilités différentes rend le
changement difficile
o Beaucoup trop de dépendances
Le partage de persistance
o Casse l’encapsulation
o Encourage les interface « backdoor »
o Couplage invisible
Chez Google
Communications standardisées
o Protocol réseau : GRPC
o Format de données
o Spécification des interfaces
Infrastructure standardisée
o Source control
o Management de la configuration
o Management des clusters
o Monitoring, alertes, diagnostiques…
Indépendances des services
Pas de standardisation au niveau des
services
o Langage de programmation
o Framework
o Persistance
Chez Netflix
Antifragile Organization
Antifragile de Nassim Nicholas Taleb
A l’image de ce que fait Netflix
Chaos Monkey
Netflix library
Netflix a publié plusieurs bibliothèques open
source dont :
o Eureka
o Hystrix
Conseils
Conseils
Les microservices apportent un ensemble
d’avantages :
o organisationnels
o techniques
o delivery
Conseils
Cependant, attention à la complexité et au
niveau de maturité de vos équipes
Conseils
Commencer par un ou deux microservices,
pour dimensionner le risque, gérer le
périmètre de travail, faire monter en
compétences vos équipes et ajuster le
niveau de granularité par la suite
Merci
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
Sources
Sources
ohttp://martinfowler.com/microservices
ohttp://martinfowler.com/articles/microservices.html
ohttps://www.nginx.com/blog/introduction-to-microservices
ohttp://microservices.io
oSéries d’articles de Thoughworks sur le sujet :
http://www.thoughtworks.com/search?q=microservice&c=si
tewide
Sources
ohttp://www.typesafe.com/blog/microservices-101-
exploiting-realitys-constraints-with-technology
ohttp://martinfowler.com/bliki/CircuitBreaker.html
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES

Contenu connexe

Tendances

Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
ENSET, Université Hassan II Casablanca
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
ENSET, Université Hassan II Casablanca
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
Abdelghani Azri
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
SlideTeam
 
Concevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring BootConcevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring Boot
DNG Consulting
 
The Beginner’s Guide To Spring Cloud
The Beginner’s Guide To Spring CloudThe Beginner’s Guide To Spring Cloud
The Beginner’s Guide To Spring Cloud
VMware Tanzu
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)
Heithem Abbes
 
Présentation SOA
Présentation SOAPrésentation SOA
Présentation SOA
Cynapsys It Hotspot
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées Services
Lilia Sfaxi
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
ENSET, Université Hassan II Casablanca
 
Présentation Docker
Présentation DockerPrésentation Docker
Présentation Docker
Colin LEVERGER
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
Heithem Abbes
 
What Is DevOps?
What Is DevOps?What Is DevOps?
What Is DevOps?
Soumya De
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
Araf Karsh Hamid
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
Amazon Web Services
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHP
Kristen Le Liboux
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
ENSET, Université Hassan II Casablanca
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWS
Lilia Sfaxi
 
Maven et industrialisation du logiciel
Maven et industrialisation du logicielMaven et industrialisation du logiciel
Maven et industrialisation du logiciel
ENSET, Université Hassan II Casablanca
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Araf Karsh Hamid
 

Tendances (20)

Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
 
Concevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring BootConcevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring Boot
 
The Beginner’s Guide To Spring Cloud
The Beginner’s Guide To Spring CloudThe Beginner’s Guide To Spring Cloud
The Beginner’s Guide To Spring Cloud
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)
 
Présentation SOA
Présentation SOAPrésentation SOA
Présentation SOA
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées Services
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
Présentation Docker
Présentation DockerPrésentation Docker
Présentation Docker
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
 
What Is DevOps?
What Is DevOps?What Is DevOps?
What Is DevOps?
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHP
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWS
 
Maven et industrialisation du logiciel
Maven et industrialisation du logicielMaven et industrialisation du logiciel
Maven et industrialisation du logiciel
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
 

En vedette

Amazon Web Service par Bertrand Lehurt - 11 mars 2014
Amazon Web Service par Bertrand Lehurt - 11 mars 2014Amazon Web Service par Bertrand Lehurt - 11 mars 2014
Amazon Web Service par Bertrand Lehurt - 11 mars 2014
SOAT
 
Symfony in microservice architecture
Symfony in microservice architectureSymfony in microservice architecture
Symfony in microservice architecture
Daniele D'Angeli
 
Microservice architecture
Microservice architectureMicroservice architecture
Microservice architecture
Xavier Fornés Arrabal
 
Qu'est-ce qu'un ETL ?
Qu'est-ce qu'un ETL ?Qu'est-ce qu'un ETL ?
Qu'est-ce qu'un ETL ?
Mathieu Lahaye
 
eServices-Tp3: esb
eServices-Tp3: esbeServices-Tp3: esb
eServices-Tp3: esb
Lilia Sfaxi
 
eServices-Tp5: api management
eServices-Tp5: api managementeServices-Tp5: api management
eServices-Tp5: api management
Lilia Sfaxi
 
eServices-Tp4: esb++
eServices-Tp4: esb++eServices-Tp4: esb++
eServices-Tp4: esb++
Lilia Sfaxi
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
Lilia Sfaxi
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
Lilia Sfaxi
 
eServices-Chp4: ESB
eServices-Chp4: ESBeServices-Chp4: ESB
eServices-Chp4: ESB
Lilia Sfaxi
 
eServices-Chp2: SOA
eServices-Chp2: SOAeServices-Chp2: SOA
eServices-Chp2: SOA
Lilia Sfaxi
 
eServices-Chp1: Introduction
eServices-Chp1: IntroductioneServices-Chp1: Introduction
eServices-Chp1: Introduction
Lilia Sfaxi
 
eServices-Chp3: Composition de Services
eServices-Chp3: Composition de ServiceseServices-Chp3: Composition de Services
eServices-Chp3: Composition de Services
Lilia Sfaxi
 
eServices-Chp6: WOA
eServices-Chp6: WOAeServices-Chp6: WOA
eServices-Chp6: WOA
Lilia Sfaxi
 
French 040412
French 040412French 040412
French 040412
VogelDenise
 
Lettre ouverte
Lettre ouverteLettre ouverte
Lettre ouverte
lesoirbe
 
Vous, votre recherche d’emploi et les nouveaux médias
Vous, votre recherche d’emploi et les nouveaux médiasVous, votre recherche d’emploi et les nouveaux médias
Vous, votre recherche d’emploi et les nouveaux médias
Actiris
 
Modèles d'attribution : le guide du spécialiste en référencement payant
Modèles d'attribution : le guide du spécialiste en référencement payantModèles d'attribution : le guide du spécialiste en référencement payant
Modèles d'attribution : le guide du spécialiste en référencement payant
François-Yves Prigent
 
La déclaration de politique générale à Bruxelles
La déclaration de politique générale à BruxellesLa déclaration de politique générale à Bruxelles
La déclaration de politique générale à Bruxelles
lesoirbe
 

En vedette (20)

Amazon Web Service par Bertrand Lehurt - 11 mars 2014
Amazon Web Service par Bertrand Lehurt - 11 mars 2014Amazon Web Service par Bertrand Lehurt - 11 mars 2014
Amazon Web Service par Bertrand Lehurt - 11 mars 2014
 
Symfony in microservice architecture
Symfony in microservice architectureSymfony in microservice architecture
Symfony in microservice architecture
 
Microservice architecture
Microservice architectureMicroservice architecture
Microservice architecture
 
Qu'est-ce qu'un ETL ?
Qu'est-ce qu'un ETL ?Qu'est-ce qu'un ETL ?
Qu'est-ce qu'un ETL ?
 
eServices-Tp3: esb
eServices-Tp3: esbeServices-Tp3: esb
eServices-Tp3: esb
 
eServices-Tp5: api management
eServices-Tp5: api managementeServices-Tp5: api management
eServices-Tp5: api management
 
eServices-Tp4: esb++
eServices-Tp4: esb++eServices-Tp4: esb++
eServices-Tp4: esb++
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
eServices-Chp4: ESB
eServices-Chp4: ESBeServices-Chp4: ESB
eServices-Chp4: ESB
 
eServices-Chp2: SOA
eServices-Chp2: SOAeServices-Chp2: SOA
eServices-Chp2: SOA
 
eServices-Chp1: Introduction
eServices-Chp1: IntroductioneServices-Chp1: Introduction
eServices-Chp1: Introduction
 
eServices-Chp3: Composition de Services
eServices-Chp3: Composition de ServiceseServices-Chp3: Composition de Services
eServices-Chp3: Composition de Services
 
eServices-Chp6: WOA
eServices-Chp6: WOAeServices-Chp6: WOA
eServices-Chp6: WOA
 
French 040412
French 040412French 040412
French 040412
 
Lettre ouverte
Lettre ouverteLettre ouverte
Lettre ouverte
 
Vous, votre recherche d’emploi et les nouveaux médias
Vous, votre recherche d’emploi et les nouveaux médiasVous, votre recherche d’emploi et les nouveaux médias
Vous, votre recherche d’emploi et les nouveaux médias
 
Modèles d'attribution : le guide du spécialiste en référencement payant
Modèles d'attribution : le guide du spécialiste en référencement payantModèles d'attribution : le guide du spécialiste en référencement payant
Modèles d'attribution : le guide du spécialiste en référencement payant
 
La déclaration de politique générale à Bruxelles
La déclaration de politique générale à BruxellesLa déclaration de politique générale à Bruxelles
La déclaration de politique générale à Bruxelles
 
Backdwarf
BackdwarfBackdwarf
Backdwarf
 

Similaire à ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES

Cellenza microservices - tour d'horizon - v0.1
Cellenza   microservices - tour d'horizon - v0.1Cellenza   microservices - tour d'horizon - v0.1
Cellenza microservices - tour d'horizon - v0.1
Radoine Douhou
 
Conference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partieConference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partie
Zenika
 
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Microsoft Technet France
 
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Microsoft Décideurs IT
 
20140130 mug lyon - post-mortem d'une application métier
20140130   mug lyon - post-mortem d'une application métier20140130   mug lyon - post-mortem d'une application métier
20140130 mug lyon - post-mortem d'une application métier
Matthieu DUFOURNEAUD
 
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...
Microsoft
 
Architectures et application hybrides selon vos termes et à votre propre rythme
Architectures et application hybrides selon vos termes et à votre propre rythmeArchitectures et application hybrides selon vos termes et à votre propre rythme
Architectures et application hybrides selon vos termes et à votre propre rythme
Microsoft
 
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
 
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoTVISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
FactoVia
 
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
Microsoft
 
OCCIware presentation au groupe de travail Big Data du SCS
OCCIware presentation au groupe de travail Big Data du SCSOCCIware presentation au groupe de travail Big Data du SCS
OCCIware presentation au groupe de travail Big Data du SCS
OCCIware
 
Presentation certification 70-536 atelier 1
Presentation certification 70-536 atelier 1Presentation certification 70-536 atelier 1
Presentation certification 70-536 atelier 1
Mohamed Ouederni
 
Presentation certification 70-536 atelier 1
Presentation certification 70-536 atelier 1Presentation certification 70-536 atelier 1
Presentation certification 70-536 atelier 1
realtn
 
Démystifions l'API-culture!
Démystifions l'API-culture!Démystifions l'API-culture!
Démystifions l'API-culture!
OCTO Technology Suisse
 
meetup devops aix marseille du 16/05/23
meetup devops aix marseille du 16/05/23meetup devops aix marseille du 16/05/23
meetup devops aix marseille du 16/05/23
Frederic Leger
 
Es66 g formation-cours-avance-sur-la-securite-z-os-cryptographie-reseau-racf-...
Es66 g formation-cours-avance-sur-la-securite-z-os-cryptographie-reseau-racf-...Es66 g formation-cours-avance-sur-la-securite-z-os-cryptographie-reseau-racf-...
Es66 g formation-cours-avance-sur-la-securite-z-os-cryptographie-reseau-racf-...
CERTyou Formation
 
Présentation evénement AWS - 13 oct 2015
Présentation evénement AWS  - 13 oct 2015 Présentation evénement AWS  - 13 oct 2015
Présentation evénement AWS - 13 oct 2015
ABC Systemes
 
Normation solutions linux automatisation si complexes
Normation solutions linux automatisation si complexesNormation solutions linux automatisation si complexes
Normation solutions linux automatisation si complexes
RUDDER
 
XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...
XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...
XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...
Publicis Sapient Engineering
 
Web2day 2023 - Internet (re)décentralisé ? Architecture du Web3
Web2day 2023 - Internet (re)décentralisé ? Architecture du Web3Web2day 2023 - Internet (re)décentralisé ? Architecture du Web3
Web2day 2023 - Internet (re)décentralisé ? Architecture du Web3
Raphaël Semeteys
 

Similaire à ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES (20)

Cellenza microservices - tour d'horizon - v0.1
Cellenza   microservices - tour d'horizon - v0.1Cellenza   microservices - tour d'horizon - v0.1
Cellenza microservices - tour d'horizon - v0.1
 
Conference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partieConference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partie
 
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
 
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
 
20140130 mug lyon - post-mortem d'une application métier
20140130   mug lyon - post-mortem d'une application métier20140130   mug lyon - post-mortem d'une application métier
20140130 mug lyon - post-mortem d'une application métier
 
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...
 
Architectures et application hybrides selon vos termes et à votre propre rythme
Architectures et application hybrides selon vos termes et à votre propre rythmeArchitectures et application hybrides selon vos termes et à votre propre rythme
Architectures et application hybrides selon vos termes et à votre propre rythme
 
XebiConFr 15 - Le challenge des microservices
XebiConFr 15 - Le challenge des microservicesXebiConFr 15 - Le challenge des microservices
XebiConFr 15 - Le challenge des microservices
 
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoTVISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
 
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
 
OCCIware presentation au groupe de travail Big Data du SCS
OCCIware presentation au groupe de travail Big Data du SCSOCCIware presentation au groupe de travail Big Data du SCS
OCCIware presentation au groupe de travail Big Data du SCS
 
Presentation certification 70-536 atelier 1
Presentation certification 70-536 atelier 1Presentation certification 70-536 atelier 1
Presentation certification 70-536 atelier 1
 
Presentation certification 70-536 atelier 1
Presentation certification 70-536 atelier 1Presentation certification 70-536 atelier 1
Presentation certification 70-536 atelier 1
 
Démystifions l'API-culture!
Démystifions l'API-culture!Démystifions l'API-culture!
Démystifions l'API-culture!
 
meetup devops aix marseille du 16/05/23
meetup devops aix marseille du 16/05/23meetup devops aix marseille du 16/05/23
meetup devops aix marseille du 16/05/23
 
Es66 g formation-cours-avance-sur-la-securite-z-os-cryptographie-reseau-racf-...
Es66 g formation-cours-avance-sur-la-securite-z-os-cryptographie-reseau-racf-...Es66 g formation-cours-avance-sur-la-securite-z-os-cryptographie-reseau-racf-...
Es66 g formation-cours-avance-sur-la-securite-z-os-cryptographie-reseau-racf-...
 
Présentation evénement AWS - 13 oct 2015
Présentation evénement AWS  - 13 oct 2015 Présentation evénement AWS  - 13 oct 2015
Présentation evénement AWS - 13 oct 2015
 
Normation solutions linux automatisation si complexes
Normation solutions linux automatisation si complexesNormation solutions linux automatisation si complexes
Normation solutions linux automatisation si complexes
 
XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...
XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...
XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...
 
Web2day 2023 - Internet (re)décentralisé ? Architecture du Web3
Web2day 2023 - Internet (re)décentralisé ? Architecture du Web3Web2day 2023 - Internet (re)décentralisé ? Architecture du Web3
Web2day 2023 - Internet (re)décentralisé ? Architecture du Web3
 

Plus de SOAT

Back from Microsoft //Build 2018
Back from Microsoft //Build 2018Back from Microsoft //Build 2018
Back from Microsoft //Build 2018
SOAT
 
L'entreprise libérée
L'entreprise libéréeL'entreprise libérée
L'entreprise libérée
SOAT
 
Amélioration continue, c'est l'affaire de tous !
Amélioration continue, c'est l'affaire de tous !Amélioration continue, c'est l'affaire de tous !
Amélioration continue, c'est l'affaire de tous !
SOAT
 
JAVA 8 : Migration et enjeux stratégiques en entreprise
JAVA 8 : Migration et enjeux stratégiques en entrepriseJAVA 8 : Migration et enjeux stratégiques en entreprise
JAVA 8 : Migration et enjeux stratégiques en entreprise
SOAT
 
3/3 : The path to CDI 2.0 - Antoine Sabot-Durand
3/3 : The path to CDI 2.0 - Antoine Sabot-Durand3/3 : The path to CDI 2.0 - Antoine Sabot-Durand
3/3 : The path to CDI 2.0 - Antoine Sabot-Durand
SOAT
 
1/3 : introduction to CDI - Antoine Sabot-Durand
1/3 : introduction to CDI - Antoine Sabot-Durand1/3 : introduction to CDI - Antoine Sabot-Durand
1/3 : introduction to CDI - Antoine Sabot-Durand
SOAT
 
2/3 : CDI advanced - Antoine Sabot-Durand
2/3 : CDI advanced - Antoine Sabot-Durand2/3 : CDI advanced - Antoine Sabot-Durand
2/3 : CDI advanced - Antoine Sabot-Durand
SOAT
 
Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido
SOAT
 
Dans l'enfer du Web Mobile - un retour d'expérience - Mathieu Parisot
Dans l'enfer du Web Mobile - un retour d'expérience - Mathieu ParisotDans l'enfer du Web Mobile - un retour d'expérience - Mathieu Parisot
Dans l'enfer du Web Mobile - un retour d'expérience - Mathieu Parisot
SOAT
 
RxJava, Getting Started - David Wursteisen - 16 Octobre 2014
RxJava, Getting Started - David Wursteisen - 16 Octobre 2014RxJava, Getting Started - David Wursteisen - 16 Octobre 2014
RxJava, Getting Started - David Wursteisen - 16 Octobre 2014
SOAT
 
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
SOAT
 
Nio sur Netty par Mouhcine Moulou - 3 avril 2014
Nio sur Netty par Mouhcine Moulou - 3 avril 2014Nio sur Netty par Mouhcine Moulou - 3 avril 2014
Nio sur Netty par Mouhcine Moulou - 3 avril 2014
SOAT
 
20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soat20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soat
SOAT
 
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
SOAT
 
ASP.Net Web API - Léonard Labat (18 février 2014)
ASP.Net Web API - Léonard Labat (18 février 2014)ASP.Net Web API - Léonard Labat (18 février 2014)
ASP.Net Web API - Léonard Labat (18 février 2014)
SOAT
 
Xamarin et le développement natif d’applications Android, iOS et Windows en C#
 Xamarin et le développement natif d’applications Android, iOS et Windows en C# Xamarin et le développement natif d’applications Android, iOS et Windows en C#
Xamarin et le développement natif d’applications Android, iOS et Windows en C#
SOAT
 
A la découverte du Responsive Web Design par Mathieu Parisot - Soat
A la découverte du Responsive Web Design par Mathieu Parisot - SoatA la découverte du Responsive Web Design par Mathieu Parisot - Soat
A la découverte du Responsive Web Design par Mathieu Parisot - Soat
SOAT
 
MongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de donnéesMongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de données
SOAT
 
Soirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSoirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVC
SOAT
 
Présentation spring data Matthieu Briend
Présentation spring data  Matthieu BriendPrésentation spring data  Matthieu Briend
Présentation spring data Matthieu Briend
SOAT
 

Plus de SOAT (20)

Back from Microsoft //Build 2018
Back from Microsoft //Build 2018Back from Microsoft //Build 2018
Back from Microsoft //Build 2018
 
L'entreprise libérée
L'entreprise libéréeL'entreprise libérée
L'entreprise libérée
 
Amélioration continue, c'est l'affaire de tous !
Amélioration continue, c'est l'affaire de tous !Amélioration continue, c'est l'affaire de tous !
Amélioration continue, c'est l'affaire de tous !
 
JAVA 8 : Migration et enjeux stratégiques en entreprise
JAVA 8 : Migration et enjeux stratégiques en entrepriseJAVA 8 : Migration et enjeux stratégiques en entreprise
JAVA 8 : Migration et enjeux stratégiques en entreprise
 
3/3 : The path to CDI 2.0 - Antoine Sabot-Durand
3/3 : The path to CDI 2.0 - Antoine Sabot-Durand3/3 : The path to CDI 2.0 - Antoine Sabot-Durand
3/3 : The path to CDI 2.0 - Antoine Sabot-Durand
 
1/3 : introduction to CDI - Antoine Sabot-Durand
1/3 : introduction to CDI - Antoine Sabot-Durand1/3 : introduction to CDI - Antoine Sabot-Durand
1/3 : introduction to CDI - Antoine Sabot-Durand
 
2/3 : CDI advanced - Antoine Sabot-Durand
2/3 : CDI advanced - Antoine Sabot-Durand2/3 : CDI advanced - Antoine Sabot-Durand
2/3 : CDI advanced - Antoine Sabot-Durand
 
Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido
 
Dans l'enfer du Web Mobile - un retour d'expérience - Mathieu Parisot
Dans l'enfer du Web Mobile - un retour d'expérience - Mathieu ParisotDans l'enfer du Web Mobile - un retour d'expérience - Mathieu Parisot
Dans l'enfer du Web Mobile - un retour d'expérience - Mathieu Parisot
 
RxJava, Getting Started - David Wursteisen - 16 Octobre 2014
RxJava, Getting Started - David Wursteisen - 16 Octobre 2014RxJava, Getting Started - David Wursteisen - 16 Octobre 2014
RxJava, Getting Started - David Wursteisen - 16 Octobre 2014
 
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
 
Nio sur Netty par Mouhcine Moulou - 3 avril 2014
Nio sur Netty par Mouhcine Moulou - 3 avril 2014Nio sur Netty par Mouhcine Moulou - 3 avril 2014
Nio sur Netty par Mouhcine Moulou - 3 avril 2014
 
20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soat20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soat
 
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
 
ASP.Net Web API - Léonard Labat (18 février 2014)
ASP.Net Web API - Léonard Labat (18 février 2014)ASP.Net Web API - Léonard Labat (18 février 2014)
ASP.Net Web API - Léonard Labat (18 février 2014)
 
Xamarin et le développement natif d’applications Android, iOS et Windows en C#
 Xamarin et le développement natif d’applications Android, iOS et Windows en C# Xamarin et le développement natif d’applications Android, iOS et Windows en C#
Xamarin et le développement natif d’applications Android, iOS et Windows en C#
 
A la découverte du Responsive Web Design par Mathieu Parisot - Soat
A la découverte du Responsive Web Design par Mathieu Parisot - SoatA la découverte du Responsive Web Design par Mathieu Parisot - Soat
A la découverte du Responsive Web Design par Mathieu Parisot - Soat
 
MongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de donnéesMongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de données
 
Soirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSoirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVC
 
Présentation spring data Matthieu Briend
Présentation spring data  Matthieu BriendPrésentation spring data  Matthieu Briend
Présentation spring data Matthieu Briend
 

ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES

Notes de l'éditeur

  1. Domain-Drive design d’Eric Evan a aidé à comprendre l’importance de la représentation du monde réel dans notre code
  2. Rassemblez ces choses qui changent pour la même raison, et de séparer ces choses qui changent pour des raisons différentes. Ce qui veut dire qu’un système, une classe ou une fonction ne devrait pas avoir plus d’une seule raison pour changer
  3. Hypermedia : les réponses REST contiennent des liens qui permettent de comprendre comment utiliser la ressource
  4. Plus de transaction, on va s’orienter vers une approche event sourcing
  5. Lorsque quelqu’un modifie le code ou la configuration en production sans changer le code dans votre système de versionning, c’est ce qu’on appelle « Configuration drift »
  6. Pas de SSH sur chaque machine
  7. Tout logiciel reflète l'organisation qui l'a créée