Azure Service Fabric pour les développeurs
-
Upload
microsoft -
Category
Technology
-
view
62 -
download
3
Transcript of Azure Service Fabric pour les développeurs
Azure ServiceFabric pour les développeurs
Wilfried WOIVRE
Nicolas CLERC
@wilfriedwoivreMVP Azure - SOAT
@nclercArchitect Cloud - Microsoft
Finance & assuranceServicesIndustrie et telecomMedia
• Société d’expertise et de conseil spécialisée dans les technologies Java, Microsoft, Web, Mobile et l’agilité.
• Positionné sur des offres d’expertises pointues telles que le Cloud, le BigData, le DevOps, Le software craftsmanship, mais aussi sur les architectures SOA, microservices…
• 15 années « d’expérience projet » sur l’ensemble des secteurs d’activité.
• Notre mission ? Comprendre les enjeux techniques et extra-techniques de vos projets informatiques, pour vous garantir un accompagnement adapté à vos besoins et vos budgets.
Microservices ‘2 minutes montre en
mains’
• Fini les applications figées !• Evolution continue • Rythme de livraison de plus en plus soutenu• Besoin de réactivité face aux attentes des clients et utilisateurs• Nécessite de concevoir et opéré des services à forte montée en
charge
Abandon des architectures monolithiques pour un découpage fin des applications en micro-service autonome (code, équipe de développement, rythme de développement et de livraison)
Micro-servicesPourquoi cette approche ?
Micro-servicesvs approche monolithique
N° 6
• La montée en charge est assurée en clonant l’application en totalité sur les serveurs, VM ou container.
App 1• Un application à base de
micro-service isole ses fonctionnalités dans des micro-services indépendants.• Chaque service est ‘scalable’ de manière
indépendante, et déployé sur des noeuds (serveur, VM, container, …)
App 1 App 2
Azure Service FabricLa plateforme Microsoft pour déployer vos micro-services
N° 7Public Cloud Other CloudsOn Premises
Private cloud
Cycle de vie
applicatifScaling
indépendantMise à jour
indépendanteTrès haute
disponibilité Optimisation des
ressources
Stateless/Stateful
• Ensemble de nœud (serveur ou machines virtuelles) formant un ‘pool’ de ressources
- Un système d’exploitation : Windows (GA) ou Linux (Preview)- Le runtime Service Fabric
• Potentiellement plusieurs centaines de nœuds• auto-réparable• capacité ajustable dynamiquement
Cluster Service Fabric
N° 8
Instance OS
Instance OS Instance OS
Instance OSInstance OS
Instance OS
Fabric
Node
Fabric
Node Fabri
cNode
Fabric
Node Fabric
Node
Fabric
Node
N° 9
Portail Azure, Création d’un cluster, Dashboard de monitoring et d’administration
Azure Service FabricPlateforme et modèles applicatifs
N° 10
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
• Azure VMScaleSet • VM Windows• VM Linux
• Définition déclarative de l’application• Composée d’un ensemble de services• Unité de packaging, déploiement et version
Structure d’un Application ServiceFabricL ’ Application
N° 11
Application Type A
Service Type 1 Service Type 2 Service Type 3
Code Config Data Code Config Data Code Config Data
N° 12
Création d’une application ServiceFabric avec Visual StudioDéploiement dans l’environnement de développementDéploiement sur un cluster Azure Service Fabric sécurisé
• Récupération d’un code legacy (.EXE)• Hébergement d’une application basée sur une
technologie sans intégration fine à la plateforme (pas de SDK)
Service « Guest executable »
N° 13
N° 14
Création d’un service Guest ExecutableDéploiement et execution
• MicroService sans état persisté • ou persisté en dehors de ServiceFabric
• Intégration fine à la plateforme ServiceFabric• SDK & API managé ou native
• Télémétrie et Monitoring de l’état intégré à ServiceFabric
• Scaling Fin
Reliables ServicesStateless
N° 15
N° 16
Création d’un service StatelessExposer le service
• Structure de stockage intégré pour la création de service avec état (Statefull)
• Evolution ‘cloud’ des collections du framework .Net• Persistance au plus proche du service• Réplication automatique et configurable des données • Généralisation de l’asynchronisme• Support des transactions• ReliableDictionary<T1,T2> and
ReliableQueue<T>
Reliable ServiceReliable Collections
N° 17
DEMO
N° 18
Création d’un service Statefull
• L’exposition via une URL publique n’est valable que pour les services accessibles depuis l’Internet• Loadbalancing effectué par le cluster (Azure LoadBalancer +
VM ScaleSet dans Azure)• Même sécurisés, certains services ne doivent pas être
exposé sur l’internet• Les services doivent pouvoir communiquer entre eux• Donc être identifiable et localisable
fabric:/DemoSFstep00/MonServeurHttpGuesExecService
Communication inter-service
N° 19
N° 20
Appel d’un service statefull à partir d’un service statelessService de Naming
• Basé sur le pattern « Virtual Actor Model »• Même philosophie que le projet « Orleans », mais intégré à
ServiceFabric • L’acteur est une unité de traitement• Légère• Avec état• Massivement scalable• Single threaded (pas de soucis de concurrence)• Communication asynchrone par messages
Actor Service
N° 21
N° 22
Création d’un service d’acteur
Scaling des servicesMontée en charge « horizontale » par service
N° 23
Products API
Recommendations API
Ratings API
Web Front
ApplicationType: ServiceFabricShopType
ServiceType: ShopFrontType
ServiceType: ProductApiType
ServiceType: RecommandationsApiType
ServiceType: RatingsApiType
N° 24
Scaling de servicesScaling du cluster
Partitionnement pour une meilleur montée en charge horizontaleChoix de la logique de partitionnementLes partitions (et leur réplicas) sont réparties sur les différents nœuds du clusterAdaptation automatique aux changement de topologie du cluster
Scaling des servicesPartitionnement
N° 25
Vous voulez jouez avec ServiceFabric ?
http://aka.ms/tryservicefabric
N° 26GRATUIT !!!
N° 27
@microsoftfrance @Technet_France @msdev_fr@wilfriedwoivre - @nclerc
N° 28
Notez cette sessionEt 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