À propos des meilleures pratiques d'exploitation efficace des déploiements en nuage
Exécuter les opérations en tant que code
- Utiliser le cadre OCI Landing Zones
Tirez parti des modèles personnalisés par Oracle avec des conseils de conception et des modèles Terraform IaC préconfigurés qui conviennent à diverses architectures et cas d'utilisation pour la majorité des déploiements OCI.
- Adopter l'infrastructure en tant que code (IaC)
Automatisez le déploiement des charges de travail et des procédures opérationnelles, limitez les interactions humaines et améliorez la réponse aux événements en utilisant l'infrastructure en tant que code.
- Définir l'infrastructure de charge de travail
Lorsque vous définissez l'infrastructure en tant que code, il est possible de provisionner automatiquement et à plusieurs reprises des charges de travail sur une infrastructure cohérente. La paramétrisation permet la réutilisation de modèles communs, favorisant la normalisation inter-environnement et minimisant le réusinage entre les équipes.
- Développer et déployer des applications
L'automatisation du déploiement de code sur l'infrastructure existante permet la cohérence des applications sur plusieurs déploiements d'infrastructure.
- Gérer la configuration de l'infrastructure
La cohérence est essentielle lors de la configuration et de la mise à jour de la configuration d'infrastructure sur plusieurs ressources en nuage. Avec la gestion de la configuration, il est possible de gérer le déploiement de la configuration de l'infrastructure pendant la conception, la mise en œuvre, les tests, l'application de correctifs et les nouvelles versions.
Effectuer des déploiements fréquents et itératifs
Réduisez les risques grâce à l'automatisation et à un processus de développement itératif lors des tests et du déploiement du code.
- Automatiser le processus de déploiement de votre application
Automatisez autant de processus que possible. Si possible, éliminez les déploiements manuels en production, bien que cela puisse être acceptable dans des environnements plus faibles pour favoriser la vitesse et la flexibilité.
- Tirez parti de l'automatisation pour tester votre code avant le déploiement
Les tests de bogues, de vulnérabilités en matière de sécurité, de fonctionnalités, de performances et d'intégrations sont essentiels pour minimiser les problèmes détectés par les utilisateurs. Les échecs de test doivent empêcher la mise en production du code.
- Mettre en oeuvre des déploiements itératifs et incrémentiels
Réduisez les risques en testant et en validant les déploiements plus fréquemment. Des changements plus petits et plus fréquents peuvent réduire l'exposition aux défaillances et les retards dans l'identification des problèmes.
Définir des procédures opérationnelles
Définir des procédures pour tirer parti des outils disponibles et automatiser les procédures.
- Automatiser l'application de correctifs et la maintenance
Tirez parti des outils pour mettre à jour et appliquer des correctifs automatiquement aux instances de calcul, aux instances de base de données et aux serveurs qui font partie de votre responsabilité en matière de maintenance des clients.
- Tirer parti des utilitaires de gestion de configuration
Utilisez des outils de gestion de la configuration pour automatiser et réduire les risques lors de la mise à jour des configurations de ressources.
- Surveiller les mesures de performance
Comprendre les mesures fournies par les services d'infrastructure. Configurer la surveillance et les alertes pour fournir une visibilité sur l'état de toutes les charges de travail et des indicateurs proactifs de défaillance.
- Documenter et tester votre plan de reprise après sinistre
Écrivez un plan de reprise après sinistre qui reflète l'impact des défaillances d'application sur l'entreprise. Comprendre les dépendances d'application et leur incidence sur les applications. Automatisez le processus de récupération autant que possible et documentez toutes les étapes manuelles. Testez régulièrement votre processus de reprise après sinistre pour valider et améliorer le plan.
- Planifier les interactions de soutien pour Oracle Cloud Infrastructure
Avant que le besoin ne se présente, établissez un processus pour communiquer avec le soutien technique d'Oracle Cloud Infrastructure.
- Intégrer les pratiques FinOps
Intégrer les pratiques FinOps dans les procédures opérationnelles pour s'assurer que la gestion des coûts fait partie intégrante des opérations quotidiennes.
Expliquer l'échec et apprendre
Des défaillances imprévues se produiront tout au long du cycle de vie d'une application. Apprenez d'un échec et améliorez les processus de réponse et de récupération.
- Apprendre des échecs
Effectuer des analyses de cause fondamentale et régler les processus opérationnels pour des réponses meilleures et plus agiles aux défaillances dans le futur.
- Améliorer continuellement la réponse aux incidents
Intégrer les leçons tirées des échecs et des problèmes passés aux procédures de réponse aux incidents existantes afin de prévenir les problèmes futurs et de réduire le temps moyen de réparation.
- Exercice pour l'échec
Testez et répétez périodiquement les processus de gestion et de récupération des incidents pour ajuster les réponses futures.
Identifier et surveiller les indicateurs clés de rendement de charge de travail
Identifier les indicateurs de performance de base et les indicateurs clés de rendement (ICR) pour vos charges de travail. Utilisez les ICR et les journaux pour surveiller l'état et la performance de la charge de travail des applications.
Envisagez d'utiliser les éléments suivants pour surveiller les performances de la charge globale :
- implémenter le suivi des appels de service
Les données de performance de référence peuvent vous aider à fournir des données de tendance que vous pouvez utiliser pour identifier de manière proactive les problèmes de performance avant qu'ils n'affectent les utilisateurs.
- Mettre en oeuvre des vérifications d'état
Exécutez régulièrement des vérifications d'état et des sondes depuis l'extérieur de l'application pour identifier la dégradation de l'état et des performances de l'application. Les contrôles d'état et les sondes devraient être plus que des tests de page statiques, ils devraient refléter l'état global des applications.
- Vérifier les flux de travail longs
L'identification précoce des problèmes peut réduire la nécessité de repositionner l'ensemble du flux de travail ou d'exécuter plusieurs transactions de compensation.
- Tenir à jour les journaux de système, d'application et de vérification
Utilisez un service de journalisation centralisé pour stocker et analyser vos journaux.
- Configurer un système d'alerte précoce
Identifier les indicateurs clés de rendement (ICR) de l'état d'une application, tels que les exceptions transitoires et la latence des appels à distance, et définir des valeurs de seuil appropriées pour chacune d'entre elles. Envoyer une alerte aux opérations lorsque la valeur de seuil est atteinte.
- Former plusieurs opérateurs pour surveiller l'application et effectuer des étapes de récupération manuelle
Assurez-vous qu'au moins un opérateur formé est toujours actif.
- Créer des politiques d'ajustement qui prennent des mesures en fonction des ICR
Les politiques de mise à l'échelle vous aident à fournir une performance cohérente aux utilisateurs finaux pendant les périodes de demande élevée et vous aident à réduire les coûts pendant les périodes de demande faible.
Exploiter les services gérés
Utilisez des services en nuage gérés pour vous assurer que vos ressources en nuage fonctionnent de manière efficace et rentable. Votre organisation informatique peut délaisser le poids tactique et indifférencié associé à la gestion des ressources en nuage afin qu'elle puisse se concentrer sur ses compétences fondamentales.