Les meilleurs services PaaS Azure que les développeurs aiment et pourquoi

Le cloud Microsoft Azure offre de nombreux services pour presque tous les scénarios dont vous pourriez avoir besoin. Vous pouvez catégoriser ces services en types de cloud computing comme IaaS, PaaS et SaaS pour déterminer la quantité de contrôle et de responsabilité que vous avez par rapport au temps que vous pouvez passer à construire des choses qui comptent.

Laissez-moi expliquer ces types un peu plus loin:

IaaS (Infrastructure-as-a-Service)

Les services IaaS typiques sont le service de conteneurs et les machines virtuelles. Ceux-ci vous permettent d’avoir beaucoup de contrôle sur la façon dont vous les exécutez, mais nécessitent également que vous soyez responsable de choses comme le système d’exploitation, l’antivirus et l’équilibrage de charge. De ce fait, vous et votre équipe pouvez passer moins de temps à travailler sur l’ajout de valeur commerciale.

PaaS (Platform-as-a-Service)

Les exemples de services PaaS sont App Services, Azure Search et Azure CDN. Vous n’avez pas à vous soucier de l’OS ou même du serveur, vous pouvez simplement exécuter votre application. Vous êtes responsable d’une certaine configuration du serveur, comme la mise à l’échelle, bien que pour certains services, comme Azure Functions, cela se fasse automatiquement.

SaaS (Software-as-a-Service)

Les exemples de services SaaS sont des choses comme Azure IoT Suite et Office 365. SaaS est le niveau d’abstraction le plus élevé et vous permet de simplement utiliser l’application, vous n’avez même pas besoin de la construire. Vous la configurez simplement. Vous n’avez pas à vous soucier du système d’exploitation ni même de la mise à l’échelle de l’application. Cela vous permet de travailler sur la valeur commerciale, mais vous offre peu de contrôle sur votre application.

Pour les développeurs de logiciels, PaaS est un excellent type de cloud computing à utiliser. Vous avez suffisamment de contrôle pour juste travailler sur votre application et la peaufiner pour qu’elle soit parfaite et vous n’avez pas à vous soucier de tous les trucs d’exploitation. Les choses fonctionnent simplement sans se soucier des correctifs de l’OS ou de l’équilibrage de la charge.

Azure a une offre PaaS très forte, ce qui est très attrayant pour les développeurs. Cet article abordera les meilleurs services PaaS Azure pour les développeurs qui peuvent rendre votre application meilleure.

Top Azure PaaS Services

L’un des principaux services PaaS Azure est Azure App Services. Azure App Services fournit plusieurs types de services, chacun étant orienté vers l’hébergement de votre application ou de votre logique métier pour un cas d’utilisation spécifique. En outre, les types d’App Services partagent des capacités communes telles que l’auto-scaling, l’authentification et l’autorisation, ainsi que les domaines personnalisés et le SSL.

Passons en revue les types d’App Services :

Web Apps

Azure App Service Web Apps est essentiel si vous souhaitez héberger une application web ASP.NET standard. Les Web Apps sont une abstraction d’un serveur Web comme IIS ou Tomcat et peuvent exécuter des applications écrites en .NET, PHP, Python, Node.js, Java et plus encore. Elles sont très faciles à configurer et vous offrent de nombreux avantages immédiats, comme le fait qu’elles sont disponibles par défaut 99,95 % du temps. Vous n’avez pas à vous soucier des temps d’arrêt. Les services d’application sont maintenant disponibles pour Windows et Linux à la fois.

Applications mobiles

Azure peut également vous aider lorsque vous créez des applications mobiles. Vous pouvez héberger un backend pour votre application mobile dans Azure App Services Mobile Apps. Vous pouvez facilement vous connecter à ce backend en utilisant les SDK pour Azure Mobile Apps qui sont disponibles pour IOS, Android, Windows, Xamarin.IOS, Xamarin.Android et Xamarin.Forms.

