Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça PaaS ou ça CaaS ?

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Chargement dans…3
×

Consultez-les par la suite

1 sur 32 Publicité

Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça PaaS ou ça CaaS ?

Télécharger pour lire hors ligne

La plateforme Microsoft Azure offre différentes possibilités pour l’hébergement d’applications modernes. Dans cette session, nous passerons en revue les différents choix d’architectures possibles pour ces applications : machines virtuelles, services de plateformes comme Azure Service Fabric et Azure App Services, solutions d’hébergement de conteneurs Docker sont autant de possibilités qui s’offrent à vous dès aujourd’hui !

La plateforme Microsoft Azure offre différentes possibilités pour l’hébergement d’applications modernes. Dans cette session, nous passerons en revue les différents choix d’architectures possibles pour ces applications : machines virtuelles, services de plateformes comme Azure Service Fabric et Azure App Services, solutions d’hébergement de conteneurs Docker sont autant de possibilités qui s’offrent à vous dès aujourd’hui !

Publicité
Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Publicité

Similaire à Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça PaaS ou ça CaaS ? (20)

Plus par Microsoft (20)

Publicité

Plus récents (20)

Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça PaaS ou ça CaaS ?

  1. 1. Quelles options pour vos applications Cloud ? De la VM au conteneur : ça PaaS ou ça CaaS.
  2. 2. ² Julien Corioland Evangéliste Technique Microsoft France @jcorioland Nicolas Clerc Architecte Cloud Microsoft France @nclerc David Gageot Core Engineer Docker, Inc. @dgageot Quelles options pour vous applications Cloud ? De la VM au conteneur, ça PaaS ou ça CaaS.
  3. 3. • Avoir une vue d’ensemble de la plateforme applicative Microsoft Azure • Comprendre le positionnement des différents services qui composent cette plateforme • Connaître les options à votre disposition sur la plateforme Microsoft Azure pour héberger vos applications Cloud Objectifs de cette session N° 3
  4. 4. N° 4
  5. 5. La plateforme applicative Microsoft Azure N° 5 Services orientés plateforme App Service Cloud Services Service Fabric Services d’infrastructure Batch Services applicatifs SQL Database Redis Cache DocumentDB Search HDInsight Stream Analytics Machine Learning Event Hubs Mobile Engagement Marketplace Active Directory ... Application
  6. 6. Une « application Cloud », c’est quoi ? Une collection de services qui communiquent entre eux N° 6 Web Front Products API Recommendations API Ratings API
  7. 7. Niveaux d’isolation VS densité N° 7 Plus isolé Plus dense PC / Machine Virtual Machine Container Process Matériel Non partagé Partagé Partagé Partagé Kernel Non partagé Non partagé Partagé * Partagé Ressources Système Non partagé Non partagé Non partagé Partagé * Sauf Hyper-V Containers ~10 min ~ 10 sec Vélocité de mise à l’échelle ~ 1 sec~ 10 jrs ouvrés
  8. 8. Contrôle VS Simplicité IaaS (managé?), CaaS, PaaS… N° 8 Contrôle Simplicité Machines Virtuelles VM Scale Sets Container Service Service Fabric App Services
  9. 9. Option #1: Azure App Services
  10. 10. Azure App Services N° 10 • Langages & Framework • DevOps • Self service Apps Web Apps Mobile Apps API Apps Functions eCommerce Digital Global Presence LOB API / Services / ISVCustom Apps • Auto Scaling • OS & Framework • Load balancers / Infra • Enterprise Grade SLA • Sécurité • Connectivité On-Premise
  11. 11. N° 11 Products API App Services API App Recommendations API App Services API App Ratings API App Services API App Web Front App Services Web App APP PLAN #1APP PLAN #1 APP PLAN #2 APP PLAN #3
  12. 12. Démo – App Services
  13. 13. • Ne pas se préoccuper de l’infrastructure sous jacente • Possibilité d’héberger plusieurs applications dans un même plan (densité / coûts) • Simplicité : • Auto-Scaling • DevOps : déploiement continue, slot de déploiement, tests en production… • Totalement managé Azure App Services Quelques avantages… N° 13
  14. 14. Option #2: Azure Service Fabric
  15. 15. Service Fabric Une plateforme pour des services distribués, évolutifs et hautement disponibles N° 15 • Une plateforme distribuée pour déployer vos applications et services • Modèle applicatif , API native et managée • Services techniques : nommage, localisation, … • Communication sécurisés, Messaging applicatif • Haute disponibilité et forte montée en charge • Partitionnement, Réplication et Failover des services • Gestion des ressources, placement par contraintes • Mutualisation, optimisation des ressources et haute densité de services • plusieurs applications sur un même cluster (un cluster = plusieurs nœuds) • Multiple versions d’une même application, rolling upgrade, rollback
  16. 16. Service Fabric N° 16 Plateforme ServiceFabric Node 1 Node 2 Node 3 Node XYZ • VM Windows (GA) • VM Linux (Preview) • Azure VMScaleSet
  17. 17. Service Fabric Un framework pour construire vos services N° 17 • Un framework pour développer vos micro-services MicroService ?? • Service ou une application autonome à périmètre fonctionnel limité et clairement identifié • Cycle de développement indépendant • Continuous Delivery ‘by design’ • Versionning multiple • ReliableCollection • Socle technologique ouvert • Multi technologies de développement – 1st class : Java/Linux & .Net-.NetCore/Windows – Guest executable, Container • Service Fabric pour Windows Server (GA) • Service Fabric pour Linux (Preview) • Microsoft Azure Service Fabric (GA) • Et donc tout cloud !!
  18. 18. Service Fabric Modèles applicatifs N° 18 Plateforme ServiceFabric Modèle applicatif “ReliableService” : SDK & API “Reliable storage” Actor model framework “Guest executable” - N’importe quel exécutable - ServiceFabric gère le cycle de vie de l’exécutable - Intégration limitée avec la plateforme “container” - Déploiement de container - ServiceFabric gère le cycle de vie de du container - Intégration limitée avec la plateforme Stateless service - Modèle applicatif simple - Forte intégration (monitoring, health, load balancing, communication, localisation, …) - Multi technologies Statefull service - Proximité des ‘données’ avec le service - Replication automatique des données Actor service - Pattern « virtual Actor Model » Node 1 Node 2 Node 3 Node XYZ • VM Windows • VM Linux • Azure VMScaleSet
  19. 19. N° 19 Products API Recommendations API Ratings API Web Front ApplicationType: ServiceFabricShopType ServiceType: ShopFrontType ServiceType: ProductApiType ServiceType: RecommandationsApiType ServiceType: RatingsApiType
  20. 20. Démo – Service Fabric
  21. 21. Option #3: Les conteneurs Docker
  22. 22. Les conteneurs Docker Une nouvelle unité de packaging et de déploiement N° 22 Build Ship Run Anywhere Distributed Applications
  23. 23. Démo – Docker
  24. 24. Chaîne d’intégration continue Du Dev à l’Ops ! N° 24 Visual Studio Code GitHub Visual Studio Team Services Docker Trusted Registry
  25. 25. Démo – CI
  26. 26. • Infrastructure as a Service • Simple VM avec Docker installé • Azure Container Service • Cluster Swarm “as a service” • Azure Service Fabric • Support annoncé des images Docker (Windows & Linux) Docker & Microsoft Azure Quelles options pour héberger des conteneurs ? N° 26 • Docker for Azure • Docker Datacenter • Toute l’offre Docker “as a service” • Marketplace Azure
  27. 27. Conclusion
  28. 28. La plateforme applicative Microsoft Azure N° 28 Services orientés plateforme App Service Cloud Services Service Fabric Services d’infrastructure Batch Services applicatifs SQL Database Redis Cache DocumentDB Search HDInsight Stream Analytics Machine Learning Event Hubs Mobile Engagement Marketplace Active Directory ... Application
  29. 29. Quelques sessions… N° 29 • Applications Cloud : et si le futur était « serverless » ? • 17h en salle 241 • Développement et déploiement d’applications conteneurisées avec Docker • 17h en salle 352B • Azure Service Fabric pour les développeurs • 15h45 en salle 342B • Rencontre avec les experts & speakers • DevOps -> 15h45, Village Cloud • Architectes & Développeurs Cloud -> 15h45, Village Cloud
  30. 30. N° 30
  31. 31. @microsoftfrance @Technet_France @msdev_fr @jcorioland, @nclerc, @dgageot N° 31
  32. 32. Notez cette session Et tentez de gagner un Surface Book Doublez votre chance en répondant aussi au questionnaire de satisfaction globale * Le règlement est disponible sur demande au commissariat général de l’exposition. Image non-contractuelle

