Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans...

46
Architecture Microservices dans Azure Juin 2018

Transcript of Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans...

Page 1: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Architecture Microservices dans Azure

Juin 2018

Page 2: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

2

Concepts et problématiques

Page 3: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Les architectures de services SOA / WOA

Pourquoi SOA

– Les webservices avec SOAP et WSDL

Pourquoi WOA

– Roy Fielding et REST

Avantages et inconvénients des deux approches

26/04/2018 OAB - Architecture Microservices dans Azure 3

Page 4: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Les architectures de services Microservices

Composant logiciel pour un besoin fonctionnel précis, définis et délimité.

Composant autonome au niveau du déploiement et de l’exécution.

Environnements hautement distribué

26/04/2018 OAB - Architecture Microservices dans Azure 4

Page 5: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Les architectures de services Microservices : avantages Un microservice : unité de service fonctionnelle qui se développe, se déploie, s’exécute et gère ses données indépendamment des autres services du système

Code base indépendant et restreint

Développement et déploiement indépendant

Scalabilité automatique

Tolérance au panne

Mise à jour facilité

Indépendances et agilité technologiques

Séparation des responsabilités

26/04/2018 OAB - Architecture Microservices dans Azure 5

Page 6: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Les architectures de services Microservices : inconvénients Un microservice : unité de service fonctionnelle qui se développe, se déploie, s’exécute et gère ses données indépendamment des autres services du système

Augmentation de la complexité du SI

Intégration et déploiements nombreux

Tests plus difficiles

Hausse nombre d’éléments à développer, surveiller, livrer

Augmentation du traffic réseau et latence HTTP

Hétérogénéité des technologies utilisées

26/04/2018 OAB - Architecture Microservices dans Azure 6

Page 7: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Les architectures de services Microservices : Pourquoi ?

26/04/2018 OAB - Architecture Microservices dans Azure 7

Une application :

Page 8: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Les architectures de services Microservices : Pourquoi ?

26/04/2018 OAB - Architecture Microservices dans Azure 8

Une application et des services :

Page 9: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Les architectures de services Microservices : Pourquoi ?

26/04/2018 OAB - Architecture Microservices dans Azure 9

Une application et des services dupliqués :

Page 10: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Les architectures de services Microservices : Pourquoi ?

26/04/2018 OAB - Architecture Microservices dans Azure 10

Un problème :

Page 11: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Les architectures de services Microservices : un peu de recul …

Une SOA qui évolue :

– Avantages de l’approche services

– DevOps

– Cloud

Microservices = buzzword ?

12factor.net

Bien mesurer avantages et inconvénients

Peut-on se le permettre ?

26/04/2018 OAB - Architecture Microservices dans Azure 11

Page 12: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

12

Mise en oeuvre

Page 13: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Problématiques Un microservice : unité de service fonctionnelle qui se développe, se déploie, s’exécute et gère ses données indépendamment des autres services du système

Quel périmètre pour un microservice ?

Comment appeler un microservice ?

Comment communiquent-ils entre eux ?

Gestion des données

Gestion des logs et monitoring

Tolérance aux pannes

Gestion des transactions

Application Lifecycle Management

26/04/2018 OAB - Architecture Microservices dans Azure 13

Page 14: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

14

Azure

Page 15: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Microservices

Azure Container Services – Docker – Orchestrateur de services

Azure Service Fabric – PAAS Microsoft – Orchestrateur de services

Haute disponibilité

Scalabilité à grande échelle

Gestion des mises à jour

Monitoring

Démarrage et un arrêt rapide des services

Gestion du load balancing des services

26/04/2018 OAB - Architecture Microservices dans Azure 15

Page 16: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Quel périmètre pour un microservice ?

Séparer la complexité fonctionnelle et technique

Eviter le couplage entre services.

Trouver un équilibre entre macroservices et nanoservices

Domain Driven Design

26/04/2018 OAB - Architecture Microservices dans Azure 16

Page 17: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Comment appeler un microservice ?

Appel client – service en direct

26/04/2018 OAB - Architecture Microservices dans Azure 17

Page 18: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Comment appeler un microservice ?

Ou via Azure API Management

26/04/2018 OAB - Architecture Microservices dans Azure 18

Page 19: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Communication entre microservices

Appel synchrone

