Planification de la stratégie de déploiement

Déterminez comment définir et déployer vos ressources et workloads OCI. Vous pouvez utiliser le fournisseur OCI Terraform pour gérer les ressources OCI partout où vous utilisez une distribution Terraform, y compris dans Terraform Cloud et OCI Resource Manager. Outre le fournisseur OCI Terraform, vous disposez également des modules Terraform OCI Landing Zones, qui simplifient le déploiement des ressources OCI à l'aide de fichiers .tfvars classiques ou de configurations JSON sans codage.

Par exemple, vous pouvez utiliser les zones de renvoi OCI qui permettent le provisionnement reproductible en 1 clic d'une location et d'une infrastructure de charge de travail sécurisées par CIS, y compris des services cloud essentiels tels que l'identité, la sécurité, le réseau, l'observabilité et la gouvernance. Les ressources de charge globale peuvent ensuite être déployées sur des applications spécifiques.

Choisir une région en fonction de vos clients et de vos données

Architecte cloud, Architecte réseau, Gestionnaire des opérations cloud

Lorsque vous choisissez une région, sachez qui va accéder à vos ressources et de quelle région du pays ou du monde. Prenez en compte les exigences réglementaires et de confidentialité lors de votre sélection.

Adopter l'infrastructure comme code

Architecte cloud, DevOps Architecte, Gestionnaire des opérations cloud

Lorsque vous adoptez l'infrastructure en tant que code dans OCI, vous pouvez définir l'ensemble de votre infrastructure d'application sous forme de code. Vous pouvez exécuter des procédures opérationnelles sous forme de code et les implémenter en réponse à des notifications basées sur des événements.

Les éléments suivants vous permettent de définir et de gérer votre infrastructure à l'aide de code :

  • Zones de renvoi d'Oracle Cloud Infrastructure

    OCI Landing Zones vous fournit un ensemble complet de modèles de base OCI, qui incluent des conceptions, des configurations et des modules Terraform IaC déclaratifs prêts à l'emploi qui peuvent être utilisés pour n'importe quelle architecture et n'importe quel modèle de déploiement OCI.

  • Oracle Cloud Infrastructure Resource Manager

    Resource Manager automatise le processus de provisionnement de vos ressources OCI à l'aide de Terraform pour vous aider à installer, à configurer et à gérer des ressources via le modèle infrastructure-as-code.

  • Oracle Cloud Infrastructure Events

    Les événements automatisent la réponse aux modifications de ressource dans votre location. Les services OCI émettent des messages d'événement, qui sont des messages structurés indiquant les modifications apportées aux ressources. Vous pouvez créer une automatisation en fonction des modifications d'état des ressources dans l'ensemble de votre location et permettre à vos équipes de développement de réagir automatiquement lorsqu'une ressource change d'état.

  • Oracle Cloud Infrastructure Functions

    Functions fournit une plate-forme sans serveur hautement évolutive et entièrement gérée. Une fois le code déployé, vous pouvez utiliser des événements pour déclencher des procédures opérationnelles codées en tant que fonctions.

Adopter Terraform pour implémenter des workflows répétables

DevOps Architecte, architecte d'application, gestionnaire des opérations cloud

Terraform est un outil open source qui permet de gérer et de rendre persistante l'infrastructure par programmation via le modèle Infrastructure-as-Code. Les configurations Terraform codifient votre infrastructure dans des fichiers déclaratifs qui définissent l'infrastructure et maintiennent son état.

Vous pouvez partager ces fichiers entre les membres de l'équipe, les traiter comme du code, les modifier, les réviser et gérer leurs versions.

Vous pouvez utiliser le fournisseur OCI Terraform pour gérer les ressources OCI partout où vous utilisez une distribution Terraform, y compris dans Terraform Cloud et Oracle Cloud Infrastructure Resource Manager. Outre le fournisseur OCI Terraform, vous pouvez tirer parti des modules Terraform OCI Landing Zones qui fournissent une approche configurable déclarative avec des fichiers de configuration .tfvars ou JSON classiques dans lesquels aucune compétence en codage n'est nécessaire.

Lorsque vous utilisez Terraform avec OCI, tenez compte des éléments suivants :

  • Terraform est du code et doit être traité comme tel à l'aide d'un système de version de contrôle. OCI Resource Manager peut tirer parti des référentiels Git pour exécuter le code.
  • Envisagez d'utiliser le principal d'instance comme authentification pour le fournisseur OCI si vous êtes en cours d'exécution sur une instance de calcul de machine virtuelle dans OCI.
  • Gérez les fichiers d'état Terraform dans des emplacements sécurisés accessibles par votre pile Terraform et son exécution, avec le niveau de granularité approprié. Ségrégez et divisez vos ressources dans des piles Terraform lorsque vous développez vos ressources OCI. En effet, toutes les ressources d'une pile se trouvent dans un seul fichier d'état, ce qui peut prendre du temps à traiter, ce qui peut potentiellement bloquer les mises à jour importantes sur d'autres ressources. Lorsque vous utilisez OCI Resource Manager, chaque pile contient son propre fichier d'état.
  • Les modèles de base OCI Landing Zones sont des configurations conçues pour être exécutées avec les modules Terraform OCI Landing Zones. Vous pouvez utiliser ces modèles de base prêts à l'emploi pour implémenter de nombreuses bonnes pratiques, ou les modifier pour prendre en charge vos cas d'emploi uniques. Si vous utilisez l'approche déclarative utilisant des configurations JSON, aucune brique de codage Terraform n'est nécessaire pour exécuter votre déploiement.

