33
Azure Service Fabric et Containers Radoine Douhou Michel Hubert

[DevTestday] Azure service fabric - Radoine Douhou

Embed Size (px)

Citation preview

Page 1: [DevTestday] Azure service fabric -  Radoine Douhou

Azure Service Fabric et ContainersRadoine DouhouMichel Hubert

Page 2: [DevTestday] Azure service fabric -  Radoine Douhou

Demain est aujourd’hui

Page 3: [DevTestday] Azure service fabric -  Radoine Douhou

DevOps

Page 4: [DevTestday] Azure service fabric -  Radoine Douhou

DevOps, pas une méthode mais une philosophie

Automatisation

Infrastructure as a Code

Build automatisé

Déploiement automatisés

Test automatisés

=> Continuous delivery

Mesure

Des indicateurs techniques pour les diagnostics et la télémétrie

Des indicateurs business pour piloter l’activité

Nécessite un monitoring moderne, adaptable, orienté service

Partage

Vision commune

Problèmes communs

Glossaire commun

Outils et bonnes pratiques communes

Culture

Empowerment

Equipes pluridisciplinaires dédiées à des projets

Collaboration vs Silots

Automatisation vs procedures

Page 5: [DevTestday] Azure service fabric -  Radoine Douhou

Avec un focus particulier sur la collaboration

UI specialist

dba

Middleware

Page 6: [DevTestday] Azure service fabric -  Radoine Douhou

Containers

Page 7: [DevTestday] Azure service fabric -  Radoine Douhou

Les Containers

Scalabilité. Déplacements / Reversibilité Cloud Public / Privé Disponibilité / Performance.

Containers

Dev Ops « Write once, run everywhere ». Applications distribuées Environnement Dev / Test. Continuous deployment / Packaging Agile testing

Indépendant Léger. Agile.

Page 8: [DevTestday] Azure service fabric -  Radoine Douhou

Docker

.NET Core ASP.NET 5

Page 9: [DevTestday] Azure service fabric -  Radoine Douhou

Docker dans Azure

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 au sein d’un cluster de machines ou seront distribués .

Docker extension pour VM Linux

Azure Container Service

Pur IAAS Architecture à construire

Azure Scale Set

Page 10: [DevTestday] Azure service fabric -  Radoine Douhou

Docker dans Windows Server 2016

Page 11: [DevTestday] Azure service fabric -  Radoine Douhou

Micro-services

Page 12: [DevTestday] Azure service fabric -  Radoine Douhou

Applications monolithiques

Toutes les fonctionnalités dans un seul process….

Le scalling se fait en répliquant l’application complèteSur plusieurs serveurs.

Page 13: [DevTestday] Azure service fabric -  Radoine Douhou

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.

Page 14: [DevTestday] Azure service fabric -  Radoine Douhou

Une définition des micro-services

Qu’est-ce qu’un micro-service?

Page 15: [DevTestday] Azure service fabric -  Radoine Douhou

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

La techno adaptée au besoin

Page 16: [DevTestday] Azure service fabric -  Radoine Douhou

Organisé autour de business capabilities

UI specialist

Middleware

dba

Front

Page 17: [DevTestday] Azure service fabric -  Radoine Douhou

Organisé autour de business capabilities

Page 18: [DevTestday] Azure service fabric -  Radoine Douhou

Un principe de base fort

«  You build it, you deploy it,

you run it »

Page 19: [DevTestday] Azure service fabric -  Radoine Douhou

Data Management décentralisé

Front Front

Page 20: [DevTestday] Azure service fabric -  Radoine Douhou

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

Page 21: [DevTestday] Azure service fabric -  Radoine Douhou

Quelques idées reçues

• Mon application est sur Docker donc elle est micro-service.• Les architectures micro-services vont résoudre tous mes problèmes.• Les applications monolithiques sont « has been ».• Les micro-services remplacent la SOA.

Page 22: [DevTestday] Azure service fabric -  Radoine Douhou

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»

Page 23: [DevTestday] Azure service fabric -  Radoine Douhou

Architecture en couches

Page 24: [DevTestday] Azure service fabric -  Radoine Douhou

Architecture d’un micro-service

Page 25: [DevTestday] Azure service fabric -  Radoine Douhou

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

Page 26: [DevTestday] Azure service fabric -  Radoine Douhou

Du monolithe aux micro-services

En ai-je vraiment besoin ?

Mon organisation

est-elle mature ?

Mon infra et mes

pratiques logicielles sont-elles matures ?

Page 27: [DevTestday] Azure service fabric -  Radoine Douhou

Azure Service Fabric

Page 28: [DevTestday] Azure service fabric -  Radoine Douhou

Azure Service Fabric

Page 29: [DevTestday] Azure service fabric -  Radoine Douhou

Démo

Page 30: [DevTestday] Azure service fabric -  Radoine Douhou

Framework de développement

Reliable Service Reliable Actor

Statefull

Stateless Mono-threadFortement distribué

Peu de communication Grand nombre de

services

Compute & Etat Indépendant

Communication entre services

Gérer son état via Reliable Collections

Piloter son schéma de répartition /

distribution

Page 31: [DevTestday] Azure service fabric -  Radoine Douhou

Démo

Page 32: [DevTestday] Azure service fabric -  Radoine Douhou

Un exemple ?

• Connaissez-vous une plateforme écrite sous forme de micro-services avec Service Fabric ?

Page 33: [DevTestday] Azure service fabric -  Radoine Douhou

Conclusion – Containers et Micro-services

Azure VM & VM Scale Set

Azure Container Services

Azure Service Fabric

IAAS

PAAS