Guide: création d'applications sans serveur

Aujourd'hui, nous préparons un guide pour la création d'applications sans serveur. Il comprend 3 sections principales: création d'une logique sans serveur, configuration de déclencheurs et utilisation de liaisons. Rejoignez-nous maintenant!



Présentation


Imaginez que vous travaillez pour une entreprise d'escaliers mécaniques qui a investi massivement dans la technologie de l'Internet des objets pour suivre votre produit localement. Vous contrÎlez le traitement des données des capteurs de température sur les mécanismes d'entraßnement des escaliers mécaniques. Vous gardez une trace des données de température et ajoutez un indicateur pour indiquer que la température du mécanisme d'entraßnement est trop élevée. Dans les systÚmes en aval, ces données vous permettent de déterminer le besoin de service.

Votre entreprise reçoit des données de capteurs de plusieurs endroits et de différents modÚles d'escaliers mécaniques. Ces données sont disponibles dans une variété de formats, y compris l'envoi de fichiers de commandes, les récupérations planifiées de la base de données, les messages dans la file d'attente et les données entrantes du hub d'événements. Vous souhaitez développer un service réutilisable qui vous permet de traiter les données de température de toutes ces sources.

Lors du dĂ©veloppement de services tels que celui-ci en utilisant des stratĂ©gies d'architecture d'entreprise traditionnelles, vous devrez considĂ©rer Ă  l'avance l'infrastructure du serveur et sa maintenance: allouer l'Ă©quipement nĂ©cessaire, planifier son installation, coordonner le travail avec le service informatique pour le gĂ©rer, etc. L'informatique sans serveur est une alternative. Avec l'informatique sans serveur, le fournisseur de cloud gĂšre le provisionnement et la maintenance de l'infrastructure, vous permettant de vous concentrer entiĂšrement sur la crĂ©ation d'applications logiques. Le service Azure Functions est un composant clĂ© de l'offre Azure Serverless Computing, vous permettant d'exĂ©cuter des extraits de code ou des fonctions Ă©crites dans votre propre langage de programmation par vous-mĂȘme dans le cloud.

Objectifs d'apprentissage


Dans ce module, vous apprendrez Ă  effectuer les tĂąches suivantes:

  • DĂ©terminer la pertinence de l'informatique sans serveur pour rĂ©pondre aux besoins de l'entreprise.
  • CrĂ©ez une application de fonctionnalitĂ© Azure sur le portail Azure.
  • ExĂ©cution d'une fonction Ă  l'aide de dĂ©clencheurs.
  • Suivi et test des fonctionnalitĂ©s Azure dans le portail Azure

Déterminer la pertinence de l'informatique sans serveur pour répondre aux besoins de l'entreprise


Pour vous aider Ă  dĂ©terminer si l'informatique sans serveur doit ĂȘtre appliquĂ©e, nous vous donnerons d'abord des informations gĂ©nĂ©rales sur ce concept.

Qu'est-ce que l'informatique sans serveur?


L'informatique sans serveur est une fonctionnalité en tant que service (FaaS) ou un microservice hébergé sur une plate-forme cloud. La logique métier est exécutée au format des fonctions, ce qui signifie que vous n'avez pas besoin de préparer ou de mettre à l'échelle manuellement l'infrastructure. Toute la gestion de l'infrastructure est assurée par le fournisseur de services cloud. L'application augmente ou diminue automatiquement en fonction de la charge. Azure propose plusieurs façons de créer ce type d'architecture. Les deux approches les plus courantes utilisent Azure Logic Apps et Azure Features. Dans ce module, nous les examinerons.

Quelles sont les fonctionnalités Azure?


Azure est une plate-forme informatique sans serveur. Il permet aux dĂ©veloppeurs d'implĂ©menter une logique mĂ©tier qui peut ĂȘtre exĂ©cutĂ©e sans prĂ©parer l'infrastructure. Les fonctions sont structurellement bien dimensionnĂ©es et vous ne payez que pour les ressources rĂ©ellement utilisĂ©es. Le code de fonction peut ĂȘtre crĂ©Ă© dans n'importe quel langage pratique, y compris C #, F # et JavaScript. NuGet et NPM sont Ă©galement pris en charge, ce qui permet d'utiliser de nombreuses bibliothĂšques populaires dans la logique mĂ©tier.

