0
votes

Avantages des modèles (c'est-à-dire l'infrastructure en tant que code) sur les appels API

J'essaie de configurer un module pour déployer des ressources dans le nuage (cela pourrait être un fournisseur de cloud). Je ne vois pas les avantages de l'utilisation de modèles (c'est-à-dire le gestionnaire de déploiement) sur les appels API directs:

Création de VM à l'aide d'un modèle: P>

def addInstance(http, listOfHeaders):
  url = "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances"

  body = {
    "name": "quickstart-deployment-vm",
    "zone": " us-central1-f",
    "machineType": "f1-micro",
...
     }]

bodyContentURLEncoded = urllib.urlencode(bodyContent)
http.request(uri=url, method="POST", body=body)


0 commentaires

5 Réponses :


2
votes

lisibilité \ facile d'utilisation \ authentification manipulée pour vous \ Pas besoin d'être codeur \ etc. Il peut y avoir de nombreux avantages, cela dépend vraiment de la façon dont vous le regardez. Cela dépend de votre fond \ Outils que vous utilisez.

Il pourrait être plus avantageux d'utiliser Python tout le chemin pour vous spécifiquement.


0 commentaires

1
votes

Il est plus facile d'utiliser des modèles et vous obtenez beaucoup de fonctionnalités intégrées telles que l'exécution d'une validation sur votre modèle pour numériser les vulnérabilités de sécurité et similaires. Vous pouvez également supprimer facilement votre infra à l'aide du même modèle que vous le créez. FWIW, je suis allé tout le chemin avec des modèles et je fais autant que possible avec des modèles et des unités plus petites. Cela facilite la déploiement d'une partie de l'infra ou de la dupliquer à un autre projet, en utilisant un pipeline dans Gitlab pour le déployer par exemple.


4 commentaires

WAT, Supprimer une infrastructure avec modèle?


@ 4C74356B41 Oui, cela fonctionne mieux pour "Undépendance" de la CLI que de la supprime manuellement docs.aws.amazon.com/cli/latest/reference/cloudformation/...


Ah, je pensais à Azure, vous ne pouvez pas faire ça


@ 4C74356B41 En AWS Il arrive qu'une pile soit bloquée pendant la suppression si nous le faisons de la console, puis nous devons attendre 40 minutes pour un délai d'attente. Nous avons eu plus de succès avec la suppression de piles comme nous le déployant à partir de la ligne de commande. Notamment, cela se produit très rarement avec Google Cloud lorsqu'un déploiement est presque toujours supprimé par la pression d'un bouton de la console UI. Cela pourrait être dû à la manière dont les dépendances entre «piles» sont traitées dans AWS et que les déploiements de nos comptes AWS ont plus de dépendances. J'ouvre l'excellent exemple comment je le fais gitlab.com/montao/aws-lambda -go-gitlab-SLS



0
votes

L'appel de modèle et d'API a ses propres avantages. Il y a toujours un compromis entre les deux options. Si vous souhaitez plus de flexibilité dans le déploiement, l'appel de l'API vous convient mieux. D'autre part, si la garantie et la révision complète sont votre priorité, le modèle doit être votre choix. Les détails peuvent être trouvés dans ce Documentation en ligne . < / p>


0 commentaires

1
votes

La raison d'utiliser des modèles sur les appels API est que les modèles peuvent être utilisés dans des cas d'utilisation dans lesquels un résultat déterministe est requis.


0 commentaires

0
votes

Lorsque vous utilisez un modèle, l'orchestration du déploiement est gérée par la plate-forme. Lorsque vous utilisez des appels d'API (ou d'autres approches impératives), vous devez gérer l'orchestration.


0 commentaires