Opérations d’applications de fonctions serverless

Cet article décrit les éléments à prendre en compte pour les opérations Azure pour les applications Functions serverless. Pour prendre en charge les applications Functions, le personnel des opérations doit :

  • Comprendre et mettre en œuvre les configurations d’hébergement.
  • Garantissez la scalabilité future en automatisant le provisionnement de l’infrastructure.
  • Maintenir la continuité des activités en répondant aux exigences de disponibilité et de récupération d’urgence.

Planification

Pour planifier les opérations, comprendre vos charges de travail et leurs exigences, puis concevoir et configurer les meilleures options en fonction de ces exigences.

Choisir une option d’hébergement

Le runtime d’Azure Functions fournit une flexibilité d’hébergement. Utilisez le tableau de comparaison des plans d’hébergement pour déterminer le meilleur choix pour vos besoins.

  • Plans d’hébergement Azure Functions

    Chaque projet Azure Functions se déploie et est exécuté dans sa propre application Functions, qui est l’unité d’échelle et de coût. Les trois plans d’hébergement disponibles pour Azure Functions sont le plan Consommation, le plan Premium et le plan Dédié(App Service). Le plan d’hébergement détermine le comportement de mise à l’échelle, les ressources disponibles et la prise en charge des fonctionnalités avancées telles que la connectivité de réseau virtuel.

  • Azure Kubernetes Service (AKS)

    Functions basé sur Kubernetes fournit le runtime Functions dans un conteneur Docker avec mise à l’échelle pilotée par événement via la mise à l’échelle automatique pilotée par événement Kubernetes (KEDA).

Pour plus d’informations sur les plans d’hébergement, consultez :

Comprendre la mise à l’échelle

Les plans d’hébergement Consommation et Premium serverless mettent à l’échelle automatiquement, en ajoutant et en supprimant des instances d’hôte Azure Functions en fonction du nombre d’événements entrants. La mise à l’échelle peut varier sur plusieurs dimensions et se comporte différemment selon le plan, le déclencheur et le langage de code.

Pour plus d’informations sur la mise à l’échelle, consultez :

Comprendre et résoudre les démarrages à froid

Si le nombre d’instances de l’hôte est mis à l’échelle à zéro, la requête suivante a la latence supplémentaire de redémarrer l’application Functions, appelée démarrage à froid. Le démarrage à froid est un point de discussion important pour les architectures serverless et un point d’ambiguïté pour Azure Functions.

Le plan d’hébergement Premium empêche les démarrages à froid en gardant certaines instances au chaud. La réduction des dépendances et l’utilisation des opérations asynchrones dans l’application Functions réduit également l’impact des démarrages à froid. Toutefois, les exigences de disponibilité peuvent nécessiter l’exécution de l’application dans un plan d’hébergement Dédié avec Always On activé. Le plan Dédié utilise des machines virtuelles dédiées, il n’est donc pas serverless.

Pour plus d’informations sur le démarrage à froid, consultez la section Comprendre le démarrage à froid serverless.

Identifier les points importants relatifs au stockage

Chaque application Azure Functions s’appuie sur Stockage Azure pour des opérations telles que la gestion des déclencheurs et la journalisation des exécutions de fonctions. Quand vous créez une application Functions, vous devez créer un compte de stockage Azure à usage général qui prend en charge le stockage Blob, File d’attente et Table, ou établir un lien vers un compte de ce type. Pour plus d’informations, consultez la section Points importants relatifs au stockage pour Azure Functions.

Identifier les points importants relatifs à la conception réseau

Les options de mise en réseau permettent à l’application Functions de restreindre l’accès ou d’accéder aux ressources sans utiliser d’adresses routables par Internet. Les plans d’hébergement offrent différents niveaux d’isolement réseau. Choisissez l’option qui répond le mieux à vos besoins en matière d’isolement réseau. Pour plus d’informations, consultez la section Options de mise en réseau Azure Functions.

Production

Pour préparer l’application à la production, assurez-vous que vous pouvez facilement redéployer le plan d’hébergement et appliquer les règles scale-out.

Automatiser l’approvisionnement du plan d’hébergement

Avec l’infrastructure en tant que code, vous pouvez automatiser l’approvisionnement de l’infrastructure. L’approvisionnement automatique offre une plus grande résilience lors des sinistres et une plus grande agilité pour redéployer rapidement l’infrastructure en fonction des besoins.

Pour plus d’informations sur l’approvisionnement automatique, consultez :

Configurer les options de mise à l’échelle

La mise à l’échelle automatique fournit la quantité appropriée de ressources en cours d’exécution pour gérer la charge de l’application. La mise à l’échelle automatique permet d’ajouter des ressources pour gérer les augmentations de charge et d’économiser de l’argent en supprimant les ressources qui sont inutilisées.

Pour plus d’informations sur les options de mise à l’échelle automatique, consultez :

Optimization

Lorsque l’application est en production, assurez-vous que :

  • Le plan d’hébergement peut être mis à l’échelle pour répondre aux demandes de l’application.
  • Il existe un plan pour la continuité des activités, la disponibilité et la récupération d’urgence.
  • Vous pouvez surveiller l’intégrité de l’application et l’hébergement et recevoir des alertes.

Mettre en œuvre des exigences de disponibilité

Azure Functions s’exécute dans une région spécifique. Pour bénéficier d’une plus haute disponibilité, vous pouvez déployer la même application Functions dans plusieurs régions. Dans plusieurs régions, Functions peut s’exécuter dans le modèle de disponibilité actif/actif ou actif/passif.

Pour plus d’informations sur la disponibilité et la récupération d’urgence de Azure Functions, consultez :

Surveillance de la journalisation, surveillance des applications et alertes

Application Insights et les journaux dans Azure Monitor collectent automatiquement les données de journal, de performance et d’erreur et détectent les anomalies de performance. Azure Monitor comprend des outils d’analyse puissants pour vous aider à diagnostiquer les problèmes et à comprendre l’utilisation des fonctions. Application Insights vous aide à améliorer continuellement les performances et la facilité d’utilisation.

Pour plus d’informations sur la surveillance et l’analyse des performances de Azure Functions, consultez :

Étapes suivantes