Infrastructure en tant que code - AWS Directives prescriptives

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Infrastructure en tant que code

À mesure que les systèmes d'IA sans serveur évoluent, la complexité du provisionnement, de la gestion et de l'évolution de l'infrastructure cloud augmente rapidement. La configuration manuelle des AWS Lambda fonctions APIs, des agents Amazon Bedrock, des rôles IAM et des machines d'état est sujette aux erreurs, non reproductible et non conforme à grande échelle.

L'infrastructure en tant que code (IaC) est la discipline fondamentale qui garantit que tous les composants de l'infrastructure sont les suivants :

  • Version contrôlée

  • Répétable dans tous les environnements

  • Auditable et révisable

  • Modulaire et testable

En adoptant l'IaC, les entreprises accèdent non seulement à l'automatisation, mais aussi à la gouvernance, à la rapidité et à la résilience dans le déploiement et l'exploitation de charges de travail basées sur l'IA sans serveur.

Services AWS pour le déploiement iAc de l'IA sans serveur sur AWS

Les outils suivants Services AWS et tiers prennent en charge le déploiement de l'IA sans serveur sur AWS iAC. AWS CloudFormation AWS CDK, et AWS SAM fournissent des AWS fonctionnalités natives pour le déploiement de l'infrastructure. HashiCorpTerraformpropose une solution tierce populaire. Chacune présente des avantages distincts et est adaptée aux différents besoins des équipes et aux différents cas d'utilisation.

CloudFormation

CloudFormationest un service IaC déclaratif natif qui vous permet de définir une infrastructure sous forme de modèles JSON ou YAML structurés.

Les points forts de CloudFormation sont les suivants :

  • Très stable et mature, largement compatible avec tous Services AWS

  • Détection de recul et de dérive intégrée

  • Les piles gérées et les ensembles de modifications permettent des déploiements plus sûrs

  • Directement pris en charge dans le AWS Management Console pour le suivi visuel

CloudFormation est idéal pour les exigences suivantes :

  • Les équipes qui ont besoin de modèles explicites et vérifiables avec un contrôle précis

  • Environnements réglementaires dans lesquels la traçabilité du code est obligatoire

  • Environnements dans lesquels les DevOps pipelines appliquent des flux de travail de promotion stricts

AWS CDK

AWS Cloud Development Kit (AWS CDK)Il s'agit d'un framework open source. Avec le AWS CDK, vous pouvez définir une AWS infrastructure en utilisant des langages de programmation familiers tels que TypeScriptPython,Java, ou C#.

Ses points forts AWS CDK sont les suivants :

  • Hybride impératif et déclaratif qui prend en charge l'utilisation de boucles, de conditionnels et d'abstractions dans le code

  • Disponibilité de nombreuses constructions et modèles réutilisables

  • Plus facile à adopter pour les développeurs (approche axée sur le code)

  • Permet des déploiements multi-environnements avec des piles respectueuses de l'environnement

AWS CDK Il est idéal pour les exigences suivantes :

  • Des équipes dotées de solides compétences en génie logiciel

  • Cas d'utilisation nécessitant une génération d'infrastructure dynamique

  • Projets impliquant la réutilisation des constructions, la personnalisation et l'itération rapide

AWS SAM

AWS Serverless Application Model (AWS SAM) est une CloudFormation extension optimisée pour définir des applications sans serveur telles que Lambda, Amazon API Gateway et. AWS Step Functions

Les points forts de AWS SAM sont les suivants :

  • Syntaxe minimale idéale pour les pipelines basés sur Lambda

  • Support natif pour l'émulation et le débogage locaux

  • Interface de ligne de commande (CLI) intégrée qui simplifie les flux de travail de déploiement, de test et de paquetage

AWS SAM est idéal pour les exigences suivantes :

  • Projets de petite ou moyenne envergure principalement axés sur Lambda, API Gateway et Amazon Bedrock

  • Les équipes qui souhaitent des modèles simples basés sur YAML avec intégration continue intégrée et support de déploiement continu (CI/CD)

