Upload
cellenza
View
250
Download
2
Embed Size (px)
Citation preview
Azure Service Fabric et ContainersRadoine DouhouMichel Hubert
Demain est aujourd’hui
DevOps
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
Avec un focus particulier sur la collaboration
UI specialist
dba
Middleware
Containers
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.
Docker
.NET Core ASP.NET 5
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
Docker dans Windows Server 2016
Micro-services
Applications monolithiques
Toutes les fonctionnalités dans un seul process….
Le scalling se fait en répliquant l’application complèteSur plusieurs serveurs.
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.
Une définition des micro-services
Qu’est-ce qu’un micro-service?
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
Organisé autour de business capabilities
UI specialist
Middleware
dba
Front
Organisé autour de business capabilities
Un principe de base fort
« You build it, you deploy it,
you run it »
Data Management décentralisé
Front Front
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
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.
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»
Architecture en couches
Architecture d’un micro-service
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
Du monolithe aux micro-services
En ai-je vraiment besoin ?
Mon organisation
est-elle mature ?
Mon infra et mes
pratiques logicielles sont-elles matures ?
Azure Service Fabric
Azure Service Fabric
Démo
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
Démo
Un exemple ?
• Connaissez-vous une plateforme écrite sous forme de micro-services avec Service Fabric ?
Conclusion – Containers et Micro-services
Azure VM & VM Scale Set
Azure Container Services
Azure Service Fabric
IAAS
PAAS