Azure Service Fabric pour les développeurs

29
Azure ServiceFabric pour les développeurs

Transcript of Azure Service Fabric pour les développeurs

Page 1: Azure Service Fabric pour les développeurs

Azure ServiceFabric pour les développeurs

Page 2: Azure Service Fabric pour les développeurs

Wilfried WOIVRE

Nicolas CLERC

@wilfriedwoivreMVP Azure - SOAT

@nclercArchitect Cloud - Microsoft

Page 3: Azure Service Fabric pour les développeurs

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.

Page 4: Azure Service Fabric pour les développeurs

Microservices ‘2 minutes montre en

mains’

Page 5: Azure Service Fabric pour les développeurs

• 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 ?

Page 6: Azure Service Fabric pour les développeurs

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

Page 7: Azure Service Fabric pour les développeurs

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

Page 8: Azure Service Fabric pour les développeurs

• 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

Page 9: Azure Service Fabric pour les développeurs

N° 9

Portail Azure, Création d’un cluster, Dashboard de monitoring et d’administration

Page 10: Azure Service Fabric pour les développeurs

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

Page 11: Azure Service Fabric pour les développeurs

• 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

Page 12: Azure Service Fabric pour les développeurs

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é

Page 13: Azure Service Fabric pour les développeurs

• 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

Page 14: Azure Service Fabric pour les développeurs

N° 14

Création d’un service Guest ExecutableDéploiement et execution

Page 15: Azure Service Fabric pour les développeurs

• 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

Page 16: Azure Service Fabric pour les développeurs

N° 16

Création d’un service StatelessExposer le service

Page 17: Azure Service Fabric pour les développeurs

• 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

Page 18: Azure Service Fabric pour les développeurs

DEMO

N° 18

Création d’un service Statefull

Page 19: Azure Service Fabric pour les développeurs

• 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

Page 20: Azure Service Fabric pour les développeurs

N° 20

Appel d’un service statefull à partir d’un service statelessService de Naming

Page 21: Azure Service Fabric pour les développeurs

• 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

Page 22: Azure Service Fabric pour les développeurs

N° 22

Création d’un service d’acteur

Page 23: Azure Service Fabric pour les développeurs

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

Page 24: Azure Service Fabric pour les développeurs

N° 24

Scaling de servicesScaling du cluster

Page 25: Azure Service Fabric pour les développeurs

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

Page 26: Azure Service Fabric pour les développeurs

Vous voulez jouez avec ServiceFabric ?

http://aka.ms/tryservicefabric

N° 26GRATUIT !!!

Page 27: Azure Service Fabric pour les développeurs

N° 27

Page 28: Azure Service Fabric pour les développeurs

@microsoftfrance @Technet_France @msdev_fr@wilfriedwoivre - @nclerc

N° 28

Page 29: Azure Service Fabric pour les développeurs

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