Terraform

HashiCorp Terraformest un outil IaC qui vous aide à utiliser du code pour provisionner et gérer l'infrastructure et les ressources du cloud.

Les points forts de Terraform sont les suivants :

  • Un vaste écosystème de AWS fournisseurs, idéal pour les scénarios multicloud

  • Gestion enrichie des états et résolution des graphes de dépendance

  • Populaire dans les entreprises qui ont une culture DevOps axée sur les priorités et qui utilisent GitOps des flux de travail

Terraformest idéal pour les exigences suivantes :

  • Équipes ayant déjà Terraform investi

  • Déploiements multicloud ou services AWS natifs intégrés à des outils SaaS

  • Organisations qui se normalisent Terraform pour garantir la cohérence entre les équipes

Bonnes pratiques pour l'IaC dans les projets d'IA sans serveur

Lorsque vous implémentez l'IaC dans des projets d'IA sans serveur, tenez compte des meilleures pratiques suivantes et de leur importance :

  • Contrôle complet des versions : garantit la reproductibilité, permet le rollback et prend en charge l'approbation des modifications via Git.

  • Utilisez des piles spécifiques à l'environnement : séparez clairement les déploiements de développement, de test et de production. Empêche la contamination croisée accidentelle.

  • Modularisation de l'infrastructure : encourage la réutilisation, accélère l'intégration et réduit la portée des modifications (par exemple, un module pour Amazon Bedrock Agents et un autre module pour les EventBridge règles).

  • Utiliser le paramétrage et les balises : active le comportement dynamique de la pile et le suivi des coûts. Améliore l'observabilité dans le domaine de la facturation et sur Amazon CloudWatch.

  • Intégrer l'iAC dans le CI/CD : automatise les mises à jour de l'infrastructure lors des déploiements, garantissant ainsi la synchronisation de l'application et de l'infrastructure.

  • Appliquer la validation et le linting du schéma : prévient les erreurs de déploiement et assure la cohérence des contributions de l'équipe.

  • Mettre en œuvre la détection des dérives et les pistes d'audit : permet de garantir que l'infrastructure correspond aux définitions attendues et simplifie les examens de conformité (par exemple, en utilisant la détection des CloudFormation dérives ou la validation de l'état Terraform).

Exemple : déploiement versionné d'un assistant d'intelligence artificielle sans serveur

L'utilisation de AWS CDK ou CloudFormation, un assistant d'assistance fourni par Amazon Bedrock peut inclure les éléments suivants :

  • Un point de terminaison API Gateway

  • Un agent Amazon Bedrock doté de trois outils basés sur Lambda

  • Une base de connaissances qui fait référence aux documents Amazon S3

  • Un flux de travail Step Functions pour les solutions de repli et la gestion des erreurs

  • Infrastructure de journalisation et d'observabilité, telle que CloudWatch ou AWS X-Ray

Avec IaC, tous ces éléments sont définis dans un référentiel, promus via CI/CD et étiquetés de version à chaque déploiement. Cette approche assure une traçabilité complète, une auditabilité et un retour en arrière si nécessaire.

Résumé du déploiement de l'IA sans serveur via iAC

L'IaC pour les systèmes d'IA sans serveur de niveau entreprise est la base qui transforme l'expérimentation en production, donnant aux entreprises l'assurance que leur infrastructure est :

  • Uniformité dans les environnements de développement, de test et de production

  • Gouvernable grâce à des mécanismes de politique, d'examen et d'audit

  • Évolutif au même rythme que l'adoption de l'IA

Qu'il soit utilisé AWS CDK pour des constructions dynamiques, CloudFormation pour des déploiements alignés sur des audits ou AWS SAM pour des pipelines ciblés, iAc est le plan de contrôle du cloud intelligent piloté par les événements.