Reverse Proxy Circuit Breaker

26/04/2018 OAB - Architecture Microservices dans Azure 19

Page 20: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Communication entre microservices

Appel asynchrone avec Azure Service Bus

26/04/2018 OAB - Architecture Microservices dans Azure 20

Page 21: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Gestion des données

SQL Server NoSQL : mongoDB MySql

Nos options sont :

Un service : un jeu de tables.

Un service : un schéma de la base.

Un service : une base de données.

CQRS

Event Sourcing

26/04/2018 OAB - Architecture Microservices dans Azure 21

Page 22: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Tolérance aux pannes

Windows Application Diagnostics

Application Insights

26/04/2018 OAB - Architecture Microservices dans Azure 22

Scalabilité automatique : règles de charge

Load balancer

Redémarrage des services automatique

Outils de monitoring et de diagnostics pour analyser les problèmes

Page 23: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Gestion des transactions

Problématique logicielle

26/04/2018 OAB - Architecture Microservices dans Azure 23

Page 24: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Récapitulons

Une offre PAAS Azure.

Scalabilité.

Découvrabilité via le Reverse Proxy.

API Management.

Monitoring avec Application Insights.

Communication avec Azure Service Bus pour les appels asynchrone.

Framework de développement .Net + templates

Solution CI/CD compatible avec VSTS

26/04/2018 OAB - Architecture Microservices dans Azure 24

Page 25: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin
Page 26: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Récapitulons

26/04/2018 OAB - Architecture Microservices dans Azure 26

Page 27: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Récapitulons

26/04/2018 OAB - Architecture Microservices dans Azure 27

Page 28: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

28

Développons !

Page 29: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Création du cluster dans Azure

26/04/2018 OAB - Architecture Microservices dans Azure 29

Page 30: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Création du cluster dans Azure

26/04/2018 OAB - Architecture Microservices dans Azure 30

Gestion certificat :

Page 31: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Création du cluster dans Azure

26/04/2018 OAB - Architecture Microservices dans Azure 31

Service Explorer :

Template ARM :

Page 32: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Création du cluster dans Azure

26/04/2018 OAB - Architecture Microservices dans Azure 32

Règles d’ouverture de port :

Ajout d’Insights :

Page 33: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Création du cluster dans Azure

26/04/2018 OAB - Architecture Microservices dans Azure 33

Ajout de règles de montée en charge :

Page 34: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Création du projet dans Visual Studio

26/04/2018 OAB - Architecture Microservices dans Azure 34

Page 35: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Création du projet dans Visual Studio

26/04/2018 OAB - Architecture Microservices dans Azure 35

Page 36: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Création du projet dans Visual Studio

26/04/2018 OAB - Architecture Microservices dans Azure 36

Page 37: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Création du projet dans Visual Studio

26/04/2018 OAB - Architecture Microservices dans Azure 37

Page 38: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Test en local

26/04/2018 OAB - Architecture Microservices dans Azure 38

Page 39: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Déploiement

26/04/2018 OAB - Architecture Microservices dans Azure 39

https://try.servicefabric.azure.com/

Page 40: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Création du projet dans Visual Studio

26/04/2018 OAB - Architecture Microservices dans Azure 40

Si un autre service de mon cluster doit réaliser le même appel, l’url sera la suivante : http://localhost:19081/OrangeTechsMicroservices/Clients/1

Page 41: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Les microservices

26/04/2018 OAB - Architecture Microservices dans Azure 41

Page 42: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric ALM avec VSTS

26/04/2018 OAB - Architecture Microservices dans Azure 42

Page 43: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric ALM avec VSTS

26/04/2018 OAB - Architecture Microservices dans Azure 43

Page 44: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric Déploiements

26/04/2018 OAB - Architecture Microservices dans Azure 44

Page 45: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

Azure Service Fabric : Pricing

26/04/2018 OAB - Architecture Microservices dans Azure 45

Puissance nœuds du cluster

Nombre d’instances

Consommation CPU / RAM

azure.microsoft.com/fr-fr/pricing/calculator/

try.servicefabric.azure.com

Page 46: Architecture Microservices dans Azure€¦ · 26/04/2018 OAB - Architecture Microservices dans Azure 3 . Les architectures de services Microservices Composant logiciel pour un besoin

merci