"Venez découvrir comment Service Fabric va déverrouiller le potentiel de vos applications et de vos équipes : élasticité, modularité, scalabilité.
A travers de multiples démonstrations techniques, les secrets du développement pour Service Fabric vous seront révélés (Micro Services, Actor Model, Reliable storage, gestion des ressource).
"
3. Finance & assurance
Services
Industrie et telecom
Media
• 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.
5. • 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-services
Pourquoi cette approche ?
6. Micro-services
vs 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
7. Azure Service Fabric
La plateforme Microsoft pour déployer vos micro-services
N° 7
Public Cloud Other CloudsOn Premises
Private cloud
8. • 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 OS
Instance OS
Instance OS
Fabric
Node
Fabric
Node
Fabric
Node
Fabric
Node
Fabric
Node
Fabric
Node
10. Azure Service Fabric
Plateforme 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
11. • 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 ServiceFabric
L ’ Application
N° 11
12. N° 12
Création d’une application ServiceFabric
avec Visual Studio
Déploiement dans l’environnement de
développement
Déploiement sur un cluster Azure Service
Fabric sécurisé
13. • 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
15. • 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 Services
Stateless
N° 15
17. • 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 Service
Reliable Collections
N° 17
19. • 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
20. N° 20
Appel d’un service statefull à partir d’un
service stateless
Service de Naming
21. • 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
23. Scaling des services
Monté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
25. Partitionnement pour une meilleur montée en charge horizontale
Choix de la logique de partitionnement
Les partitions (et leur réplicas) sont réparties sur les différents
nœuds du cluster
Adaptation automatique aux changement de topologie du cluster
Scaling des services
Partitionnement
N° 25
26. Vous voulez jouez avec ServiceFabric ?
http://aka.ms/tryservicefabric
N° 26
29. 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