Le backend mobile vous offre des avantages uniques. L’un d’eux est la possibilité d’effectuer une synchronisation hors ligne. Cela permet à un utilisateur de continuer à travailler avec l’application s’il est hors ligne et de synchroniser les données vers le backend lorsqu’il se reconnecte. Les notifications push sont une autre possibilité. Cela vous permet d’envoyer des notifications concernant votre application sur l’appareil de l’utilisateur. En outre, les Mobile Apps ont toutes les mêmes capacités que les Web Apps, comme l’auto-scaling et la haute disponibilité.

Logic Apps

Azure App Service Les Logic Apps sont différentes des Web Apps et des Mobile Apps en ce sens que vous n’y hébergez pas une application, mais que vous orchestrez la logique métier avec elle. Pensez aux Logic Apps comme un moyen d’automatiser un processus métier en le configurant simplement.

Une Logic App est lancée par un Trigger. Cela peut être un moment (toutes les 15 minutes) ou une source extérieure, comme un nouveau message sur une file d’attente. Le Trigger transmet des valeurs dans le flux de travail (comme le contenu du message de la file d’attente), qui peuvent être utilisées tout au long de l’App logique. Le reste du flux de l’App logique consiste à appeler des Connecteurs, qui sont des API vers des services tiers, comme Office365 ou Twitter ou vos propres API.

Les Apps logiques évoluent automatiquement et vous ne payez pour elles que lorsqu’elles s’exécutent. C’est ce qu’on appelle parfois « sans serveur », car cela signifie que vous pouvez vous concentrer complètement sur votre application ou votre logique et non sur l’infrastructure sous-jacente.

Azure Functions

Les Apps de fonctions des services d’applications Azure peuvent héberger une ou plusieurs fonctions Azure. Vous utilisez Azure Functions pour héberger de petites applications, comme des tâches d’arrière-plan ou un microservice qui ne s’exécute que pendant une courte période.

Les Azure Functions peuvent être déclenchées par des temporisateurs configurables, comme sur une planification (toutes les 15 minutes) ou par un service externe, comme lorsqu’un nouveau Blob est ajouté à Azure Blob Storage. Une fois déclenché, le code de la fonction Azure Function peut utiliser la valeur du déclencheur, comme le Blob qui a été ajouté. Vous pouvez également ajouter des liaisons de sortie à une fonction Azure Function pour transmettre une valeur à un service externe, sans écrire de plomberie. Il peut s’agir, par exemple, d’une sortie Blob Storage où vous renvoyez simplement un Blob sans avoir à écrire de code pour vous connecter à Azure Storage.

Tout comme les Logic Apps, les Azure Functions sont « sans serveur », car ils évoluent automatiquement et vous ne payez pour eux que lorsqu’ils s’exécutent.

Azure WebJobs

Une autre façon d’exécuter des tâches d’arrière-plan est de les exécuter dans Azure WebJobs. Les WebJobs font partie des App Services et s’exécutent à l’intérieur d’un App Service comme une Web App ou une Mobile App. Vous pouvez écrire et héberger du code dans les WebJobs qui est lancé par un déclencheur, comme une minuterie (toutes les 15 minutes) ou un service externe, comme un nouveau message dans une file d’attente.

Les WebJobs fonctionnent de manière similaire à Azure Functions en ce sens qu’ils exécutent de petits morceaux de code qui peuvent être déclenchés par des sources externes qui ne nécessitent pas de code de plomberie pour les configurer.

Ils sont différents d’Azure Functions en ce sens que vous devez les faire évoluer manuellement. Vous payez pour l’App Service qui héberge votre WebJob, qui est un frais mensuel, que le WebJob s’exécute ou non.

Lire la suite : Comparer Azure Functions vs Azure WebJobs

Quoi utiliser quand

Alors, quel App Service devriez-vous utiliser quand ? Ce tableau peut vous aider :

.

.

.

Applications Web Applications mobiles Applications logiques Fonctions WebJobs
Hébergement d’applications Web et d’API X
Hébergement d’applications mobiles X Hébergement de flux logiques métier X
Héberge des tâches d’arrière-plan X X
S’échelonne automatiquement et ne paie que lorsqu’il s’exécute X X
Contrôlez la mise à l’échelle et payez une redevance mensuelle X X X

