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

Post on 06-Aug-2020

9 views 0 download

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

Architecture Microservices dans Azure

Juin 2018

2

Concepts et problématiques

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

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

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

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

Les architectures de services Microservices : Pourquoi ?

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

Une application :

Les architectures de services Microservices : Pourquoi ?

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

Une application et des services :

Les architectures de services Microservices : Pourquoi ?

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

Une application et des services dupliqués :

Les architectures de services Microservices : Pourquoi ?

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

Un problème :

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

12

Mise en oeuvre

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

14

Azure

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

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

Azure Service Fabric Comment appeler un microservice ?

Appel client – service en direct

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

Azure Service Fabric Comment appeler un microservice ?

Ou via Azure API Management

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

Azure Service Fabric Communication entre microservices

Appel synchrone

Reverse Proxy Circuit Breaker

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

Azure Service Fabric Communication entre microservices

Appel asynchrone avec Azure Service Bus

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

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

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

Azure Service Fabric Gestion des transactions

Problématique logicielle

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

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

Azure Service Fabric Récapitulons

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

Azure Service Fabric Récapitulons

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

28

Développons !

Azure Service Fabric Création du cluster dans Azure

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

Azure Service Fabric Création du cluster dans Azure

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

Gestion certificat :

Azure Service Fabric Création du cluster dans Azure

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

Service Explorer :

Template ARM :

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 :

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 :

Azure Service Fabric Création du projet dans Visual Studio

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

Azure Service Fabric Création du projet dans Visual Studio

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

Azure Service Fabric Création du projet dans Visual Studio

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

Azure Service Fabric Création du projet dans Visual Studio

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

Azure Service Fabric Test en local

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

Azure Service Fabric Déploiement

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

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

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

Azure Service Fabric Les microservices

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

Azure Service Fabric ALM avec VSTS

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

Azure Service Fabric ALM avec VSTS

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

Azure Service Fabric Déploiements

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

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

merci