À propos des meilleures pratiques d'exploitation efficace des déploiements en nuage

L'efficacité opérationnelle consiste à identifier les processus et procédures appropriés pour automatiser et optimiser l'exploitation de tous les services en nuage. Il est important de tenir compte des meilleures pratiques pour déployer, exploiter et surveiller les applications et l'infrastructure afin d'offrir une valeur ajoutée maximale. Avec les déploiements quotidiens, il est nécessaire de voir ce qui se passe avec les ressources en nuage. La surveillance doit être en place pour savoir si un environnement fonctionne correctement et si des ajustements sont nécessaires.

Exécuter les opérations en tant que code

Provisionner, adapter et gérer votre environnement à l'aide de l'automatisation et d'une infrastructure-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.

Identifier vos responsabilités

Les fournisseurs de services en nuage documentent la responsabilité de leur plate-forme et les responsabilités du client. Identifiez les responsabilités de vos clients et assurez-vous d'avoir des procédures opérationnelles pour chacune de ces responsabilités.