Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
REL07-BP01 Utilizzo dell'automazione per l'acquisizione o il dimensionamento delle risorse
Una pietra miliare dell'affidabilità nel cloud è la definizione, il provisioning e la gestione programmatica dell'infrastruttura e delle risorse. L'automazione aiuta a semplificare il provisioning delle risorse, facilitare implementazioni coerenti e sicure e scalare le risorse sull'intera infrastruttura.
Risultato desiderato: gestisci infrastructure as code (IaC). Il codice dell'infrastruttura viene definito e gestito nei sistemi di controllo delle versioni (VCS). Deleghi il provisioning delle risorse AWS a meccanismi automatici e sfrutti i servizi gestiti come Application Load Balancer (ALB), Network Load Balancer (NLB) e i gruppi Auto Scaling. Il provisioning delle risorse si avvale di pipeline di integrazione continua/distribuzione continua (CI/CD) in modo che le modifiche al codice avviino automaticamente gli aggiornamenti delle risorse, inclusi gli aggiornamenti delle configurazioni di dimensionamento automatico.
Anti-pattern comuni:
-
Distribuisci le risorse manualmente utilizzando la riga di comando o la AWS Management Console (conosciuto anche come ClickOps).
-
Accoppi strettamente i componenti o le risorse dell'applicazione, creando di conseguenza architetture poco flessibili.
-
Implementi policy di dimensionamento rigide che non si adattano ai requisiti aziendali in evoluzione, ai modelli di traffico o ai nuovi tipi di risorse.
-
Esegui la stima manuale della capacità di soddisfare la domanda prevista.
Vantaggi della definizione di questa best practice: l'infrastructure as code (IaC) consente di definire l'infrastruttura a livello di programmazione. Questo aiuta a gestire le modifiche all'infrastruttura attraverso lo stesso ciclo di vita dello sviluppo software delle modifiche all'applicazione, favorendo la coerenza e la ripetibilità e riducendo il rischio di attività manuali soggette a errori. Il processo di provisioning e aggiornamento delle risorse può essere semplificato ulteriormente implementando IaC con pipeline di distribuzione automatiche. È possibile implementare gli aggiornamenti dell'infrastruttura in modo affidabile ed efficiente, senza bisogno di interventi manuali. Questa agilità è particolarmente importante quando si tratta di scalare le risorse per soddisfare richieste fluttuanti.
È possibile ottenere una scalabilità dinamica e automatizzata delle risorse in combinazione con IaC e pipeline di distribuzione. Monitorando le metriche chiave e applicando policy di dimensionamento predefinite, il dimensionamento automatico è in grado di effettuare automaticamente il provisioning o il deprovisioning delle risorse secondo necessità, migliorando le prestazioni e l'efficienza in termini di costi. In questo modo si riduce il potenziale di errori manuali o di ritardi in risposta alle modifiche dei requisiti delle applicazioni o del carico di lavoro.
La combinazione di IaC, pipeline di distribuzione automatizzate e dimensionamento automatico consente alle organizzazioni di effettuare il provisioning, l'aggiornamento e il dimensionamento dei propri ambienti in tutta tranquillità. Questa automazione è essenziale per mantenere un'infrastruttura cloud reattiva, resiliente e gestita in modo efficiente.
Livello di rischio associato se questa best practice non fosse adottata: elevato
Guida all'implementazione
Per configurare l'automazione con le pipeline CI/CD e infrastructure as code (IaC) per l'architettura AWS, scegli un sistema di controllo delle versioni come Git per archiviare i modelli e la configurazione IaC. Questi modelli possono essere scritti utilizzando strumenti quali AWS CloudFormation
Successivamente, integra questi modelli IaC con una pipeline CI/CD per automatizzare il processo di implementazione. AWS CodePipeline
Configura il dimensionamento automatico di risorse come istanze Amazon EC2, attività Amazon ECS e repliche di database nell'ambiente IaC per garantire aumento e riduzione orizzontale secondo necessità. Questo approccio migliora la disponibilità e le prestazioni delle applicazioni e ottimizza i costi regolando dinamicamente le risorse in base alla domanda. Per un elenco delle risorse supportate, consulta Amazon EC2 Auto Scaling e AWS Auto Scaling.
Passaggi dell'implementazione
-
Crea e utilizza un repository del codice sorgente per archiviare il codice che controlla la configurazione dell'infrastruttura. Esegui il commit delle modifiche a questo repository per riflettere eventuali modifiche in corso da apportare.
-
Seleziona una soluzione infrastructure as code (IaC) come AWS CloudFormation per mantenere l'infrastruttura aggiornata e rilevare le incoerenze (deviazione) rispetto allo stato previsto.
-
Integra la piattaforma IaC con la pipeline CI/CD per automatizzare le implementazioni.
-
Determina e raccogli le metriche appropriate per il dimensionamento automatico delle risorse.
-
Configura il dimensionamento automatico delle risorse utilizzando policy appropriate per aumentare orizzontalmente e ridurre orizzontalmente le risorse per i componenti del carico di lavoro. Considera l'utilizzo di un dimensionamento pianificato per modelli di utilizzo prevedibili.
-
Monitora le implementazioni per rilevare guasti e regressioni. Implementa meccanismi di ripristino dello stato precedente all'interno della piattaforma CI/CD per annullare le modifiche, se necessario.
Risorse
Documenti correlati:
Video correlati: