Qu’est-ce qu’Azure Functions ?
- 7 minutes
Vous suivez l’équipe web Tailspin Space Game, car elle explique comment répondre au mieux aux nouvelles exigences marketing pilotées par la gestion. L’équipe doit intégrer une technologie serverless, en particulier Azure Functions, à son processus DevOps.
Vous pouvez faire le point avec l’équipe.
Nouvelles exigences
Irwin: Merci d'avoir accepté de me rencontrer à un si court préavis. Les choses se réchauffent, et l’équipe marketing a fait quelques promesses qui pourraient compliquer les choses pour nous tous. Ils aiment vraiment notre site. Ils pensent que le classement peut être utilisé pour promouvoir le jeu à mesure que nous nous dirigeons vers le lancement final et au-delà. Ils veulent le faire évoluer au-delà de ce que nous aurions prévu à l’origine.
Mara: C’est génial, non ? Nous sommes sur Azure, afin de pouvoir effectuer un scale-out du service autant que nécessaire.
Irwin: Ils veulent simplement que toute personne intègre des données de classement dans leurs propres applications. Ils pensent qu’il serait vraiment cool d’avoir les mêmes options de classement sur notre site, dans le jeu, sur les sites de révision de jeux, et même sur les blogs externes et les sites personnels. L’un des défis est que l’équipe du moteur de jeu possède actuellement la base de données de production à partir de laquelle nous extrayons les données du classement. Ils pensent qu’ils doivent créer et posséder l’API pour avancer.
Andy: Mara, avez-vous des pensées ?
Mara: Je suis sûr que nous pouvons trouver quelque chose. Voici mes notes :
- Nous devons fournir rapidement, donc nous devons trouver une solution où nous pouvons utiliser notre code et nos compétences.
- Nous devons refactoriser une petite partie des fonctionnalités dans un service indépendant.
- Nous devons réduire la surcharge administrative en production.
- Nous devons avoir une échelle massive sans prendre d’engagement massif.
L'équipe hoche la tête en signe d'accord.
Il fonctionne sur mon ordinateur
La réunion s’interrompt. Le lendemain matin, Andy apparaît avec enthousiasme dans le bureau de Mara pour une conversation impromptu.
Andy: Je l’ai! J’ai trouvé une solution qui répond à toutes nos exigences pour l’API de classement. Il s’agit d’une offre serverless appelée Azure Functions.
Mara: C’est super! Combien de temps avant que nous ayons quelque chose à présenter ?
Andy : j’ai déjà quelque chose sous la main. J’ai dupliqué notre référentiel GitHub et refactorisé le code du leaderboard dans un nouveau projet Azure Functions. Il expose les données de classement via une requête HTTP GET simple. J’ai également mis à jour le site web pour utiliser ce point de terminaison lors de la demande du classement, et toute autre personne peut faire de même.
Mara: Cela ressemble exactement à ce dont nous avons besoin. Je peux collaborer à l’extension du pipeline CI/CD existant pour permettre sa génération et son déploiement comme pour le projet du site principal.
Remarque
Ce module ne traite pas de la manière de connecter votre application à Azure Functions. Si cela vous intéresse, passez en revue le code source. Le code utilise le runtime Azure Functions pour C# pour lire les données de classement à partir d’Azure Functions.
Qu’est-ce qu’Azure Functions ?
Azure Functions est une offre spécifique dans le spectre plus large des technologies de calcul serverless Azure. Il offre aux développeurs un moyen simple de créer des fonctions simples qui existent dans un environnement sans état et sans serveur. Les fonctions peuvent être déclenchées à l’aide de différentes méthodes, telles que les requêtes HTTP, les modifications apportées aux données stockées et la réception d’un message provenant d’une file d’attente. Vous pouvez en savoir plus sur les liaisons de déclenchement dans les concepts des déclencheurs et des liaisons des fonctions Azure.
L’équipe Tailspin a sélectionné Azure Functions pour ce scénario, car elle répond à tous ses besoins :
- Nous devons fournir rapidement, donc nous devons trouver une solution où nous pouvons utiliser notre code et nos compétences.
- Nous pouvons créer la solution rapidement en tant qu’application ASP.NET Core appliquant du code que nous avons déjà.
- Nous devons refactoriser une petite partie des fonctionnalités dans un service indépendant.
- Nous pouvons fournir une fonction indépendante sans aucune autre surface d’application à vous soucier.
- Nous devons réduire la surcharge administrative en production.
- Azure Functions supprime la nécessité de vous soucier des environnements d’hébergement.
- Nous devons avoir une échelle massive sans prendre d’engagement massif.
- Les technologies sans serveur ont pratiquement une capacité de mise à l’échelle illimitée, pouvant monter et descendre automatiquement plus rapidement que les machines virtuelles ou les services d’application.
Azure Functions et d’autres technologies serverless ne conviennent pas toujours à chaque solution. Vous découvrirez plus loin où trouver des ressources qui vous aideront à choisir la technologie adaptée à vos besoins.