A propos des meilleures pratiques pour l'exploitation efficace des déploiements cloud
Effectuer les opérations en tant que code
- Utiliser la structure des zones de renvoi OCI
Tirez parti des modèles de base sélectionnés par Oracle avec des conseils de conception et des modèles IaC Terraform préconfigurés adaptés à 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éfinition de l'infrastructure de charge globale
Lorsque vous définissez l'infrastructure en tant que code, vous pouvez 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, la promotion de la standardisation inter-environnements et la minimisation du retraitement entre les équipes.
- Développer et déployer des applications
L'automatisation du déploiement de code sur l'infrastructure existante garantit la cohérence des applications sur plusieurs déploiements d'infrastructure.
- Gérer la configuration de l'infrastructure
La cohérence est cruciale lors de la configuration et de la mise à jour de la configuration de l'infrastructure sur plusieurs ressources cloud. Avec la gestion de la configuration, il est possible de gérer le déploiement de la configuration de l'infrastructure lors de la conception, de l'implémentation, des tests, de l'application de correctifs et des nouvelles versions.
Effectuer des déploiements fréquents et itératifs
Réduisez les risques en utilisant l'automatisation et un processus de développement itératif lors du test et du déploiement de code.
- Automatisez votre processus de déploiement d'applications
Automatisez autant de processus que possible. Si possible, éliminez les déploiements manuels en production. Toutefois, cela peut être acceptable dans les environnements inférieurs pour favoriser la vitesse et la flexibilité.
- Tirez parti de l'automatisation pour tester votre code avant le déploiement
Les tests de bugs, de vulnérabilités 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.
- Implémenter 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éfinition de procédures opérationnelles
Définir des procédures pour tirer parti des outils disponibles et automatiser les procédures.
- Automatisation de l'application de patches et de la maintenance
Tirez parti des outils pour mettre à jour et corriger automatiquement les instances de calcul, les instances de base de données et les serveurs qui font partie de votre responsabilité de maintenance client.
- Exploiter les utilitaires de gestion de la configuration
Utiliser les outils de gestion de la configuration pour automatiser et réduire les risques lors de la mise à jour des configurations de ressources.
- Surveillance des mesures de performances de système
Comprendre les mesures fournies par les services d'infrastructure. Configurez 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
Ecrivez un plan de récupération après sinistre qui reflète l'impact commercial des pannes d'application. Comprendre les dépendances d'application et leur impact sur les applications. Automatisez le processus de récupération autant que possible et documentez les étapes manuelles. Testez régulièrement votre processus de récupération après sinistre pour valider et améliorer le plan.
- Planification des interactions de prise en charge d'Oracle Cloud Infrastructure
Avant que cela ne se produise, établissez un processus pour contacter le support technique Oracle Cloud Infrastructure.
- Incorporer 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.
Prévoir des échecs et apprendre
Des pannes imprévues surviendront tout au long du cycle de vie d'une application. Tirez parti d'une défaillance et améliorez les processus de réponse et de récupération.
- Apprendre des échecs
Réalisez une analyse des causes premières et réglez les processus opérationnels pour obtenir des réponses plus efficaces et plus agiles aux défaillances à l'avenir.
- Améliorer en permanence la réponse aux incidents
Intégrez les leçons tirées de l'échec 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 délai moyen de réparation.
- Pratique pour l'échec
Testez et répétez régulièrement les processus de gestion et de récupération des incidents afin de les adapter aux réponses futures.
Identifier et surveiller les indicateurs clés de performance de la charge globale
Identifiez les performances de référence et les indicateurs clés de performance (KPI) pour vos charges de travail. Utilisez les KPI et les journaux pour surveiller l'état et les performances de la charge globale de l'application.
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 performances 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 performances avant qu'ils n'affectent les utilisateurs.
- Implémenter des vérifications de l'état
Exécutez régulièrement des vérifications de l'état et des sondes en dehors de l'application pour identifier la dégradation de l'état et des performances de l'application. Les contrôles d'intégrité et les sondes doivent être plus que de simples tests de page statiques, ils doivent refléter l'intégrité globale de l'application.
- Vérification des workflows à long terme
La détection précoce des problèmes peut réduire la nécessité d'annuler l'intégralité du workflow ou d'exécuter plusieurs transactions de compensation.
- Gérer les journaux système, d'application et d'audit
Utilisez un service de journalisation centralisé pour stocker et analyser vos journaux.
- Configurer un système d'alerte rapide
Identifiez les indicateurs clés de performance (KPI) de l'état d'une application, tels que les exceptions transitoires et la latence des appels distants, et définissez des valeurs de seuil appropriées pour chacune d'elles. Envoyer une alerte aux opérations lorsque la valeur de seuil est atteinte.
- Former plusieurs opérateurs à la surveillance de l'application et à l'exécution des étapes de récupération manuelle
Assurez-vous qu'au moins un opérateur formé est toujours actif.
- Créer des stratégies de redimensionnement qui prennent des mesures en fonction des KPI
Les stratégies de mise à l'échelle permettent de fournir des performances cohérentes à vos utilisateurs finaux lors des périodes de demande élevée et de réduire les coûts lors des périodes de faible demande.
Exploiter les services gérés
Utilisez des services cloud gérés pour vous assurer que vos ressources cloud fonctionnent efficacement et de manière rentable. Votre service informatique peut décharger les tâches tactiques et non différenciées associées à la gestion des ressources cloud afin qu'elles puissent se concentrer sur leurs compétences de base.