Les services d’application partagent des fonctionnalités impressionnantes

Les services d’application Azure partagent des fonctionnalités impressionnantes, qui les rendent très attrayants à utiliser. Voici quelques-unes d’entre elles :

  • Authentification et autorisation faciles
  • Délivrance continue
  • Domaines personnalisés
  • Connexions hybrides
    • Vous permet de vous connecter à des ressources sur site, comme les services web ou les bases de données
  • Mise à l’échelle (automatique) et équilibrage de charge
  • Lots de déploiement
    • Ils vous permettent de tester la nouvelle version de votre application et de la déployer en production sans temps d’arrêt. Ils vous permettent même d’acheminer une partie de votre trafic de production vers la nouvelle version de votre application, pour voir si elle fonctionne comme prévu.
    • En savoir plus sur les créneaux de déploiement ici

Déploiement de services

Créer une nouvelle Web App ou Logic App est simple via le portail Azure, mais vous devriez vraiment automatiser vos déploiements afin de pouvoir les répéter dans différents environnements et exécuter exactement la même configuration. Vous pouvez le faire en créant des modèles Azure Resource Manager (ARM) que vous déployez à partir de Visual Studio ou dans un pipeline de livraison continue à l’aide d’un service comme Visual Studio Team Services.

Les modèles ARM décrivent vos ressources comme les Web Apps, les bases de données Azure SQL et les groupes de ressources dans des documents JSON. Vous pouvez les créer à l’aide du modèle de projet Azure Resource Group dans Visual Studio et vous en inspirer en cliquant sur le bouton Script d’automatisation sur n’importe quelle ressource dans le portail Azure.

Azure Event Grid

Un service relativement nouveau, Azure Event Grid, sert de colle entre les services. Azure Event Grid peut acheminer des événements de n’importe quelle source vers n’importe quelle destination.

Presque tous les services Azure peuvent publier des événements qu’Azure Event Grid peut recevoir et utiliser pour déclencher votre application avec. Vous pouvez également faire en sorte que vos propres applications et services publient des événements qu’Azure Event Grid peut utiliser pour acheminer vers d’autres services.

Azure Event Grid évolue automatiquement et vous ne payez que pour le nombre d’opérations que vous utilisez.

Azure Event Grid élimine le besoin de polling. Vos applications peuvent écouter et réagir aux événements de n’importe quel service ayant publié des événements à Azure Event Grid.

Vous pouvez, par exemple, faire en sorte qu’Azure Event Grid écoute les changements dans votre liste de diffusion et déclenche une Azure Logic App lorsque quelque chose change.

Azure Service Bus

L’un des services les plus anciens, les plus utilisés et les plus fiables d’Azure est Azure Service Bus. Il se compose de plusieurs services, notamment Azure Service Bus Queues et Azure Service Bus Topics.

Une application peut mettre des messages sur une Azure Service Bus Queue. Chaque message est lu dans la file d’attente et traité par une application. Les files d’attente Azure Service Bus ont quelques capacités avancées que vous obtenez prêtes à l’emploi comme la détection des doublons et une sous-file de lettres mortes où les messages qui ne peuvent pas être traités sont déplacés.

Les sujets Azure Service Bus sont un peu différents. Les applications peuvent mettre des messages sur un sujet Azure Service Bus et plusieurs applications peuvent lire et traiter le message. Elles reçoivent les messages qui ont des attributs qui les intéressent. Elles s’abonnent aux « sujets » de la file d’attente. Les sujets Azure Service Bus ont les mêmes capacités avancées que les files d’attente.

Ces deux services vous permettent de découpler l’application qui place les messages sur la file d’attente de l’application qui traite les messages. Ce pattern permet à l’application de traitement de traiter les tâches à son propre rythme sans faire attendre l’utilisateur. Cela est utile lorsque le traitement peut prendre un certain temps et que vous ne voulez pas que l’utilisateur doive attendre à ce sujet, par exemple lorsque vous traitez une demande de commande qui peut prendre 5 minutes.

