Meetup microservice

47
Microservices REX sur l’architecture Microservices

Transcript of Meetup microservice

Page 1: Meetup microservice

Microservices

REXsur l’architecture

Microservices

Page 2: Meetup microservice

Sommaire

• Introduction• Du développement à la production• Le bilan

Page 3: Meetup microservice

Sommaire

• Introduction• Du développement à la production• Le bilan

Page 4: Meetup microservice

Introduction

• Qu’est ce que l’architecture Microservices ?• Le contexte

Page 5: Meetup microservice

Architecture Microservices

Transformation Lean de l’architecture

Page 6: Meetup microservice

Architecture Microservices

Petit

Autonome

Fait une chose et le fait bien

Vision Business

Page 7: Meetup microservice

Architecture MicroservicesCode sous contrôle

Interface simple

Interface expressive

Page 8: Meetup microservice

Architecture Microservices

Couplage faible

Groupe de microservices

Page 9: Meetup microservice

Architecture Microservices

Sandbox

Pas de technologie en particulier

Page 10: Meetup microservice

Architecture Microservices

Page 11: Meetup microservice

Architecture MicroservicesDesign

Page 12: Meetup microservice

Pourquoi lesmicroservices

Module à taille humaine

Page 13: Meetup microservice

Pourquoi lesmicroservices

La scalabilité

Page 14: Meetup microservice

Modélisation d’un microservice

Image de base

La configuration

L’applicationComposants

Le script de démarrage

Paramètres de démarrage

Input

Page 15: Meetup microservice

Le contexte

Page 16: Meetup microservice

Le livre

Page 17: Meetup microservice

Sommaire

• Introduction• Du développement à la production• Le bilan

Page 18: Meetup microservice

Le développementGithub Flow

Création de la branche (feature, hotfix …)

Page 19: Meetup microservice

Le développementGithub Flow

Commits (développements)

Page 20: Meetup microservice

Le développementGithub Flow

Ouverture de la pull request (Release candidate)

Page 21: Meetup microservice

Le développementGithub Flow

Revue du code & discution

Page 22: Meetup microservice

Le développementGithub Flow

Déploiement de la release

Page 23: Meetup microservice

Le développementGithub Flow

Merge de la release

Page 24: Meetup microservice

Github FlowComment est utilisé github chez traxair

Page 25: Meetup microservice

Le développement

editor.swagger.ioswagger.io

Page 26: Meetup microservice

Le développement

Page 27: Meetup microservice

Le développementDevBox

Page 28: Meetup microservice

Devbox

Docker ComposeMakefile

Page 29: Meetup microservice

DevboxFicher compose

Service_X: image: registry.com/Service_X ports: - "443:443" volumes: - Service_X/app:/app - Service_X/Service_X.env:/Service_X.env command: dev

Page 30: Meetup microservice

L’outillageContinuous Integration

Page 31: Meetup microservice

Continuous Integration

Page 32: Meetup microservice

Continuous IntegrationArchitecture

Page 33: Meetup microservice

Continuous IntegrationQu’est ce qui doit être testé ?

Relation d’ordre topologique sur composants connexes du graphe orienté acyclique

Page 34: Meetup microservice

Continuous IntegrationLes tests

Environnement isolé et propre

• Test unitaire• Service• End to end

Temps moyen d’un test 1 minute

Page 35: Meetup microservice

Continuous IntegrationLes tests

Emulation d’un microservice (stub)

Page 36: Meetup microservice

Continuous IntegrationLe build

Temps moyen d’un build• Librairie : 1 minute• Microservice : 10 minutes• Image de base : 20 minutes

Page 37: Meetup microservice

Continuous IntegrationReporting

Page 38: Meetup microservice

Continuous Integration

Code ReviewQualité de code

Page 39: Meetup microservice

ProductionL’infrastructure

Page 40: Meetup microservice

ProductionLe déploiement

Page 41: Meetup microservice

Tutum

Page 42: Meetup microservice

Gestion de la configuration

Page 43: Meetup microservice

Différents types de microservices

Page 44: Meetup microservice

Réseau

Page 45: Meetup microservice

ProductionLe monitoring

• Datadog, monitoring as a service• ELK, centralisation des logs et traitement

Page 46: Meetup microservice

Sommaire

• Introduction• Du développement à la production• Le bilan

Page 47: Meetup microservice

Le bilan

Les microservices, c'est bien, mais c'est difficile à mettre en place (et ça nous a ralenti).