AWS CodeDeploy è un servizio che permette di automatizzare la distribuzione di applicazioni in un'ampia gamma di servizi di elaborazione, tra cui Amazon EC2, AWS Fargate, AWS Lambda e le istanze eseguite in locale. CodeDeploy automatizza completamente la distribuzione di applicazioni eliminando le 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. Inoltre, fornisce un controllo centralizzato delle distribuzioni tramite Console di gestione AWS, interfaccia a riga di comando, kit SDK e API consentendo avvio, controllo e monitoraggio delle distribuzioni. È 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.
AWS CodeDeploy non si basa su una sintassi o su una piattaforma specifiche e può essere utilizzata con qualsiasi applicazione, riutilizzando 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.
Distribuzione automatica delle istanze
Distribuzioni ripetibili
La distribuzione di un'applicazione può essere facilmente ripetuta su diversi gruppi di istanze con AWS CodeDeploy. CodeDeploy utilizza un modello di installazione basato su file e comandi che consente di distribuire 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 distribuzione ne aumenta la rapidità e l'affidabilità.
Scalabilità automatica
AWS CodeDeploy permette di integrare distribuzione 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 ricalibrare automaticamente la capacità di EC2 secondo condizioni personalizzate, ad esempio i picchi di traffico. CodeDeploy riceve una notifica ogni volta che viene avviata una nuova istanza in un gruppo Auto Scaling ed esegue automaticamente la distribuzione dell'applicazione sulla nuova istanza prima che venga aggiunta a un sistema di bilanciamento del carico Elastic Load Balancing.
Distribuzioni in locale
AWS CodeDeploy può essere utilizzato per automatizzare le distribuzioni di software su diversi ambienti di sviluppo, test e produzione in esecuzione su qualunque istanza, incluse le istanze nei data center (che dovranno potersi connettere agli endpoint pubblici di AWS). In questo modo, è possibile utilizzare un solo servizio per distribuire applicazioni in modo uniforme su architetture ibride.
Tempi di inattività ridotti al minimo
Aggiornamenti in sequenza e blue/green
Con AWS CodeDeploy, non è necessario interrompere l'attività di un'applicazione durante l'aggiornamento a una nuova revisione. AWS CodeDeploy può eseguire distribuzioni blue/green su istanze Amazon EC2, su un servizio Amazon EC2 (sia tipi di lancio EC2 che AWS Fargate) o su una funzione AWS 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 ricevere traffico. Per quanto riguarda le funzioni AWS Lambda, il traffico in entrata sarà gradualmente instradato dalla versione precedente a quella nuova.
Rilevamento dell'integrità dell'implementazione
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 distribuzione. Possono verificarsi tempi di inattività nel caso in cui vengano distribuiti aggiornamenti con errori. AWS CodeDeploy monitora la distribuzione e la interromperà se si verifica un numero eccessivo di errori.
Arresto e rollback
Una distribuzione in corso può essere interrotta in qualunque momento tramite Console di gestione AWS, interfaccia a riga di comando o uno dei kit SDK AWS. La revisione potrà essere distribuita nuovamente se si desidera proseguire in un secondo momento la distribuzione interrotta. Inoltre, è possibile eseguire un rollback immediato ridistribuendo la revisione precedente.
Controllo centralizzato
Monitoraggio e controllo
È possibile avviare, controllare e monitorare le distribuzioni di software direttamente dalla Console di gestione AWS o utilizzando l'interfaccia a riga di comando, i kit SDK o le API di AWS. In caso di errori, è possibile contrassegnare lo script che li provoca. È anche possibile impostare notifiche push che permettono di monitorare lo stato delle distribuzioni tramite SMS o e-mail utilizzando Amazon Simple Notification Service.
Gruppi di distribuzione
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.
Storico delle distribuzioni
AWS CodeDeploy tiene traccia e conserva lo storico recente delle distribuzioni. 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
Non basato su sintassi o architetture specifiche
AWS CodeDeploy utilizza un file e un modello di installazione basato su comandi che consente di distribuire qualunque applicazione e di riutilizzare il codice di configurazione esistente. CodeDeploy utilizza un solo file di configurazione AppSpec per eseguire azioni, test o verifiche per ciascun evento nel ciclo di vita o fase della 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.
Integrazione di toolchain
Grazie alle API AWS CodeDeploy, integrare la distribuzione di applicazioni con una toolchain di distribuzione software esistente è semplice. È possibile ottenere integrazioni preconfigurate di CodeDeploy da AWS CodePipeline, AWS CodeStar e da alcuni partner AWS per servizi di integrazione e distribuzione continue, che semplificheranno la distribuzione e l'aggiornamento di applicazioni.
Ricevi notifiche
Riesamina gli eventi definiti
È possibile creare notifiche per eventi che incidono sulle distribuzioni. Le notifiche avranno il formato di quelle di Amazon SNS. Ogni notifica include un messaggio sullo stato e un link alle risorse il cui evento ha generato la notifica in questione.
Ulteriori informazioni sui prezzi di AWS CodeDeploy