Développement et déploiement d’applications
Examinez les modèles et pratiques de développement d’applications, configurez Azure Pipelines et implémentez les meilleures pratiques en matière d’ingénierie de fiabilité de site (SRE). L’ingénierie SRE est une approche d’ingénierie logicielle pour le développement et le déploiement d’applications, la gestion des modifications, la surveillance et la réponse d’urgence.
Planifier, former et vérifier
Utilisez la liste de vérification et les ressources de développement d’applications suivantes pour vous aider à planifier le développement et le déploiement de votre application. Vous devez pouvoir répondre à ces questions :
- Avez-vous préparé votre environnement de développement d’applications et configuré le workflow ?
- Comment allez-vous structurer le dossier du projet pour prendre en charge le développement d’applications Kubernetes ?
- Avez-vous identifié les exigences concernant l’état, la configuration et le stockage de votre application ?
Liste de vérification SRE
Préparer votre environnement de développement Configurez votre environnement avec les outils pour créer des conteneurs et configurer votre workflow de développement.
Pour plus d'informations, consultez les pages suivantes :
Conteneurisez votre application. Familiarisez-vous avec l’expérience de développement Kubernetes de bout en bout, notamment la génération de modèles automatique d’application, les workflows de boucle interne, les frameworks de gestion d’applications, les pipelines CI/CD, l’agrégation de journaux, la supervision et les métriques d’application.
Pour plus d'informations, consultez les rubriques suivantes :
Passez en revue les scénarios Kubernetes courants. Kubernetes est souvent considéré comme une plateforme pour la diffusion de microservices, mais il s’agit de nos jours d’une plateforme plus large. Pour plus d’informations sur les scénarios Kubernetes courants, tels que le workflow et l’analytique par lot, consultez Vue d’ensemble des scénarios Kubernetes courants (vidéo).
Préparez votre application pour Kubernetes. Préparez la disposition de votre système de fichiers d’application pour Kubernetes et planifiez des mises en production hebdomadaires ou quotidiennes. Découvrez comment le processus de déploiement Kubernetes permet d’effectuer des mises à niveau fiables et sans temps d’arrêt.
Pour plus d'informations, consultez les pages suivantes :
Gérez le stockage d’application. Veillez à bien comprendre les besoins en matière de performances des pods et les méthodes pour y accéder afin de fournir les options de stockage appropriées. Planifiez des méthodes pour sauvegarder et tester le processus de restauration pour le stockage attaché.
Pour plus d'informations, consultez les rubriques suivantes :
Gérez les secrets d’application. Utilisez un coffre de clés pour stocker et récupérer les clés et les informations d’identification. Ne stockez pas les informations d’identification dans le code de votre application.
Pour plus d’informations, consultez :
Déployer en production et appliquer les bonnes pratiques
Lorsque vous préparez l’application pour la production, utilisez la liste de contrôle suivante. Vous devez pouvoir répondre à ces questions :
- Pouvez-vous superviser tous les aspects de votre application ?
- Avez-vous défini des besoins en ressources pour votre application ? Qu’en est-il des exigences de mise à l’échelle ?
- Pouvez-vous déployer de nouvelles versions de l’application sans affecter les systèmes de production ?
Liste de vérification des meilleures pratiques SRE
Configurez des contrôles d’intégrité de préparation et d’activité. Kubernetes utilise des contrôles de préparation et d’activité pour savoir quand votre application est prête à recevoir le trafic et quand elle doit être redémarrée. Si vous ne définissez pas de vérifications, Kubernetes ne peut pas déterminer si votre application est en cours d’exécution. Pour plus d’informations, consultez Contrôles de préparation et d’activité.
Configurez la journalisation, la supervision de l’application et les alertes. La surveillance de vos conteneurs est essentielle, particulièrement lorsque vous exécutez un cluster de production à grande échelle, avec plusieurs applications. La méthode de journalisation recommandée pour les applications conteneurisées consiste à écrire dans les flux de sortie standard (
stdout
) et d’erreur standard (stderr
).Pour plus d'informations, consultez les pages suivantes :
- Logging in Kubernetes (Journalisation dans Kubernetes)
- Bien démarrer avec la supervision et les alertes pour Kubernetes (vidéo)
- Azure Monitor pour conteneurs
- Activer et consulter les journaux de plan de contrôle dans Azure Kubernetes Service (AKS)
- Afficher les journaux, métriques de pod et événements Kubernetes en temps réel
Définissez les besoins en ressources pour l’application. L’un des principaux moyens de gérer les ressources de calcul au sein d’un cluster Kubernetes consiste à utiliser des requêtes et des limites de pod. Ces requêtes et ces limites indiquent au planificateur Kubernetes les ressources de calcul à attribuer à un pod. Pour plus d’informations, consultez Définir des demandes et limites de ressources de pod.
Configurez les exigences de mise à l’échelle des applications. Kubernetes prend en charge la mise à l’échelle horizontale automatique des pods pour ajuster le nombre de pods dans un déploiement en fonction de l’utilisation du processeur ou d’autres métriques. Pour que vous puissiez utiliser le programme de mise à l’échelle automatique, tous les conteneurs de vos pods doivent avoir des requêtes et limites de processeur définies. Pour plus d’informations, consultez Configurer la mise à l’échelle automatique horizontale de pod.
Déployer des applications à l’aide d’un pipeline automatisé et de DevOps. L’automatisation complète de toutes les étapes entre la validation du code et le déploiement de production permet aux équipes de se concentrer sur la création du code, et élimine la surcharge et le risque d’erreur humaine lors des étapes manuelles. Le déploiement d’un nouveau code est plus rapide et moins risqué, ce qui aide les équipes à devenir plus agiles, plus productives et plus confiantes quant à leur code en cours d’exécution.
Pour plus d'informations, consultez les rubriques suivantes :
Optimiser et mettre à l’échelle
Maintenant que l’application est en production, utilisez la liste de vérification de déploiement d’application pour optimiser votre workflow et préparer votre application et votre équipe à la mise à l’échelle. Vous devez pouvoir répondre à ces questions :
- Les préoccupations intersectorielles sont-elles abstraites de votre application ?
- Êtes-vous en mesure de maintenir la fiabilité du système et des applications, tout en continuant à itérer sur de nouvelles fonctionnalités et versions ?
Liste de contrôle pour le déploiement d’applications
Déployez une passerelle API. Une passerelle API sert de point d’entrée pour les microservices, dissocie les clients de vos microservices, ajoute une couche de sécurité et réduit la complexité de vos microservices en supprimant la charge liée à la gestion des préoccupations intersectorielles. Pour plus d’informations, consultez Utiliser Gestion des API Azure avec des microservices déployés dans Azure Kubernetes Service.
Déployez un maillage de services. Un maillage de services offre des fonctionnalités à vos charges de travail, axées sur les aspects suivants : gestion du trafic, résilience, stratégie, sécurité, identité forte et observabilité. Votre application est dissociée de ces fonctionnalités opérationnelles, qui sont déplacées par le maillage de services hors de la couche Application, au niveau de la couche Infrastructure.
Pour plus d'informations, consultez les pages suivantes :
- Comment fonctionnent les maillages de services dans Kubernetes ? (Vidéo)
- En savoir plus sur les maillages de services
- Utiliser Open Service Mesh avec Azure Kubernetes Service
- Utiliser Istio avec Azure Kubernetes Service
- Utiliser Linkerd avec Azure Kubernetes Service
- Utiliser Consul avec Azure Kubernetes Service
- Comment fonctionnent les maillages de services dans Kubernetes ? (Vidéo)
Implémenter les pratiques SRE. L’ingénierie SRE est une approche éprouvée qui maintient une fiabilité essentielle du système et des applications et effectue une itération à la vitesse requise par le marketplace.
Pour plus d'informations, consultez les rubriques suivantes :