Azure Storage

Un élément de base de toute application est le stockage des données. Azure Storage offre plusieurs options pour le stockage des données, comme des fichiers ou des rangées de données. Il offre plusieurs services différents qui sont tous relativement peu coûteux, s’échelonnent presque à l’infini et à travers les régions géographiques et offrent des fonctionnalités telles que le cryptage et l’authentification. Tout cela est prêt à l’emploi, il suffit de créer un compte de stockage Azure. Discutons des différents types de stockage Azure :

Blob Storage

Vous stockez des fichiers volumineux, ou  » blobs « , dans Azure Blob Storage. Il peut s’agir de choses comme des fichiers VHD ou des fichiers audio ou vidéo ou des sauvegardes de bases de données.

Vous pouvez choisir un niveau de stockage Blob qui détermine vos performances et vos coûts. Il y a le niveau Hot, pour les blobs auxquels vous accédez fréquemment. Il y a aussi le niveau Cool, que vous utilisez pour les Blobs auxquels vous n’accédez pas si souvent, peut-être une fois par mois. Et enfin, il y a le niveau Archive, pour les blobs que vous n’utilisez presque jamais. Lorsque vous demandez un Blob au niveau Archive, cela peut prendre des heures avant que vous puissiez y accéder.

Table Storage

Vous pouvez stocker des données semi-relationnelles dans des lignes et des colonnes en utilisant Azure Table Storage. C’est parfait pour des choses comme les données de journalisation. Vous stockez les données dans des tables qui sont similaires à celles de SQL Server, mais qui sont moins strictes dans la mesure où elles n’ont pas de relations entre elles. Azure Table Storage est rapide et relativement peu coûteux, tout comme les autres types de stockage Azure.

Queue Storage

Vous pouvez stocker de petits messages qui peuvent être récupérés et traités ultérieurement dans des files d’attente Azure Storage, tout comme les files d’attente Azure Service Bus. Il s’agit d’une offre un peu étrange car elle chevauche les files d’attente Azure Service Bus. Elles se distinguent par le fait que les files d’attente de bus de service sont dotées d’un système de détection des doublons, ce qui n’est pas le cas des files d’attente de stockage. De plus, les messages des files d’attente de bus de service restent disponibles après 7 jours, alors que les messages des files d’attente de stockage ne peuvent être stockés que pendant 7 jours.

Stockage de fichiers

Vous pouvez utiliser Azure File Storage comme un disque dur supplémentaire que vous montez sur votre ordinateur ou une VM. C’est un excellent service pour commencer à utiliser le cloud en y migrant vos fichiers. Vous pouvez demander aux applications de l’utiliser en les faisant simplement pointer vers Azure File Storage au lieu de leur propre disque dur. Cela vous permet de commencer à migrer vers le cloud.

Disk Storage

Azure Disk Storage est une fonctionnalité premium et est très performant et utile lorsque vous devez effectuer un travail intensif d’E/S, comme sur le disque dur primaire d’une VM. Il agit comme un disque évolutif à haute performance que vous pouvez monter sur une VM.

Azure Cosmos DB

La nouvelle version et le nouveau nom d’Azure DocumentDB est Azure Cosmos DB. Azure Cosmos DB est une offre de base de données qui s’adapte parfaitement au cloud. En tant que service PaaS, il vous suffit de faire tourner une Cosmos DB et vous êtes prêt à partir. Si vous utilisiez Azure DocumentDB, vous utilisez désormais automatiquement Azure Cosmos DB. Votre code n’a pas à être modifié.

Il y a deux choses qui rendent Cosmos DB extraordinaire :

  • Vous pouvez programmer contre elle en utilisant différentes ‘API’, comme SQL, JavaScript, MongoDB, Gremlin et Table Storage. Vous ne choisissez plus un type de base de données, vous choisissez simplement la façon dont vous voulez lui parler, Cosmos DB s’occupe du reste
  • Plus besoin de créer des index, Cosmos DB le fait automatiquement pour vous
  • Cosmos DB est très performant. Elle garantit même une faible latence dans son SLA
  • Vous bénéficiez d’une extensibilité géographique prête à l’emploi. Vous indiquez simplement où dans le monde vous voulez que vos données soient et elles sont répliquées en temps réel. Ainsi, vous pouvez vous assurer que vos données sont proches de vos utilisateurs

