Oltre agli strumenti open source, diversi fornitori di servizi cloud forniscono i loro strumenti nativi cloud per implementare le pratiche DevOps sul cloud. Questo articolo descrive diversi strumenti e tecnologie fornite da AWS per implementare DevOps su AWS.
CODECMIT AWS
AWS CodeCommit è un servizio utilizzato per il controllo della versione e ospitato da AWS. Proprio come altri servizi di controllo della versione come Github, Bitbucket e Gitlab, il codice sorgente può essere spinto a repository privati in Codecommit. Non ci sono repository pubblici su AWS CodeCommit.
AWS CodeCommit è un servizio altamente disponibile, sicuro e scalabile utilizzato per ospitare repository di codice privato. Utilizzando il codecommit AWS, non è necessario aggiornare il servizio se i tuoi repository aumentano oltre un limite. Si ridimensiona automaticamente con l'aumento del numero di repository o dimensioni del repository.
Di seguito è riportato l'elenco di alcuni vantaggi forniti dal servizio CodeCommit AWS.
La console CODECMIT AWS fornisce un'interfaccia utente grafica amichevole per visualizzare richieste, commetti, filiali e tag GIT. I repository di CodeCommit possono essere clonati utilizzando URL SSH e HTTPS.
Nelle impostazioni del repository CodeCommit, è possibile abilitare le notifiche e i trigger di avvisare quando si verifica un evento specifico (creare un ramo, eliminare un ramo, su richiesta pull).
AWS CodeBuild
AWS CodeBuild è un servizio completamente gestito utilizzato per eseguire test, costruire il codice e generare artefatti di build dal codice. Utilizzando AWS CodeBuild, non è necessario fornire un server di build extra per creare il codice sorgente. Fornisce ambienti preconfigurati per la maggior parte dei linguaggi di programmazione popolari come Python, Java, Nodejs e Build Strumenti come Maven, NPM e Gradle. Puoi anche creare i tuoi ambienti personalizzati per creare il tuo progetto utilizzando AWS CodeBuild.
AWS CodeBuild è un servizio senza server e ti viene addebitato solo quando una build è in esecuzione. In questo modo, puoi risparmiare denaro per un server extra per la costruzione dei progetti. Di seguito sono riportati alcuni vantaggi dell'utilizzo del servizio CodeBuild di AWS.
AWS CodeBuild può essere integrato con diversi servizi di fornitore di codice sorgente per recuperare il codice. Puoi recuperare il codice da GitHub, Bitbucket, GitHub Enterprise, CodeCommit e S3. Inoltre, è possibile configurare il servizio CodeBuild per inviare i registri di build ai registri CloudWatch che possono aiutare a diagnosticare gli errori di build. Per comunicare con CloudWatch, AWS CodeBuild ha bisogno di un ruolo IAM con autorizzazioni specifiche.
AWS Codedeploy
AWS CodeDeploy è un servizio completamente gestito fornito da AWS per distribuire l'applicazione pre-costruita a diversi servizi di calcolo come Server EC2, AWS Lambda, AWS ECS e on-premise. Il servizio AWS Codedeploy può distribuire automaticamente il seguente tipo di contenuto.
AWS Codedeploy è un servizio senza server e ti viene addebitato solo quando una distribuzione è in esecuzione e il resto del tempo non ti viene addebitato. Proprio come AWS CodeBuild, AWS CodeDeploy elimina anche la necessità di provvedere a un server extra a fini di distribuzione. Di seguito sono riportati alcuni vantaggi dell'utilizzo del servizio AWS Codedeploy.
AWS CodePipeline
AWS CodePipeline è un servizio utilizzato per visualizzare una pipeline CICD completa utilizzando un'interfaccia utente grafica amichevole. Crea una bella GUI di una pipeline combinando diversi servizi come AWS CodeCommit, AWS CodeBuild, AWS Codedeploy. Semplifica il processo di rilascio del software visualizzando ogni fase della pipeline.
Quando uno sviluppatore spinge il codice al codeCommit, il codepipeline, se opportunamente configurato, risale al nuovo codice e passa il codice più recente al servizio CodeBuild AWS per eseguire test e costruire artefatti del codice. Dopo aver costruito i manufatti, questi artefatti vengono passati al servizio AWS Codedeploy per distribuire l'ultima versione dell'applicazione al server.
Tutti questi passaggi possono essere visualizzati e integrati tra loro nel servizio CodePipeline. Durante la distribuzione del codice dalla messa in scena in un ambiente di produzione, è possibile aggiungere una fase di approvazione manuale utilizzando AWS CodePipeline. Al fine di distribuire il codice nell'ambiente di produzione, qualcuno con autorizzazioni specifiche deve approvare la distribuzione. Evita di implementare un commit non autentico per la produzione, che può rompere l'ambiente di produzione.
AWS Codeguru
Amazon Codeguru è un servizio fornito da AWS per rivedere il codice sorgente. AWS Codeguru utilizza l'apprendimento automatico e l'analisi del programma per rivedere il codice sorgente e trovare i potenziali difetti nel codice. Dopo aver trovato i difetti nel codice sorgente, AWS Codeguru fornisce suggerimenti per risolvere questi difetti per i linguaggi di programmazione Java e Python.
Attualmente, AWS Codeguru supporta solo i linguaggi di programmazione Java e Python e può leggere il codice sorgente dai seguenti provider di origine.
Conclusione
Esistono diversi servizi di nativi cloud AWS che possono essere utilizzati per creare una pipeline CICD completa. Il principale vantaggio dell'utilizzo dei servizi proprietari di AWS è che questi servizi sono servizi senza server gestiti e interagiscono tra loro privatamente. Esistono diversi servizi per l'archiviazione del codice sorgente (CODECOMMIT AWS), costruendo ed eseguendo test sul codice (AWS CodeBuild), distribuendo il codice su server (AWS Codedeploy) su AWS. Tutti questi servizi possono essere integrati tra loro per creare una pipeline completa utilizzando il servizio AWS CodePipeline. Questo articolo fornisce una breve comprensione di tutti questi servizi AWS per implementare le pratiche DevOps su AWS.