Notes de l'éditeur

  • Les objectifs de cette session sont :
    Avoir une vue d’ensemble de la plateforme applicative Microsoft Azure
    Comprendre le positionnement des différents services qui composent cette plateforme
    Connaître les options à votre disposition sur la plateforme Microsoft Azure pour héberger vos applications Cloud
  • Concrètement, Microsoft Azure c’est avant tout des data-centers répartis dans plus de 30 régions dans le monde…

    Et la bonne nouvelle du début de semaine, c’est que le Cloud Microsoft arrivera en France en 2017 !

    Un data-center Azure, qu’est-ce que c’est ?
  • Tout en bas, on a des serveurs physiques, sur lesquels on a bâti une couche d’Infrastructure-as-a-service (IaaS). Elle permet notamment de déployer des machines virtuelles, de virtualiser le réseau, le stockage et de déployer un certain nombre de services qui reposent sur ce IaaS.

    Par-dessus, on a une couche de Platform-as-a-Service (PaaS), avec historiquement les Cloud Services, et depuis Azure App Services, pour l’hébergement d’applications web, d’API web, de back-end d’applications mobiles… Et aussi Azure Service Fabric, notre orchestrateur de micro-services.

    Enfin, on retrouve un catalogue de plus de 500 services applicatifs disponibles sur Azure, allant de la base de données SQL as-a-service, en passant par des services de recherches, de cache ou encore liés au Big Data et à l’IOT.

    Et au final, votre application Cloud, quelle qu’elle soit, va pouvoir venir exploiter toute ces couches pour tirer pleinement partie de la plateforme, que ce soit sous Linux ou sous Windows, avec les langages et Frameworks de votre choix, que vous avez l’habitude d’utiliser dans vos équipes.
  • Concrètement, une application Cloud, ce n’est rien d’autres qu’une collection de services / API qui interagissent entre eux et avec des services de stockage, de cache, …

    Et dans cette session, on a choisi de prendre un cas très simple pour illustrer toutes les démonstrations que l’on va faire, avec une application web front développée en ASP.NET Core, qui fait appel à trois API web, elle aussi développée en ASP.NET Core.
  • Une fois que l’on a défini nos différents services, une des premières questions que l’on peut se poser, c’est le niveau d’isolation que l’on souhaite avoir pour nos services, versus la densité que l’on souhaite qu’ils occupent. Ainsi, si on fait le choix d’une machine virtuelle par service, on sera beaucoup plus isolé qu’un process par service, mais on sera également moins dense ; et implicitement, la vélocité de mise à l’échelle de l’application sera plus faible pour le modèle VM que processus ou conteneur.
  • La deuxième question que l’on peut se poser, est le choix du contrôle, versus celui de la simplicité. Si vous choisissez d’utiliser les couches d’Infrastructure-as-a-Service, vous aurez en charge la gestion de l’OS, des mises à jour, l’installation des Framework applicatifs, configuration des fermes de serveurs, réseaux, load balancers… etc… avec la possibilité de simplifier un peu les choses avec les VM Scale Sets qui permettent gérer et déployer un groupe de machines identiques et passer à l’échelle plus rapidement…

    A l’inverse, vous pouvez choisir de perdre un peu de contrôle, mais de gagner en simplicité, avec des plateformes comme Azure Service Fabric, pour orchestrer vos micro-services ou Azure App Services pour vos applications web.

    Entre les deux, les conteneurs sont une nouvelle option : des services comme Azure Container Service ou Docker Datacenter permettent d’orchestrer des applications déployées sous la forme de conteneur en faisant abstraction de la plateforme… On parle parfois de PaaS over IaaS, ou de Container-as-a-Service.
  • Et donc du coup, la première option que l’on va démontrer aujourd’hui, c’est Azure App Services
  • Azure App Services est un service de plateforme destiné à héberger tout type d’applications / API web et back end d’applications mobiles. C’est une plateforme totalement managée, vous n’avez pas d’OS ou d’infrastructure à gérer, il suffit de pousser votre code – Node.js, PHP, Java, .NET… - et cela fonctionne.

    La plateforme fournit également des services de haut niveau, comme l’auto scaling pour augmenter ou diminuer le nombre de machines qui exécutent l’application, ou encore les slots de déploiement pour gérer vos environnements de développements, tests, recette… faire du test en production ou encore déployer en continu vos applications depuis votre contrôle de code source.
  • Montrer le code dans Visual Studio Code + expliquer qu’on est dans un repository GitHub
    Se connecter au portail Azure et montrer le ressource group avec la web app et les 3 api app
    Montrer le site web en exécution dans Edge
    Faire une modification de la version de Ratings API + commit + push
    Montrer que le déploiement est en cours et que ça change tout seul sur le front
    Montrer les différents App Plan et passer celui des produits à 3 instances
    Valider, puis expliquer ce qu’il se passe + montrer aussi qu’on peut faire en mode charge CPU ou en fonction de la queue http, par exemple…
    L’infra doit être déployé, montrer le site et le round robin sur chaque API
  • Comme nous l’avons vu au travers des différentes démonstrations dans cette session, la plateforme applicative Microsoft Azure propose plusieurs options pour l’hébergergement des services qui composent une “application cloud”
    Que ce soit les machines virtuelles & VM Scale Set proposes par la couche IaaS
    Que ce soit à l’aide de conteneurs et de solutions comme Azure Container Service ou Docker Data Center qui vous permettent de déployer des orchestrateurs applicative par-dessus la couche d’infrastructure
    Ou que ce soit avec des services de plateforme comme Azure Service Fabric & Azure App Services

    Vos applications pourront exploiter ces différents services, vous n’êtes pas obligés de n’utiliser qu’une seule brique, mais il est tout à fait possible de les mixer
    Enfin, on constate qu’au finale, le facteur déterminant sera très certainement le choix du contrôle VS celui de la simplicité, qui vous fera passer de la machine virtuelle traditionnelle au service de plateforme

    Et bien entendu, dans cette session nous nous sommes focusé sur les services de « compute » mais il ne faut pas oublier les centaines de services applicatifs « prêts à l’emploi » qui sont disponibles sur la plateforme Microsoft Azure et dans sa Marketplace.

×