Découvrez comment démarrer avec Azure Cosmos DB dans ces tutoriels de 5 minutes.

Cosmos DB est plus adapté aux données non relationnelles ou semi-relationnelles.

Azure Cognitive Services

Ajouter de l’intelligence à vos applications n’a jamais été aussi facile qu’avec les Azure Cognitive Services. Il s’agit d’un ensemble d’API qui fournissent des capacités presque magiques, alimentées par l’IA et l’apprentissage automatique. Il existe une trentaine de services cognitifs et d’autres sont à venir. Voici quelques exemples:

  • Emotion API, qui analyse les visages dans les photos et les vidéos pour détecter les émotions comme le bonheur, la tristesse, le dégoût et ainsi de suite
  • Language Understanding Intelligent Service (ou LUIS), qui peut réellement comprendre le contexte linguistique dans plus de 12 langues. Vous pouvez l’utiliser pour créer un bot intelligent qui comprend réellement ce que vous lui dites
  • API de reconnaissance du locuteur, qui identifie les locuteurs sur la base de la parole. Vous pouvez l’utiliser pour vous authentifier à l’aide de la voix ou pour identifier les personnes en fonction de leur voix
  • API Computer Vision, qui peut détecter des informations sur le contenu visuel trouvé dans les images, comme le fait que l’arrière-plan est de l’eau et du ciel ou que la veste que la personne porte est noire

Les services cognitifs sont très faciles à utiliser car vous les utilisez simplement à partir du cloud et vous n’avez pas besoin de gérer une infrastructure ou une configuration.

Vous pouvez utiliser vos propres données pour entraîner les services afin d’améliorer vos résultats. En faisant cela, l’API Visage pourrait, par exemple, renvoyer les noms et les âges de vos collègues de travail. En outre, les services cognitifs apprennent à la volée, grâce aux données que vous leur fournissez. Cela les rend plus intelligents et plus précis.

Pour utiliser un service cognitif, il suffit d’appeler le point de terminaison de l’API, comme https://westcentralus.api.cognitive.microsoft.com/face/v1.0/detect avec une clé d’abonnement que vous obtenez lorsque vous vous inscrivez et lui fournir les paramètres dont il a besoin, comme un tableau d’octets d’une image, dans le cas de l’API de visage. Cela renvoie une réponse JSON comme celle-ci (certaines lignes sont omises pour gagner de la place):

Résultat de la détection du visage:

 }, "smile": 0.826, "headPose": { "pitch": 0.0, "roll": -16.9, "yaw": 21.3 }, "gender": "female", "age": 23.8, "facialHair": { "moustache": 0.0, "beard": 0.0, "sideburns": 0.0 }, "glasses": "ReadingGlasses", "makeup": { "eyeMakeup": true, "lipMakeup": true }, "emotion": { "anger": 0.103, "contempt": 0.003, "disgust": 0.038, "fear": 0.003, "happiness": 0.826, "neutral": 0.006, "sadness": 0.001, "surprise": 0.02 }, … }]

Vous pouvez voir dans la sortie que ce service particulier renvoie beaucoup de données. Il détecte même où se trouvent les traits du visage dans l’image et si la personne porte du maquillage. Je pense que c’est vraiment étonnant.

Azure CDN

Vous pouvez accélérer vos applications en déchargeant le trafic sur Azure CDN. Azure CDN (Content Delivery Network) agit comme un point de terminaison pour votre contenu statique comme les fichiers vidéo, image, JavaScript et CSS. En confiant ces fichiers à Azure CDN, votre application n’a pas à le faire et dispose de plus de ressources pour traiter davantage de demandes. En outre, Azure CDN réplique le contenu statique vers des points de présence (PoP) dans le monde entier, ce qui permet de placer le contenu statique à proximité de l’endroit où se trouvent vos utilisateurs et de limiter la latence, ce qui est bon pour les performances.

