Passa al contenuto principale

Funzionalità di AWS CodeDeploy

Perché dovrei scegliere CodeDeploy?

AWS CodeDeploy è un servizio che permette di automatizzare l'implementazione di applicazioni in un'ampia gamma di servizi di elaborazione, tra cui Amazon Elastic Compute Cloud (Amazon EC2), AWS Fargate, AWS Lambda e le istanze eseguite on-premises. CodeDeploy automatizza completamente l'implementazione delle applicazioni eliminando la necessità di operazioni manuali. CodeDeploy protegge le applicazioni dai tempi di inattività durante le operazioni di distribuzione grazie agli aggiornamenti continui e al rilevamento dell'integrità dell'implementazione. CodeDeploy fornisce un controllo centralizzato delle implementazioni tramite la Console di gestione AWS, l'Interfaccia della linea di comando AWS (AWS CLI), gli SDK o le API, consentendoti di avviare, controllare e monitorare le implementazioni. È possibile visualizzare i singoli eventi di configurazione relativi all'avanzamento delle distribuzioni. CodeDeploy tiene traccia e conserva lo storico recente delle distribuzioni, per consultare una cronologia delle distribuzioni e delle relative modifiche.

CodeDeploy è indipendente dalla piattaforma e dal linguaggio e può essere usata con qualsiasi applicazione, permettendo di riutilizzare il codice di configurazione esistente. Inoltre la distribuzione di applicazioni può essere facilmente integrata nei processi di distribuzione di software o nella toolchain di distribuzione continua esistenti utilizzando le API CodeDeploy.

Distribuzioni automatizzate

Apri tutto

L'implementazione di un'applicazione può essere facilmente ripetuta su diversi gruppi di istanze con CodeDeploy. CodeDeploy utilizza un modello di installazione basato su file e comandi che consente di implementare qualunque applicazione e di riutilizzare il codice di configurazione esistente. Lo stesso codice di configurazione può essere impiegato per ottenere distribuzioni e testare aggiornamenti in modo coerente in tutte le diverse fasi di distribuzione, testing e produzione per istanze Amazon EC2. L'eliminazione di interventi manuali dalle fasi del processo di implementazione ne aumenta la rapidità e l'affidabilità.

CodeDeploy permette di integrare l'implementazione di software e attività di dimensionamento per mantenere l'applicazione sempre aggiornata in ambienti di produzione dinamici. Per le istanze Amazon EC2, CodeDeploy si integra con Auto Scaling. Auto Scaling permette di scalare automaticamente la capacità di Amazon EC2 secondo condizioni personalizzate, ad esempio i picchi di traffico. CodeDeploy riceve una notifica ogni volta che una nuova istanza viene avviata in un gruppo Auto Scaling ed eseguirà automaticamente una distribuzione dell'applicazione sulla nuova istanza prima che venga aggiunta a un load balancer Elastic Load Balancing (ELB).

Tempi di inattività ridotti al minimo

Apri tutto

Con CodeDeploy, l'aggiornamento di un'applicazione a una nuova revisione non comporta tempi di inattività. AWS CodeDeploy può eseguire distribuzioni blu/verdi su istanze Amazon EC2, un servizio Amazon Elastic Container Service (Amazon ECS) (entrambi i tipi di lancio Amazon EC2 e Fargate) o una funzione Lambda. Con una distribuzione blue/green la nuova versione dell'applicazione viene lanciata insieme alla vecchia versione. Quando la revisione è stata testata ed è pronta, CodeDeploy può spostare il traffico dalla versione precedente alla nuova versione, in base alle tue specifiche.

Il servizio è in grado di applicare un aggiornamento su un gruppo di istanze Amazon EC2 interrompendone solo una piccola parte alla volta. CodeDeploy avanza progressivamente nelle istanze permettendo alle applicazioni di rimanere disponibili e continuare a essere utilizzate per il traffico. Per quanto riguarda le funzioni Lambda, il traffico in entrata sarà gradualmente instradato dalla versione precedente a quella nuova.

Il rilevamento dell'integrità dell'implementazione opera in sinergia con gli aggiornamenti continui e consente di mantenere elevata la disponibilità delle applicazioni durante le attività di implementazione. Possono verificarsi tempi di inattività nel caso in cui vengano distribuiti aggiornamenti con errori. CodeDeploy monitora l'implementazione e la interromperà se si verifica un numero eccessivo di errori.

Un'implementazione in corso può essere interrotta in qualunque momento tramite la console, AWS CLI o un SDK AWS. Se si desidera riprendere in un secondo momento l'implementazione interrotta, è sufficiente implementare nuovamente la revisione. Inoltre, è possibile eseguire un rollback immediato implementando nuovamente la revisione precedente.

Controllo centralizzato

Apri tutto

È possibile avviare, controllare e monitorare le implementazioni di software direttamente dalla console o tramite AWS CLI, gli SDK o le API di AWS. In caso di errori, è possibile contrassegnare lo script che li provoca. Puoi anche impostare notifiche push che ti consentono di monitorare lo stato delle tue distribuzioni tramite SMS o messaggi e-mail tramite Amazon Simple Notification Service (Amazon SNS).

Un'applicazione può essere distribuita su più gruppi di distribuzione. I gruppi di distribuzione sono utilizzati per far corrispondere una determinata configurazione a un ambiente preciso, ad esempio ambienti temporanei o di produzione. Una revisione può essere testata in un ambiente temporaneo e poi distribuita in produzione quando è ritenuta sicura e adatta.

CodeDeploy tiene traccia e conserva la cronologia recente delle implementazioni. Permette di visualizzare quali versioni dell'applicazione sono attualmente distribuite in ciascuno dei gruppi di distribuzione di destinazione. È possibile esaminare lo storico delle modifiche e i tassi di successo delle distribuzioni precedenti in gruppi di distribuzione specifici. È anche possibile consultare una cronologia delle ultime distribuzioni per individuare quelle andate a buon fine e gli eventuali errori.

Adozione semplificata

Apri tutto

CodeDeploy utilizza un modello di installazione basato su file e comandi che consente di implementare qualunque applicazione e di riutilizzare il codice di configurazione esistente. CodeDeploy utilizza un singolo file di configurazione AppSpec che puoi utilizzare per eseguire azioni, test o verifiche in ogni evento del ciclo di vita (fase di distribuzione). I comandi possono essere composti da qualsiasi codice, ad esempio uno script di shell, da un programma personalizzato o anche da uno strumento di gestione della configurazione.

Grazie alle API CodeDeploy, integrare l'implementazione di applicazioni con una toolchain di distribuzione software esistente è semplice.  AWS CodePipeline e alcuni partner AWS forniscono integrazioni CodeDeploy predefinite per servizi di integrazione continua e distribuzione continua (CI/CD), semplificando la distribuzione automatica dell'applicazione aggiornata.

Ricevi notifiche

Apri tutto

È possibile creare notifiche per eventi che incidono sulle distribuzioni. Le notifiche avranno il formato delle notifiche di Amazon SNS. Ogni notifica include un messaggio sullo stato e un link alle risorse il cui evento ha generato la notifica in questione.