Avantages de la solution informatique sans serveur


L'informatique sans serveur est une excellente option pour l'hébergement de code logique métier dans le cloud. Les services sans serveur, tels que Azure Functions, vous permettent de créer une logique métier dans n'importe quelle langue qui vous convient. Vous bénéficiez d'une mise à l'échelle automatique, vous n'avez pas à vous soucier de la gestion du serveur et vous ne payez que pour les ressources réellement utilisées, et non pour le temps réservé. Vous trouverez ci-dessous quelques fonctionnalités supplémentaires de la solution sans serveur que vous devez prendre en compte.

Absence d'allocation excessive des infrastructures


Supposons que vous ayez préparé des serveurs de machines virtuelles et leur ayez fourni suffisamment de ressources pour les pics de charge. Pendant les périodes de faible charge de travail, vous devrez probablement payer pour les infrastructures inutilisées. L'informatique sans serveur permet de résoudre le problÚme de l'allocation excessive des ressources, car la mise à l'échelle est effectuée automatiquement et vous ne payez que pour le travail actif de la fonction.

Logique sans Ă©tat


Les fonctions sans Ă©tat sont idĂ©ales pour l'informatique sans serveur; les instances de fonction sont crĂ©Ă©es et supprimĂ©es sur demande. Si un suivi d'Ă©tat est requis, il peut ĂȘtre stockĂ© dans le service de stockage appropriĂ©.

Gestion d'événements


Les fonctions sont pilotées par les événements. Cela signifie qu'ils sont exécutés uniquement en réponse à un événement (déclencheur), par exemple, la réception d'une demande HTTP ou l'ajout d'un message à la file d'attente. Les déclencheurs sont configurés dans la définition de fonction. Cette approche simplifie considérablement la base de code, vous permettant de déclarer uniquement les sources de données (déclenchement / liaison d'entrée) et la destination (liaison de sortie). Vous n'avez pas besoin d'écrire pour créer votre propre code pour travailler avec des files d'attente, des blobs, des concentrateurs, etc. Il ne reste plus qu'à créer une logique métier.

Les fonctions peuvent ĂȘtre utilisĂ©es dans des environnements informatiques traditionnels.


Les fonctions sont un composant clĂ© de l'informatique sans serveur, mais en mĂȘme temps, elles servent de plate-forme informatique pour exĂ©cuter tout type de code. Si l'application doit changer, vous pouvez toujours dĂ©ployer le mĂȘme projet dans un environnement de serveur familier, en gagnant la flexibilitĂ© pour contrĂŽler la mise Ă  l'Ă©chelle, lancer sur des rĂ©seaux virtuels et mĂȘme isoler complĂštement les fonctions.

Inconvénients d'une solution informatique sans serveur


L'informatique sans serveur n'est pas toujours optimale pour l'hébergement de la logique métier. Voici quelques-unes des fonctionnalités qui peuvent affecter votre décision d'héberger des services dans l'informatique sans serveur.

DĂ©lai de livraison


Par dĂ©faut, les fonctions utilisent un temps d'attente de 5 minutes. Elle peut ĂȘtre augmentĂ©e, mais pas plus de 10 minutes. Si la fonction prend plus de 10 minutes, elle peut ĂȘtre hĂ©bergĂ©e sur une machine virtuelle. En outre, si votre service dĂ©marre avec une demande HTTP et que vous prĂ©voyez de recevoir une rĂ©ponse HTTP, le temps d'attente est limitĂ© Ă  2,5 minutes. Et enfin, il y a une opportunitĂ© supplĂ©mentaire de crĂ©er des fonctions stables afin d'orchestrer les performances de plusieurs fonctions sans limite de temps.

Fréquence d'exécution


La deuxiĂšme caractĂ©ristique est la frĂ©quence d'exĂ©cution. Si l'on s'attend Ă  ce que plusieurs clients exĂ©cutent continuellement la fonction Ă  la fois, il serait raisonnable d'Ă©valuer l'utilisation et de calculer le coĂ»t d'utilisation des fonctions en consĂ©quence. Peut-ĂȘtre que l'hĂ©bergement d'un service dans une machine virtuelle est moins cher.

Lors de la mise Ă  l'Ă©chelle toutes les 10 secondes, une seule instance de l'application de fonction peut ĂȘtre crĂ©Ă©e, mais pas plus de 200 instances au total. N'oubliez pas que chaque instance peut servir plusieurs exĂ©cutions simultanĂ©es, c'est-Ă -dire qu'il n'y a aucune restriction sur la quantitĂ© de trafic que chaque instance peut traiter. DiffĂ©rents types de dĂ©clencheurs ont des exigences de mise Ă  l'Ă©chelle diffĂ©rentes. Examinez le dĂ©clencheur sĂ©lectionnĂ© et ses limitations associĂ©es.

Créer une application de fonctionnalité dans le portail Azure


Ce tutoriel nécessite un bac à sable

Le bac à sable fournit un accÚs gratuit aux ressources Azure dont vous avez besoin pour ce didacticiel. Votre abonnement Azure ne sera pas facturé.

Entrez dans le bac Ă  sable

Vous ĂȘtes maintenant prĂȘt Ă  commencer Ă  mettre en Ɠuvre le service de contrĂŽle de la tempĂ©rature. Dans le module prĂ©cĂ©dent, vous avez dĂ©terminĂ© qu'une solution sans serveur est la mieux adaptĂ©e pour rĂ©soudre vos problĂšmes. CrĂ©ons maintenant une application de fonction pour stocker la fonction Azure.

Qu'est-ce qu'une application fonctionnelle?


Les fonctions sont placées dans un contexte appelé application de fonction. Les applications de fonction vous permettent de grouper et de structurer logiquement des fonctions et de calculer des ressources dans Azure. Dans notre exemple, vous allez créer une application de fonction pour héberger le service de contrÎle de température du variateur de profondeur. Pour créer une application de fonctionnalité, vous devez prendre plusieurs décisions, notamment choisir un plan de service et un compte de stockage approprié.

Choisir un plan de service


Les applications de fonction peuvent utiliser l'un des deux types de plan de service. Le premier de ces types est un plan de service basĂ© sur la consommation. Ce plan est pratique lorsque vous utilisez la plate-forme d'application Azure sans serveur. Un plan de service basĂ© sur la consommation fournit une mise Ă  l'Ă©chelle automatique et le paiement n'est facturĂ© que pour la durĂ©e des fonctions. Un plan de service basĂ© sur la consommation vous permet de configurer une pĂ©riode d'attente pour terminer une fonction. Par dĂ©faut, cette pĂ©riode est de 5 minutes, mais elle peut ĂȘtre augmentĂ©e Ă  10 minutes.

Le deuxiĂšme type est le plan de service d'application Azure. Ce plan Ă©vite les pĂ©riodes d'attente en exĂ©cutant en continu l'application sur la machine virtuelle sĂ©lectionnĂ©e. Si vous utilisez un plan de service d'application, vous devez gĂ©rer les ressources de l'application dans laquelle la fonction s'exĂ©cute. À strictement parler, cela ne nous permet pas d'envisager le plan sans serveur. Mais dans certaines circonstances, il est mieux adaptĂ©, par exemple, si les fonctions sont utilisĂ©es en continu ou nĂ©cessitent plus de puissance de traitement ou un temps d'exĂ©cution plus long qu'un plan basĂ© sur la consommation peut fournir.

Exigences du compte de stockage


