Upload
cloud-aws
View
29
Download
0
Embed Size (px)
Citation preview
Community - Cloud AWS su Google+
Amazon Web Services
cloud-aws.com
Amazon CodeDeploy
Hangout 35 del 02.01.2015
● Davide Riboldi● Massimo Della Rovere
Gestione di una distribuzione software in ambito di Cloud Computing completamente automatizzata
#cloudaws
Amazon CodeDeploy - Introduzione
● AWS CodeDeploy permette la gestione di rilasci software in modo più sicuro rispetto al metodo tradizionale. Il servizio permette di eseguire un rilascio in modo semplice sia se parliamo di una sola istanza EC2 che di mille.
● Infatti, come vedremo meglio in seguito, sarà possibile evitare fermi di servizio e rilasciare la nuova versione in maniera molto rapida e nello stesso tempo riducendo notevolmente gli errori causati dalle procedure manuali.
Amazon CodeDeploy - Introduzione
● Con questo servizio possiamo ottenere un controllo centralizzato che riguarda i rilasci di versione della nostra applicazione attraverso la management console, AWS CLI, le API e i diversi SDK rilasciati da Amazon.
● È possibile anche controllare l’avanzamento del rilascio in tempo reale e controllare lo storico dei rilasci precedenti (memorizzati dal servizio) per pianificare in maniera più efficace i tempi e il periodo giusto del nuovo rilascio.
Amazon CodeDeploy - Piattaforme
● AWS CodeDeploy è compatibile con Windows, Linux, etc e con qualsiasi applicazione. È possibile implementare nel proprio software tutte le azioni necessarie al rilascio.
● Il rilascio di una applicazione può contenere una serie di elementi, come ad esempio codice, file di configurazione, eseguibili, pacchetti software, script di sistema, etc, etc.
● Con il servizio di AWS CodeDeploy tutti questi elementi possono essere memorizzati sul servizio di Amazon S3 o su dei repository presenti in ambiente GitHub.
Amazon CodeDeploy - Schema
Amazon CodeDeploy - Schema
● (1) Sviluppo: preparare i file del rilascio e un AppSpec File, che include tutte le azioni da eseguire durante la fase del rilascio. È possibile inserire tutto in un’archivio unico e fare un upload su Amazon S3 o pubblicare tutto su un repository di GitHub.
● (2) Configurazione: in questa fase bisogna indicare al servizio tutte le informazioni del rilascio. Ad esempio se le specifiche stanno su Amazon S3 o GitHub. Bisognerà specificare anche il sistema target che identifica le istanze EC2 che devono far parte del rilascio.
● (3) Controllo: un agent di CodeDeploy presente su ogni partecipante al gruppo richiede le informazioni che riguardano il momento e le azioni da eseguire per il nuovo rilascio. Come vedremo è possibile implementare questa funzione anche con il servizio Auto Scaling.
● (4) Aggiornamento: ogni agente presente negli elementi target provvede ad aggiornare il proprio applicativo eseguendo le istruzioni presenti del file AppSpec e scaricandolo da un bucket di Amazon S3 o da un repository GitHub in base alla configurazione iniziale.
Amazon CodeDeploy - Configurazione
Dato che creare tutta la configurazione senza ancora aver provato il servizio può risultare un’operazione non immediata, Amazon ci viene incontro mettendo a disposizione nella
management console un’opzione che ci permette di avviare un’ambiente già configurato sia sotto piattaforma Linux che Windows da dove possiamo eseguire le nostre prove. La
configurazione iniziale sarà suddivisa in 8 passaggi di configurazione specifici.
Amazon CodeDeploy - Configurazione
Welcome Instance Setting Application Name
Revisions Deployment Group Service Role
Deploy Configuration Review
1 2 3
4 5 6
7 8
Amazon CodeDeploy - Risultato
Amazon CodeDeploy - Ringraziamenti & Video
Cloud Computing
Amazon Web Service 1
AmazonSNS
AmazonMFA
AmazonCloudFront
AmazonFree Trial
AmazonS3
AmazonGlacier
Amazon Web Service 2
ElasticTranscoder
Storagegateway
AmazonSES
AmazonCloudTrial
AmazonCloudWatch
AmazonSQS
AmazonDynamoDB
AmazonRDS
AmazonIAM
AmazonRoute 53
AmazonCloudSearch