xebicon architectures microservices azure v1.0
TRANSCRIPT
![Page 1: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/1.jpg)
@xebiconfr #xebiconfr
Architecture MicroServices avec
AzureMichel HUBERT Matthieu Klotz
![Page 2: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/2.jpg)
@xebiconfr #xebiconfr
Speakers
Michel Hubert
http://www.cellenza.com @michelhubert
Matthieu Klotz
http://www.cellenza.com @matthieuklotz
![Page 3: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/3.jpg)
@xebiconfr #xebiconfr
Cellenza1
![Page 4: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/4.jpg)
@xebiconfr #xebiconfr
Cellenza ?
“Nous croyons qu’il est possible de réaliser du développement logiciel de haute qualité”
WHY ?
Technologie Méthodologie Gouvernance
Conduite du changement
DéveloppementPatterns
d’architectureBest Practices (TDD,
BDD, …)Craftmanship
Méthodes agiles (SCRUM, SafE)
ALMIntégration Continue
Mesure d’impact
Processus, Organisation,
DevOps
Communication, Formation, Coaching
1
![Page 5: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/5.jpg)
@xebiconfr #xebiconfr
Des experts reconnus
10 AzureC#ALMSQL ServerWindows Client
1 4
Des publications :• Livres blancs (Cell’Insights)
• http://www.cellenza.com/cellinsights• Articles dans Programmez!• Blog Cellenza
• http://blog.cellenza.com• Organisation de TechEvent• Speakers lors de conférences Microsoft
• TechDays, Azure Camp, …
1
![Page 6: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/6.jpg)
@xebiconfr #xebiconfr
Introduction2
![Page 7: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/7.jpg)
@xebiconfr #xebiconfr
Applications monolithiques2
Toutes les fonctionnalités dans un seul process….
Le scalling se fait en répliquant l’application complètesur plusieurs serveurs.
![Page 8: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/8.jpg)
@xebiconfr #xebiconfr
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.
2
![Page 9: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/9.jpg)
@xebiconfr #xebiconfr
Le Projet3
![Page 10: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/10.jpg)
@xebiconfr #xebiconfr
Device
Dashboard
Hub
Store
User
3 Architecture
![Page 11: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/11.jpg)
@xebiconfr #xebiconfr
Hosting : IaaS
Device IoT Hub
Virtual Network
Store
Load-Balancer
DashboardLoad-Balancer
User3
![Page 12: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/12.jpg)
@xebiconfr #xebiconfr
Docker dans Azure4
![Page 13: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/13.jpg)
@xebiconfr #xebiconfr
Docker Datacenter
Qu’est-ce qu’un container ?
Dependencies: Every application has it’s own dependencies
which includes both software (services, libraries) and hardware (CPU, memory, storage) Virtualization: Container engine is a light weight virtualization mechanism which isolates these dependencies per each application by packaging them into virtual containersShared host OS: Processes in containers are isolated from other containers in user space, but share the kernel with the host and other containersFlexible: Differences in underlying OS and infrastructure are abstracted away, streamlining “deploy anywhere” approachFast: Containers can be created almost instantly, enabling rapid scale-up and scale-down in response to changes in demand
4
Container
1Container
2Container
3
Unassigned
Host and VM OS files and librariesHost
![Page 14: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/14.jpg)
@xebiconfr #xebiconfr
Docker Integration
Docker
Dockerized app
Windows Server
ContainerLinux
Container
CustomerDatacenter
ServiceProvider
MicrosoftAzure
Run anywhere
4
![Page 15: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/15.jpg)
@xebiconfr #xebiconfr
DevOps
Developers build and test apps in containers, using development environment
Containers pushed tocentral repository
Operations automates deployment and monitors deployed apps from central repository
Physical/Virtual Servers
1 2
2
3Operations collaborates with developers to provide app metrics and insights
Developers update, iterate, and deploy updated containers
4
![Page 16: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/16.jpg)
@xebiconfr #xebiconfr
Docker Datacenter4
![Page 17: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/17.jpg)
@xebiconfr #xebiconfr
DémoDocker Datacenter Azure
![Page 18: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/18.jpg)
@xebiconfr #xebiconfr
Docker Datacenter
Avantages
• Mutualisation des ressources• Tool chain connue et documentée• Plateforme complète
Inconvénients
• Gestion des machines virtuelles (mise à jour, etc.)• Gestion du réseau virtuel (politiques de sécurité, load-balancing, etc.)• Gestion des ressources : ajout / suppression de machines manuel• Coût : licence (150€ par VM) + nombre de machines (minimum 6)
4
![Page 19: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/19.jpg)
@xebiconfr #xebiconfr
Azure Container Service
5
![Page 20: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/20.jpg)
@xebiconfr #xebiconfr
Azure Container Service
Objectif : ne plus s’occuper de la quantité de resources virtuelles • Usage de Virtual Machine Scaleset
Container Service est une offre de cluster Docker, basée sur Swarm 1.11Ajout / Suppression de VMs en fonction de la charge CPU, mémoire, etc.
Premier pas vers le PaaS : suppression de MongoDB, passage à DocumentDB• Drivers Compatible• Plus de gestion des volumes
5
Containers
VMs and VM Scale Sets
ARM Template
Container Services (1st party, 3rd party)
Windows Server Linux
Azure Stack Azure
Container Tooling
Service Tooling
![Page 21: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/21.jpg)
@xebiconfr #xebiconfr
Notre projet
Device IoT Hub
Virtual Network
ContainersLoad-Balancer
User
Azure Document DB
Swarm Managers
Load-Balancer
Ops
5
![Page 22: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/22.jpg)
@xebiconfr #xebiconfr
DémoAzure Container Service
![Page 23: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/23.jpg)
@xebiconfr #xebiconfr
Azure Container Service
Avantages
• Mutualisation des ressources• Même tooling que Docker Datacenter• Gestion automatique de la quantité de resources virtuelles• Gain financier face à Docker Datacenter (plus de licence), moins de machines
Inconvénients
• Gestion des machines virtuelles (mise à jour, etc.)• Monitoring : intégration de solutions tiers telles que OMS• Pas de Swarm Mode (Swarm 1.12)• Nombre de machines virtuelles : minimum 5
5
![Page 24: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/24.jpg)
@xebiconfr #xebiconfr
Service Fabric6
![Page 25: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/25.jpg)
@xebiconfr #xebiconfr
Service Fabric
Objectif : ne plus s’occuper du Framework
Service Fabric est une plateforme pour :• Créer et déployer des micro-services stateless ou statefull• Hébergement d’applicatif externes (ex : redis)• Gérer ses containers docker (windows ou linux)
Service Fabric est la base de nombreux composants Azure : DocumentDB, Azure SQL Database, Event Hub, Cortana, etc.
6
![Page 26: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/26.jpg)
@xebiconfr #xebiconfr
Service Fabric
Microservices
Service FabricHigh Availability
Hyper-Scale
Hybrid Operations
High Density
Rolling Upgrades Stateful
services
Low Latency Fast startup & shutdown
Container Orchestration & lifecycle management Replication &
Failover
Simple programmin
g models Resource balancing
Self-healingData Partitioning
Automated Rollback
Health Monitoring
Placement Constraints
Azure Private cloud Other clouds
6
![Page 27: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/27.jpg)
@xebiconfr #xebiconfr
DémoService Fabric
![Page 28: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/28.jpg)
@xebiconfr #xebiconfr
Service Fabric
Avantages• Mutualisation des ressources• Mise à jour automatique du framework• Monitoring inclus• Linux & Windows• Modèle Acteur natif• Service Stateless & Statefull
Inconvénients• Apprentissage de la plateforme• Mise à jour de l’Operating System à gérer• Nombre de machines virtuelles : minimum 5
6
![Page 29: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/29.jpg)
@xebiconfr #xebiconfr
AppService7
![Page 30: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/30.jpg)
@xebiconfr #xebiconfr
Azure AppService
Objectif : full PaaS. Plus de gestion de VMs
App Service est une plateforme d’hébergement :• Différents languages : C#, Java, Php, Node.js, Python• Auto-scaling & Load-Balancing automatique• Auto-Patching• Intégration continue avec les outils habituels : Git, TFS,
etc.
Azure Function est une solution de traitement de données • Server-Less• Intégré à App Service
7
![Page 31: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/31.jpg)
@xebiconfr #xebiconfr
Azure AppService
App Service
Device IoT Hub Azure Function Azure Document DB
User
Azure Web App
Azure API App
7
![Page 32: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/32.jpg)
@xebiconfr #xebiconfr
DémoAzure AppService
![Page 33: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/33.jpg)
@xebiconfr #xebiconfr
Azure App Service
Avantages
• Mutualisation des ressources• Intégration aux gestionnaires de sources• Monitoring (via Application Insights)• Haute Scalabilité• Plus de IaaS
Inconvénients
• Support limité en nombre de langages
7
![Page 34: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/34.jpg)
@xebiconfr #xebiconfr
Conclusion
![Page 35: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/35.jpg)
@xebiconfr #xebiconfr
Conclusion
IaaS• VM
CaaS• Docker
CaaS• Service
Fabric
PaaS• AppServic
e
![Page 36: Xebicon architectures microservices azure v1.0](https://reader035.vdocuments.site/reader035/viewer/2022062902/58ee67d81a28abfa178b45c7/html5/thumbnails/36.jpg)
@xebiconfr #xebiconfr
Questions ?