L'application de fonction crĂ©Ă©e doit ĂȘtre liĂ©e au compte de stockage. Vous pouvez sĂ©lectionner un compte de stockage existant ou en crĂ©er un nouveau. L'application de fonction utilise ce compte de stockage pour les opĂ©rations internes, telles que la journalisation de l'exĂ©cution de la fonction et la gestion des dĂ©clencheurs d'exĂ©cution. Si un plan de service basĂ© sur la consommation est utilisĂ©, le code de fonction et les fichiers de configuration sont Ă©galement stockĂ©s ici.

Création d'une application de fonction


Créons une application de fonctionnalité sur le portail Azure.

Connectez-vous au portail Azure en utilisant le mĂȘme compte avec lequel vous avez activĂ© le sandbox.

Cliquez sur le bouton CrĂ©er une ressource dans le coin supĂ©rieur gauche du portail Azure et sĂ©lectionnez DĂ©marrer> Application de fonction sans serveur afin d'ouvrir la colonne CrĂ©er pour l'application de fonction. La mĂȘme colonne peut ĂȘtre ouverte via l'Ă©lĂ©ment de menu Calculs> Fonction d'application.



Choisissez un nom d'application unique au monde. Il sera utilisĂ© comme URL de base de votre service. Vous pouvez le nommer, par exemple, escalator-functions-xxxxxxx, en remplaçant les croix par les initiales et l'annĂ©e de naissance. Si ce nom n'est pas globalement unique, essayez d'autres combinaisons. Les caractĂšres valides sont a - z, 0–9 et -.

SĂ©lectionnez l'abonnement Azure oĂč vous souhaitez hĂ©berger l'application de fonctionnalitĂ©.

Sélectionnez un groupe de ressources existant nommé [nom du groupe de ressources sandbox].

SĂ©lectionnez votre systĂšme d'exploitation Windows.

Pour Plan de placement, sélectionnez Plan de consommation, qui est utilisé pour l'allocation sans serveur.

Dans la liste, sélectionnez l'emplacement géographique le plus proche de vous. Dans le systÚme de travail, vous devez choisir l'emplacement le plus proche des fonctions de vos clients ou consommateurs.

Un sandbox gratuit vous permet de créer des ressources dans un sous-ensemble des régions Azure globales. Lors de la création de ressources, sélectionnez une région dans la liste suivante:

  • Ouest amĂ©ricain 2
  • Midwest des États-Unis
  • Central South US
  • Centre des États-Unis
  • Est des États-Unis
  • Europe occidentale
  • Asie du sud-est
  • Est du Japon
  • BrĂ©sil du sud
  • Australie du sud-est
  • Inde centrale

Pour le paramÚtre de pile d'exécution, sélectionnez JavaScript dans la liste déroulante, car c'est dans ce langage que nous allons implémenter des exemples de fonctions dans cet exercice.

Créez un compte de stockage. Azure le nommera automatiquement en utilisant le nom de l'application. Vous pouvez remplacer ce nom par un autre, mais toujours unique.

Assurez-vous qu'Azure Application Insights est activé et sélectionnez la région la plus proche de vous (ou de vos clients).

Choisissez Créer. Le déploiement prendra plusieurs minutes. AprÚs son achÚvement, vous recevrez une notification.

Validation d'une application de fonctionnalité Azure


Dans le menu sur le cÎté gauche du portail Azure, sélectionnez Groupes de ressources. Vous verrez alors le groupe de ressources [nom du groupe de ressources sandbox] dans la liste des groupes disponibles.

.

SĂ©lectionnez le groupe de ressources [nom du groupe de ressources sandbox]. Une liste de ressources apparaĂźt, similaire Ă  l'image suivante.



L'Ă©lĂ©ment foudre dĂ©signĂ© ici comme service d'application est la nouvelle fonction d'application. Cliquez dessus pour ouvrir les dĂ©tails de la nouvelle fonctionnalitĂ©. On lui attribue une URL publique qui peut ĂȘtre ouverte dans le navigateur et s'assurer que l'application de fonction fonctionne correctement.

Vous pouvez continuer Ă  Ă©tudier le guide sur notre portail Microsoft Learn .

Source: https://habr.com/ru/post/fr430194/


All Articles