Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
@xebiconfr #xebiconfr
Architecture
MicroServices avec
Azure
Michel HUBERT
Matthieu Klotz
@xebiconfr #xebiconfr
Speakers
Michel Hubert

http://www.cellenza.com
@michelhubert

michel.hubert@cellenza.com
Matthieu K...
@xebiconfr #xebiconfr
Cellenza
1
@xebiconfr #xebiconfr
Cellenza ?
“Nous croyons qu’il est possible de réaliser du
développement logiciel de haute qualité”
...
@xebiconfr #xebiconfr
Des experts reconnus
10
Azure
C#
ALM
SQL Server
Windows Client
1 4
Des publications :
•  Livres blan...
@xebiconfr #xebiconfr
Introduction
2
@xebiconfr #xebiconfr
Applications monolithiques2
Toutes les fonctionnalités dans un seul process….
Le scalling se fait en...
@xebiconfr #xebiconfr
Applications monolithiques
Toutes les fonctionnalités dans un seul process….
Chaque fonctionnalité d...
@xebiconfr #xebiconfr
Le Projet
3
@xebiconfr #xebiconfr
Device
Dashboard
Hub
Store
User
3 Architecture
@xebiconfr #xebiconfr
Hosting
Device IoT Hub
Virtual Network
Store
Load-Balancer
Dashboard
Load-Balancer
User
3
@xebiconfr #xebiconfr
Docker dans Azure
4
@xebiconfr #xebiconfr
Docker Datacenter
Qu’est-ce qu’un container ?
Dependencies: Every application has it’s own dependenc...
@xebiconfr #xebiconfr
Docker Integration4
@xebiconfr #xebiconfr
DevOps4
@xebiconfr #xebiconfr
Docker Datacenter4
@xebiconfr #xebiconfr
Démo
Docker Datacenter Azure
@xebiconfr #xebiconfr
Docker Datacenter
Avantages
•  Mutualisation des ressources
•  Tool chain connue et documentée
•  Pl...
@xebiconfr #xebiconfr
Azure Container Service
5
@xebiconfr #xebiconfr
Azure Container Service
Objectif : ne plus s’occuper de la
quantité de resources virtuelles
•  Usage...
@xebiconfr #xebiconfr
Notre projet
Device
 IoT Hub
Virtual Network
Containers
Load-Balancer
User
Azure Document DB
Swarm M...
@xebiconfr #xebiconfr
Démo
Azure Container Service
@xebiconfr #xebiconfr
Azure Container Service
Avantages
•  Mutualisation des ressources
•  Même tooling que Docker Datacen...
@xebiconfr #xebiconfr
Service Fabric
6
@xebiconfr #xebiconfr
Service Fabric
Objectif : ne plus s’occuper du Framework
Service Fabric est une plateforme pour :
• ...
@xebiconfr #xebiconfr
Service Fabric
Microservices
Service FabricHigh
Availability
Hyper-Scale
Hybrid Operations
High Dens...
@xebiconfr #xebiconfr
Démo
Service Fabric
@xebiconfr #xebiconfr
Service Fabric
Avantages
•  Mutualisation des ressources
•  Mise à jour automatique du framework
•  ...
@xebiconfr #xebiconfr
AppService
7
@xebiconfr #xebiconfr
Azure AppService
Objectif : full PaaS. Plus de gestion de VMs
App Service est une plateforme d’héber...
@xebiconfr #xebiconfr
Azure AppService
App Service
Device
 IoT Hub
 Azure Function
 Azure Document DB
User
Azure Web App
A...
@xebiconfr #xebiconfr
Démo
Azure AppService
@xebiconfr #xebiconfr
Azure App Service
Avantages
•  Mutualisation des ressources
•  Intégration aux gestionnaires de sour...
@xebiconfr #xebiconfr
Conclusion
@xebiconfr #xebiconfr
Questions ?
Upcoming SlideShare
Loading in …5
×

XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de Cellenza et Matthieu Klotz, Ingénieur d'études - Architecte chez Cellenza

290 views

Published on

