AWS CodeDeploy è un servizio che permette di automatizzare la distribuzione di applicazioni per un'ampia gamma di servizi di elaborazione, ad esempio Amazon EC2, AWS Lambda e in esecuzione in locale. CodeDeploy automatizza completamente la distribuzione di applicazioni eliminando le operazioni manuali. CodeDeploy protegge l’applicazione dai tempi di inattività durante la distribuzione tramite aggiornamenti in sequenza e rilevamenti dell’integrità dell’implementazione. CodeDeploy fornisce un controllo centralizzato delle distribuzioni tramite la Console di gestione AWS, la CLI, gli SDK o le API permettendo di avviare, controllare e monitorare le distribuzioni. È possibile visualizzare i singoli eventi di configurazione relativi all'avanzamento delle distribuzioni. CodeDeploy tiene traccia e conserva lo storico recente delle distribuzioni, per permettere indagini sulla timeline e lo storico delle modifiche delle distribuzioni passate.

Inizia a usare AWS gratis

Crea un account gratuito

Ricevi dodici mesi di accesso al piano gratuito di AWS e sfrutta le funzionalità di supporto di base di AWS, inclusi l'assistenza clienti 24x7x365, i forum di supporto e molto altro.
Visualizza i dettagli del piano gratuito di AWS »

AWS CodeDeploy non si basa su una piattaforma o un linguaggio specifici e funziona con qualsiasi applicazione, consentendo di riutilizzare il proprio 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.

CodeDeploy_Header

Con AWS CodeDeploy, è possibile ripetere con la massima semplicità la distribuzione di applicazioni su diversi gruppi di istanze o funzioni AWS Lambda. CodeDeploy utilizza un modello di installazione basato su file e comandi che consente di distribuire qualunque applicazione e riutilizzare il codice di configurazione esistente. Lo stesso codice utilizzato per la 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 o funzioni Lambda. L'eliminazione delle fasi che richiedono un intervento manuale dalle distribuzioni ne aumenta la rapidità e l'affidabilità.

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. Per AWS Lambda, le risorse delle funzioni vengono ricalibrate automaticamente in risposta alla variazioni del traffico, integrando CodeDeploy per garantire la distribuzione del codice più recente.

Puoi utilizzare AWS CodeDeploy 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). Questo ti consente di utilizzare un solo servizio per distribuire applicazioni in modo uniforme su architetture ibride.

Con AWS CodeDeploy, le applicazioni non necessitano tempi di inattività durante gli aggiornamenti a una nuova revisione. CodeDeploy può applicare un aggiornamento su un gruppo di istanze Amazon EC2 interrompendone solo una piccola parte alla volta. Il servizio opererà progressivamente sulle nuove istanze garantendo la continua disponibilità e operatività delle applicazioni. Per quanto riguarda le funzioni AWS Lambda, il traffico in entrata sarà gradualmente instradato dalla versione precedente a quella nuova.

AWS CodeDeploy può anche eseguire distribuzioni blue/green, nelle quali viene effettuato il provisioning e viene installato un nuovo gruppo di istanze con l'ultima revisione. Quando la nuova revisione è stata installata sulle nuove istanze, CodeDeploy reindirizza il traffico dalle istanze di produzione alle nuove istanze. Tutti gli aggiornamenti relativi ad AWS Lambda sono blue/green, perché non sono presenti istanze da allocare.

Il rilevamento dell’integrità dell’implementazione funziona insieme agli aggiornamenti in sequenza per mantenere una disponibilità elevata delle applicazioni durante le distribuzioni. Se vengono distribuiti aggiornamenti errati, può verificarsi un tempo di inattività. AWS CodeDeploy monitora la distribuzione e la interromperà se si verifica un numero eccessivo di errori.

La distribuzione di un’applicazione in corso può essere interrotta in qualunque momento utilizzando la Console di gestione AWS, la CLI di AWS o qualunque SDK di AWS. La revisione può essere semplicemente distribuita nuovamente se si vuole continuare la distribuzione interrotta più tardi. Si può anche effettuare un rollback immediato ridistribuendo la revisione precedente.

È 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. Inoltre puoi impostare notifiche push che ti permettono di osservare lo stato delle tue distribuzioni tramite SMS o messaggi email con Amazon Simple Notification Service.

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.

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

AWS CodeDeploy utilizza un file e un modello di installazione basato su comandi che consente di distribuire qualunque applicazione e riutilizzare il codice di configurazione esistente. CodeDeploy usa un file di configurazione AppSpec per mappare i file di applicazione o specificare le funzioni AWS Lambda da aggiornare. È possibile utilizzare il file AppSpec per eseguire azioni, test o verifiche di ciascun evento del ciclo di vita o fase della distribuzione. I comandi possono essere in qualunque codice, come uno script della shell, un programma personalizzato o anche uno strumento di gestione di configurazione.

Con le API AWS CodeDeploy, è facile integrare la distribuzione di applicazioni con la tua toolchain di distribuzione di software. È 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.