Adoptez OCI Designer Toolkit (OKIT)

DevOps Architecte, architecte d'infrastructure, gestionnaire des opérations cloud

Le concepteur et la visualisation toolKIT (OKIT) d'Oracle Cloud Infrastructure (OCI) sont des outils basés sur un navigateur qui vous permettent de concevoir, de déployer et de visualiser (introspecter/interroger) des environnements OCI via une interface Web graphique.

L'interface Web permet aux architectes et aux concepteurs de créer une représentation visuelle de leur infrastructure, puis de l'exporter dans un certain nombre de formats. Une fois terminé, vous pouvez améliorer la conception pour ajouter des informations de propriété clés, ce qui vous permet d'exporter l'infrastructure conçue vers un certain nombre de structures DevOps.

Vous pouvez utiliser OKIT pour introduire des environnements OCI existants, via une fonctionnalité de requête simple intégrée à l'interface Web, afin de fournir un fichier JSON générique portable. Vous pouvez utiliser le fichier JSON pour visualiser les systèmes existants ou générer un ensemble de scripts Terraform ou Ansible que vous pouvez utiliser pour créer l'infrastructure OCI conçue sous forme de fichier ZIP.

Les modèles OKIT prennent en charge l'utilisation de scripts Cloud Init pour automatiser davantage les déploiements de ressources de calcul. OKIT est essentiellement un outil utilisateur unique le mieux adapté à une exécution locale, car il utilise les clés personnelles d'un utilisateur pour s'authentifier auprès d'une location. L'utilisation d'Oracle Cloud Infrastructure Resource Manager vous permet de partager des conceptions. Vous pouvez exporter des conceptions OKIT au format JSON, que vous pouvez contrôler par version.

Automatiser les actions simples et répétables

DevOps Architecte, Gestionnaire des opérations cloud

Envisagez d'utiliser l'interface de ligne de commande OCI pour créer des scripts d'actions reproductibles et pour orchestrer plusieurs tâches. L'utilisation de l'interface de ligne de commande OCI peut permettre des opérations rationalisées grâce à l'automatisation.

L'interface de ligne de commande offre les mêmes fonctionnalités de base que la console, ainsi que des commandes supplémentaires. Certaines, comme la possibilité d'exécuter des scripts, étendent les fonctionnalités de la console OCI. L'interface de ligne de commande prend en charge les versions 3.6 et ultérieures de Python exécutées sur MacOS, Windows ou une distribution Linux prise en charge. En outre, vous pouvez le configurer pour tirer parti des identités fédérées au lieu de vous appuyer sur des informations d'identification statiques.

Adopter les outils de gestion de la configuration

DevOps Architecte, architecte d'infrastructure, gestionnaire des opérations cloud

Envisagez d'adopter des outils de gestion, tels que les modules Ansible, pour vous aider à provisionner, à orchestrer et à gérer la configuration.

Les modules Ansible vous permettent d'automatiser la configuration et le provisionnement de votre infrastructure cloud, le déploiement et la mise à jour de ressources logicielles, ainsi que l'orchestration de processus opérationnels complexes afin de réduire les risques et de gagner en agilité avec le déploiement et la configuration de charges de travail. Les livres de jeux Ansible permettent d'automatiser les tâches de configuration, de déploiement et d'orchestration.

OCI prend en charge l'utilisation de modules Ansible pour automatiser le provisionnement et la configuration de l'infrastructure cloud, l'orchestration de processus opérationnels complexes, ainsi que le déploiement et la mise à jour de vos ressources logicielles. La collection OCI Ansible prend en charge Ansible Tower et AWX.

Adopter des systèmes de gestion de la création et du déploiement

DevOps Architecte, Gestionnaire des opérations cloud

Améliorez l'efficacité en utilisant des systèmes de gestion de build et de déploiement, tels que Ansible Tower ou Jenkins. Ces systèmes réduisent les erreurs causées par les processus manuels et les efforts déployés pour déployer les modifications.

Tester et valider les modifications

DevOps Architecte, Gestionnaire des opérations cloud

Pour détecter les erreurs, suivez, testez et validez toujours les modifications.

Vous pouvez utiliser un système de contrôle des versions pour suivre les modifications apportées à votre code. Envisagez d'utiliser un système de gestion du déploiement pour automatiser votre processus de test.