Les microservices sont les dernières architectures à la mode, certains disent que c’est la suite logique des architectures SOA dans un environnement agile. Microsoft au travers de sa plateforme Cloud Azure, propose toute une série d’outils, de services managés pour construire et déployer vos architectures microservices. Découvrons ensemble les différentes solutions d’Azure : Azure Container Service, Docker, Service Fabric, App Service, ainsi que leurs avantages et leurs inconvénients.

Published in: Technology

XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de Cellenza et Matthieu Klotz, Ingénieur d'études - Architecte chez Cellenza

  1. 1. @xebiconfr #xebiconfr Architecture MicroServices avec Azure Michel HUBERT Matthieu Klotz
  2. 2. @xebiconfr #xebiconfr Speakers Michel Hubert http://www.cellenza.com @michelhubert michel.hubert@cellenza.com Matthieu Klotz http://www.cellenza.com @matthieuklotz Matthieu.klotz@cellenza.com
  3. 3. @xebiconfr #xebiconfr Cellenza 1
  4. 4. @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éveloppement Patterns d’architecture Best Practices (TDD, BDD, …) Craftmanship Méthodes agiles (SCRUM, SafE) ALM Intégration Continue Mesure d’impact Processus, Organisation, DevOps Communication, Formation, Coaching 1
  5. 5. @xebiconfr #xebiconfr Des experts reconnus 10 Azure C# ALM SQL Server Windows 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
  6. 6. @xebiconfr #xebiconfr Introduction 2
  7. 7. @xebiconfr #xebiconfr Applications monolithiques2 Toutes les fonctionnalités dans un seul process…. Le scalling se fait en répliquant l’application complète sur plusieurs serveurs.
  8. 8. @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
  9. 9. @xebiconfr #xebiconfr Le Projet 3
  10. 10. @xebiconfr #xebiconfr Device Dashboard Hub Store User 3 Architecture
  11. 11. @xebiconfr #xebiconfr Hosting Device IoT Hub Virtual Network Store Load-Balancer Dashboard Load-Balancer User 3
  12. 12. @xebiconfr #xebiconfr Docker dans Azure 4
  13. 13. @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 containers Shared host OS Processes in containers are isolated from other containers in user space, but share the kernel with the host and other containers Differences in underlying OS and infrastructure are abstracted away, streamlining “deploy anywhere” approach Containers can be created almost instantly, enabling rapid scale-up and scale-down in response to changes in demand 4
  14. 14. @xebiconfr #xebiconfr Docker Integration4
  15. 15. @xebiconfr #xebiconfr DevOps4
  16. 16. @xebiconfr #xebiconfr Docker Datacenter4
  17. 17. @xebiconfr #xebiconfr Démo Docker Datacenter Azure
  18. 18. @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
  19. 19. @xebiconfr #xebiconfr Azure Container Service 5
  20. 20. @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.11 Ajout / 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 Container Tooling Service Tooling
  21. 21. @xebiconfr #xebiconfr Notre projet Device IoT Hub Virtual Network Containers Load-Balancer User Azure Document DB Swarm Managers Load-Balancer Ops 5
  22. 22. @xebiconfr #xebiconfr Démo Azure Container Service
  23. 23. @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
  24. 24. @xebiconfr #xebiconfr Service Fabric 6
  25. 25. @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
  26. 26. @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 programming models Resource balancing Self-healingData Partitioning Automated Rollback Health Monitoring Placement Constraints Azure Private cloud Other clouds 6
  27. 27. @xebiconfr #xebiconfr Démo Service Fabric
  28. 28. @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
  29. 29. @xebiconfr #xebiconfr AppService 7
  30. 30. @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
  31. 31. @xebiconfr #xebiconfr Azure AppService App Service Device IoT Hub Azure Function Azure Document DB User Azure Web App Azure API App 7
  32. 32. @xebiconfr #xebiconfr Démo Azure AppService
  33. 33. @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
  34. 34. @xebiconfr #xebiconfr Conclusion
  35. 35. @xebiconfr #xebiconfr Questions ?

×