Vous pouvez utiliser Azure CDN en créant un point d’extrémité Azure CDN, en couplant celui-ci à une source, comme Azure Storage et en téléchargeant des fichiers vers Azure Storage. Azure CDN réplique automatiquement les fichiers vers les PoP du monde entier et vous pouvez établir un lien vers les fichiers via une URL comme https://custom.azureedge.net/cd/myimag.png. Vous pouvez également utiliser un nom de domaine personnalisé pour l’URL.

Azure Redis Cache

Une autre façon d’accélérer vos applications est de mettre en cache les données en utilisant Azure Redis Cache. Lorsque vous obtenez des données à partir d’un cache plutôt que d’un autre magasin de données, comme une base de données, vous accélérez votre application.

C’est parce qu’un cache comme Azure Redis Cache conserve les données en mémoire et les stocke dans un format simple clé/valeur. Grâce à cela, les données peuvent être servies plus rapidement car elles n’ont pas besoin d’être extraites du disque et elles n’ont pas besoin d’être extraites en exécutant une requête complexe.

Azure Redis Cache fournit un cache-as-a-service et offre des capacités avancées, comme la mise en cluster et la géo-réplication. Il est basé sur le populaire open-source Redis Cache et est maintenant soutenu par les SLA de Microsoft et le support des entreprises. Azure Redis Cache est l’option de mise en cache pour les applications dans Azure.

Azure API Management

Vous pouvez utiliser Azure API Management pour améliorer vos API ou les API de tiers que vous utilisez. Azure API Management agit comme une passerelle entre votre API et le monde extérieur. Cela vous permet d’améliorer votre API.

Avec API Management, vous pouvez créer un portail où les utilisateurs de votre API peuvent se rendre pour gérer leur(s) abonnement(s) et tester l’application. Un exemple d’un tel portail pour développeurs est le site web de l’un des services cognitifs, qui utilise également la gestion d’API :

Vous pouvez contrôler l’utilisation de l’API en fixant des limites par utilisateur ou par type d’abonnement. C’est un bon moyen de monétiser votre API en offrant par exemple un palier d’utilisation gratuit jusqu’à 10 demandes par jour, et si vous avez besoin de plus, vous commencez à payer. Si les utilisateurs essaient d’utiliser plus, sans le bon abonnement, leurs demandes sont étranglées.

En outre, vous pouvez améliorer les API en les rendant plus performantes. Vous pouvez mettre en cache les réponses des API afin qu’elles n’aient pas à obtenir les réponses en faisant des calculs ou en composant des données à partir d’une source de données.

Et vous pouvez protéger vos API avec des clés, des mots de passe, des certificats et un filtrage IP. En plus de cela, vous pouvez transformer l’entrée et la sortie vers et depuis vos API. Vous pouvez, par exemple, transformer le XML entrant en JSON ou faire de même avec les réponses.

Azure API Management est vraiment puissant et augmente le contrôle que vous avez sur vos API (et les API tierces que vous exposez via API Management). Et il vous permet de le faire sans modifier l’API.

Conclusion

Les services de cet article sont tous des exemples de services Azure PaaS. Ils sont tous très faciles à faire tourner et nécessitent une maintenance minimale. Ils resteront opérationnels, sont auto-réparateurs et, fondamentalement,  » fonctionnent simplement « .

La valeur que ces services peuvent fournir est énorme et facile à intégrer dans vos applications. Cela prend vraiment en charge une grande partie de la plomberie et des tâches répétitives que nous avions l’habitude de construire et de faire nous-mêmes.

Azure PaaS nous permet de nous concentrer sur la construction de choses qui comptent. N’oubliez pas de toujours vous concentrer sur l’amélioration de vos applications également en utilisant un outil APM de cycle de vie complet comme Stackify Retrace. En savoir plus.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.