Scénarios d'applications Service Fabric

Azure Service Fabric offre une plateforme fiable et flexible où vous pouvez écrire et exécuter de nombreux types de services et d’applications d’entreprise. Ces applications et microservices peuvent être sans état ou avec état, et font l’objet d’un équilibrage des ressources entre les machines virtuelles pour optimiser l’efficacité.

L'architecture unique de Service Fabric vous permet d'exécuter dans vos applications des traitements d'événement, des transactions parallèles, des calculs en mémoire et des analyses de données pratiquement en temps réel. Vous pouvez facilement effectuer un scale-in ou un scale-out de vos applications selon l’évolution de vos besoins en ressources.

Pour obtenir des conseils de conception sur la création d’applications, consultez Architecture des microservices sur Azure Service Fabric et Bonnes pratiques relatives à la conception des applications à l’aide de Service Fabric.

Envisagez d’utiliser la plateforme Service Fabric pour les types d’applications suivants :

  • Collecte des données, traitement et IoT : Service Fabric, par l’intermédiaire de ses services avec état, gère une échelle importante et possède une faible latence. Il peut s’avérer utile pour traiter des données sur des millions d’appareils sur lesquels les données de l’appareil et le calcul sont colocalisés.

    PCL Construction, Citrix, ASOS, Oman Data Park, Kohler et Dover Fueling Systems font partie des clients qui ont créé des services IoT à l’aide de Service Fabric.

  • Gaming et applications interactives basées sur les sessions : Service Fabric est utile si vos applications, telles que les jeux en ligne ou la messagerie instantanée, ont besoin d’effectuer des opérations de lecture et d’écriture avec une faible latence. Service Fabric vous permet de générer ces applications interactives avec état sans avoir à créer de cache ou de magasin distinct. Consultez les solutions de gaming Azure pour obtenir des conseils de conception sur l’utilisation de Service Fabric dans des services de gaming.

    Next Games fait partie des clients qui ont créé des services de gaming. Les clients qui ont créé des sessions interactives sont notamment Honeywell avec Hololens.

  • Analytique des données et traitement des flux de travail : les applications qui doivent traiter des événements ou des flux de données de manière fiable bénéficient des opérations de lecture et d’écriture optimisées de Service Fabric. Service Fabric prend également en charge les pipelines de traitement d’applications où les résultats doivent être fiables et transmis à l’étape de traitement suivante sans aucune perte. Ces pipelines incluent les systèmes transactionnels et financiers, qui imposent des garanties de calcul et de cohérence des données.

    Zeiss Group et PCL Construction font partie des clients qui ont créé des services de workflow d’entreprise.

  • Calcul sur les données : Service Fabric vous permet de créer des applications avec état qui effectuent des calculs de données nécessitant une utilisation importante du processeur. Service Fabric permet la colocation du traitement (calcul) et des données dans les applications.

    Normalement, lorsque votre application a besoin d’un accès aux données, une latence réseau associée à un niveau de stockage ou de cache de données externe limite le temps de calcul. Les services Service Fabric avec état éliminent cette latence, ce qui permet des lectures et écritures plus optimisées.

    Imaginez, par exemple, une application qui effectue des sélections de recommandations en temps quasi-réel pour des clients, avec un délai d’aller-retour de moins de 100 millisecondes. Les caractéristiques de latence et les performances des services Service Fabric offrent une expérience réactive à l’utilisateur par rapport au modèle d’implémentation standard consistant à extraire les données nécessaires depuis le stockage distant. Le système est plus réactif, car le calcul de sélection de la recommandation est colocalisé avec les données et les règles.

    ASOS et CCC font partie des clients qui ont créé des services de calcul.

  • Services hautement disponibles: Service Fabric assure un basculement rapide en créant plusieurs réplicas de services secondaires. Si un nœud, un processus ou un service individuel tombe en panne en raison d’une défaillance matérielle ou autre, un des réplicas secondaires est promu réplica principal avec une perte de service minimale.

  • Services extensibles: les différents services peuvent être partitionnés, permettant une montée en charge de l’état à l’ensemble du cluster. Des services individuels peuvent aussi être créés et supprimés à la volée. Vous pouvez effectuer un scale-out des services à partir de plusieurs instances sur quelques nœuds jusqu’à des milliers d’instances sur un grand nombre de nœuds, puis réexécuter un scale-in en fonction des besoins. Vous pouvez utiliser Service Fabric pour générer ces services et gérer l’ensemble de leur cycle de vie.

Études de cas de conception d’applications

Des études de cas qui illustrent comment Service Fabric permet de concevoir des applications sont publiées sur les sites Témoignages client et Microservices dans Azure.

Conception d’applications composées de microservices avec et sans état

La création d’applications avec des rôles de travail Azure Cloud Services est un exemple de service sans état. À l’opposé, les microservices avec état maintiennent leur état faisant autorité au-delà de la demande et de la réponse correspondante. Cette fonctionnalité garantit une haute disponibilité et une cohérence de l’état grâce à des API simples qui fournissent des garanties transactionnelles soutenues par la réplication.

Les services avec état de Service Fabric apportent une haute disponibilité à tous les types d’applications, sans se limiter aux bases de données et autres magasins de données. Il s’agit d’une évolution naturelle. Les applications sont déjà passées d’une simple utilisation de bases de données purement relationnelles pour la haute disponibilité à l’emploi de bases de données NoSQL. Les applications elles-mêmes peuvent maintenant avoir un état « actif » et bénéficier d’une gestion des données en interne pour optimiser leurs performances, sans pour autant sacrifier la fiabilité, la cohérence ou la disponibilité des données.

Quand vous créez des applications composées de microservices, vous avez généralement une combinaison d’applications web sans état (ASP.NET, Node.js, etc.) qui appellent des services de couche intermédiaire métier sans et avec état. Les applications et les services sont tous déployés dans le même cluster Service Fabric au moyen des commandes de déploiement Service Fabric. Chacun de ces services est indépendant en ce qui concerne la mise à l’échelle, la fiabilité et l’utilisation des ressources. Cette indépendance améliore la souplesse du développement et de la gestion du cycle de vie.

Les microservices avec état simplifient les conceptions d’applications, car ils suppriment les caches et files d’attente supplémentaires, jusque-là indispensables pour répondre aux exigences de disponibilité et de latence d’une application purement sans état. Étant donné que les services avec état ont une haute disponibilité et une faible latence, il existe moins de détails à gérer dans votre application.

Les schémas suivants comparent la conception d’une application sans état à la conception d’une application avec état. Grâce aux modèles de programmation Reliable Services et Reliable Actors, les services avec état réduisent la complexité de l’application, tout en atteignant un débit élevé et une faible latence.

Voici un exemple d’application qui utilise des services sans état : Application that uses stateless services

Voici un exemple d’application qui utilise des services avec état : Application that uses stateful services

Étapes suivantes