SlideShare uma empresa Scribd logo
1 de 41
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
AWSWebinar Series Brasil
Juliana Takeuchi
Arquiteta de Soluções - AWS
Automatize seu processo de entrega de software
com CI/CD na AWS
Como interagir durante o evento?
Você tem um projeto e
quer conversar com o
time comercial da
AWS?
Acesse o LIVE CHAT
neste QR code ou pelo
link enviado no chat do
evento.
Perguntas & Respostas ao
vivo durante todo o
evento
Tire suas dúvidas com os
especialistas da AWS!
Clique no símbolo “?” e
envie suas perguntas.
O que é DevOps?
… aumentam a capacidade de uma organização de fornecer
aplicações e serviços em alta velocidade
Cultura Práticas Ferramentas
O que é DevOps
• Objetivo global
• Times autônomos e empoderados
• Colaboração e Comunicação
• Foco na entrega de valor para o cliente
• Microserviços
• Integração/Entrega/Implantação Contínua
• Desenvolvimento Ágil
• Infra as a Code
• Automação
• Testes de Qualidade e Segurança
• Monitoramento
• Ferramentas de Infra as a Code
Cultura
Ferramentas
Práticas
• Microserviços
• Sair de uma arquitetura “monolíta” para a utilização de vários serviços
individualmente.
Práticas de DevOps
Práticas de DevOps
• Integração contínua
• Entrega & implantação contínua
Práticas de DevOps
• Infraestrutura como código
• Modele seus recursos AWS usando código
Práticas de DevOps
• Monitoramento e registro
• Rastrear e analisar métricas e logs
• Entenda o desempenho em tempo real de infraestrutura e aplicação
Confiabilidade
Velocidade
Escala
Entregas rápidas
Colaboração melhorada
Segurança
Benefícios de DevOps
CI/CD Tools Monitoring & Tracing
SDKs
JavaScript Python PHP .NET Ruby Java Go Node.js C++
IDE
IDE and DevOps Toolkits
Eclipse
IntelliJ PyCharm Visual Studio
Visual Studio
Code
VSTS
CLI and Scripting Tools
AWS CLI Tools for
PowerShell
Infrastructure as Code
AWS Cloud Dev.
Kit (CDK)
Web Apps
Mobile
AWS
Amplify
Amazon
Corretto
Languages
Conjunto abrangente de serviços e ferramentas
Pipelines CI/CD
O que é um pipeline?
Continuous integration
Continuous deployment
Continuous delivery
Source Build Test Deploy
Estratégias de branch
O que é Branch?
Integração Contínua
Push
Feedback
Tests
Integração Contínua é uma prática onde os desenvolvedores mesclam seu novo código no
repositório remoto regularmente.
Principais objetivos:
• Encontrar e resolver bugs rapidamente
• Melhorar a qualidade
• Reduzir o tempo entre desenvolver, validar e lançar
novos recursos.
Integração Contínua
Push
Feedback
Tests
1. Os desenvolvedores verificam
regularmente o código em um repositório
central compartilhado.
2. Verificações automatizadas são
executadas regularmente contra a base de
código compartilhado.
3. Desenvolvedores recebem feedback das
verificações automatizadas sobre seu
código
Integração contínua
Continuous Integration Continuous Delivery
2
Pull code to your git
local repository
3
1 Write code
Compile and run
unit tests locally
4
Push code to a git
remote repository
6
QualityTests
5 Triggers
Pipeline
Buid & Create Image
8
Push to Registry
9
7
SecurityTests
Fast Feedback
Continuous Integration
Entrega Contínua
Continuous Integration Continuous Delivery
2
Pull code to your git
local repository
3
1 Write code
Compile and run
unit tests locally
4
Push code to a git
remote repository
6
QualityTests
5 Triggers
Pipeline
Buid & Create Image
8
Push to Registry
9
Deploy to Dev
7
SecurityTests Deploy to QA Deploy to Prod
11 AutomatedTests
10 12
13 AutomatedTests
14
More confident
Continuous Delivery
Jornada DevOps
Conforme sua organização amadurece, ela continuará a desenvolver o modelo CI / CD para incluir mais das
seguintes melhorias:
• Mais ambientes de preparação para testes específicos
• Testes unitários de infraestrutura e código de configuração, juntamente com o código de aplicação
• Integração com outros sistemas e processos
• Integração com a migração do esquema de banco de dados (se aplicável)
• Etapas adicionais para auditoria e aprovação de negócios
Source Build Test Production
Ferramentas
de
terceiros
AWS CodeCommit AWS CodeBuild AWS CodeDeploy
AWS CodePipeline
Pipeline de software-release:
AWS
CodeBuild
AWS Code Services
AWS CodeCommit
AWS CodeCommit
• Um repositório git seguro, gerenciado e escalável
• Mesma ferramenta padrão Git
• Escalabilidade, disponibilidade e durabilidade do Amazon S3
• Criptografia em descanso usando customer Keys
• Tamanho de repositório ilimitado
• Post-commit triggers podem invocar Amazon SNS ou Lambda
AWS CodeCommit
Git pull/push
AWS CodeCommit
Git objects on
Amazon S3
Git index on
Amazon DynamoDB
Cryptography keys
on AWS KMS
SSH or HTTPS
Mantenha a mesma experiência com git
$ git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/aws-cli
Cloning into 'aws-cli'...
Receiving objects: 100% (16032/16032), 5.55 MiB | 1.25 MiB/s, done.
Resolving deltas: 100% (9900/9900), done.
Checking connectivity... done.
$ nano README.rst
$ git commit -am 'updated README'
[master 4fa0318] updated README
1 file changed, 1 insertion(+)
AWS CodeBuild
AWS CodeBuild
• Gerencie o servidor de compilação que compila código-fonte, execute
testes e construa pacotes de software
• Escala continuamente e processa vários builds em paralelo
• Você pode criar ambientes de compilação personalizados usando
imagens do Docker
• Pague apenas pelo que você usou
• Integração nativa com AWS CodePipeline e Jenkins
Como funciona?
1. Baixa o Código fonte
2. Executa os comandos definidos no arquivo buildspec usando containers temporários ( novos
containers são criados para cada build)
3. Envia os logs de build para a console e para oAmazon CloudWatch logs
4. Manda os artefatos do build para um bucket noAmazon S3.
Como automatizar o processo de compilação com o AWS
CodeBuild?
• AWS CodePipeline totalmente integrado para CI/CD
• Plug-and-play (API/CLI)
• Crie seu ambiente de compilação
• Crie imagens docker com suas ferramentas
• Plugin de código aberto Jenkins
• Use o AWS CodeBuild como um trabalhador mestre do Jenkins
Exemplo de arquivo buildspec.yml
version: 0.1
environment_variables:
plaintext:
JAVA_HOME: "/usr/lib/jvm/java-8-openjdk-amd64"
phases:
install:
commands:
- apt-get update -y
- apt-get install -y maven
pre_build:
commands:
- echo Nothing to do in the pre_build phase...
build:
commands:
- echo Build started on `date`
- mvn install
post_build:
commands:
- echo Build completed on `date`
artifacts:
type: zip
files:
- target/messageUtil-1.0.jar
discard-paths: yes
AWS CodeDeploy
AWS CodeDeploy
• Lida com a complexidade de atualizar aplicativos
• Evita a indisponibilidade durante o deploy
• Realiza rollback automático em caso de falha
• Deploy em Amazon EC2 ou servidores on-premises, usando qualquer
linguagem e qualquer sistema operacional
• Integra-se com ferramentas de terceiros e AWS
Exemplo de appspec.yml
version: 0.0
os: linux
files:
- source: /
destination: /var/www/html
permissions:
- object: /var/www/html
pattern: “*.html”
owner: root
group: root
mode: 755
hooks:
ApplicationStop:
- location: scripts/deregister_from_elb.sh
BeforeInstall:
- location: scripts/install_dependencies.sh
ApplicationStart:
- location: scripts/start_httpd.sh
ValidateService:
- location: scripts/test_site.sh
- location: scripts/register_with_elb.sh
Send application files to one directory
and configuration files to another
Set specific permissions on directories
and files.
Remove / add instances to Elastic Load
Balancing
Install dependency packages
Start Apache
Confirm deployment success
AWS CodePipeline
AWS CodePipeline
• Serviço de entrega contínua para atualizações rápidas e confiáveis de
aplicativos
• Modele e visualize seu processo de liberação de software
• Builds, tests, e deploys do código sempre que uma mudança ocorre
• Integra-se com ferramentas de terceiros e AWS
Source
Source
GitHub
Build
AWS CodeBuild
AWS CodeBuild
Deploy
JavaApp
AWS Elastic Beanstalk
Pipeline
Stage
Action
Transition
MyApplication
Build
AWS CodeBuild
AWS CodeBuild
Notify Developers
AWS Lambda
Ações paralelas
Source
Source
GitHub
MyApplication
Deploy
JavaApp
Elastic Beanstalk
Build
AWS CodeBuild
AWS CodeBuild
NotifyDevelopers
Lambda
Test API
Runscope
Ações sequenciais
Deploy
JavaApp
Elastic Beanstalk
Source
Source
GitHub
MyApplication
Build
AWS CodeBuild
AWS CodeBuild
Staging-Deploy
JavaApp
Elastic Beanstalk
Prod-Deploy
JavaApp
Elastic Beanstalk
QATeamReview
Manual Approval Aprovações manuais
Review
MyApplication
Obrigada!
Fique por dentro das
próximas sessões
Acesse a agenda de
webinars neste QR code
e inscreva-se!
QR CODE
Conte-nos o que achou
do webinar
Clique em “sair” para
responder uma rápida
pesquisa de satisfação.

Mais conteúdo relacionado

Mais procurados

DevSecOps Basics with Azure Pipelines
DevSecOps Basics with Azure Pipelines DevSecOps Basics with Azure Pipelines
DevSecOps Basics with Azure Pipelines Abdul_Mujeeb
 
보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집Amazon Web Services Korea
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAmazon Web Services LATAM
 
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeCI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeAmazon Web Services
 
CI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelCI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelAmazon Web Services
 
AWS CodeCommit, CodeDeploy & CodePipeline
AWS CodeCommit, CodeDeploy & CodePipelineAWS CodeCommit, CodeDeploy & CodePipeline
AWS CodeCommit, CodeDeploy & CodePipelineJulien SIMON
 
Getting Started with Amazon Inspector
Getting Started with Amazon InspectorGetting Started with Amazon Inspector
Getting Started with Amazon InspectorAmazon Web Services
 
[AWS Builders] AWS상의 보안 위협 탐지 및 대응
[AWS Builders] AWS상의 보안 위협 탐지 및 대응[AWS Builders] AWS상의 보안 위협 탐지 및 대응
[AWS Builders] AWS상의 보안 위협 탐지 및 대응Amazon Web Services Korea
 
Kubernetes #1 intro
Kubernetes #1   introKubernetes #1   intro
Kubernetes #1 introTerry Cho
 
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
Container based CI/CD on GitHub Actions
Container based CI/CD on GitHub ActionsContainer based CI/CD on GitHub Actions
Container based CI/CD on GitHub ActionsCasey Lee
 
Transforming Organizations with CI/CD
Transforming Organizations with CI/CDTransforming Organizations with CI/CD
Transforming Organizations with CI/CDCprime
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICDKnoldus Inc.
 
DEVOPS 에 대한 전반적인 소개 및 자동화툴 소개
DEVOPS 에 대한 전반적인 소개 및 자동화툴 소개DEVOPS 에 대한 전반적인 소개 및 자동화툴 소개
DEVOPS 에 대한 전반적인 소개 및 자동화툴 소개태준 문
 

Mais procurados (20)

Cómo empezar con Amazon EKS
Cómo empezar con Amazon EKSCómo empezar con Amazon EKS
Cómo empezar con Amazon EKS
 
DevSecOps Basics with Azure Pipelines
DevSecOps Basics with Azure Pipelines DevSecOps Basics with Azure Pipelines
DevSecOps Basics with Azure Pipelines
 
보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle Introduction
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeCI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
 
CI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelCI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day Israel
 
AWS CodeCommit, CodeDeploy & CodePipeline
AWS CodeCommit, CodeDeploy & CodePipelineAWS CodeCommit, CodeDeploy & CodePipeline
AWS CodeCommit, CodeDeploy & CodePipeline
 
Getting Started with Amazon Inspector
Getting Started with Amazon InspectorGetting Started with Amazon Inspector
Getting Started with Amazon Inspector
 
Gitlab ci-cd
Gitlab ci-cdGitlab ci-cd
Gitlab ci-cd
 
[AWS Builders] AWS상의 보안 위협 탐지 및 대응
[AWS Builders] AWS상의 보안 위협 탐지 및 대응[AWS Builders] AWS상의 보안 위협 탐지 및 대응
[AWS Builders] AWS상의 보안 위협 탐지 및 대응
 
Kubernetes #1 intro
Kubernetes #1   introKubernetes #1   intro
Kubernetes #1 intro
 
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
Container based CI/CD on GitHub Actions
Container based CI/CD on GitHub ActionsContainer based CI/CD on GitHub Actions
Container based CI/CD on GitHub Actions
 
Transforming Organizations with CI/CD
Transforming Organizations with CI/CDTransforming Organizations with CI/CD
Transforming Organizations with CI/CD
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
 
DEVOPS 에 대한 전반적인 소개 및 자동화툴 소개
DEVOPS 에 대한 전반적인 소개 및 자동화툴 소개DEVOPS 에 대한 전반적인 소개 및 자동화툴 소개
DEVOPS 에 대한 전반적인 소개 및 자동화툴 소개
 

Semelhante a Automatize seu processo de entrega de software com CI/CD na AWS

DevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasDevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasAmazon Web Services LATAM
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...Amazon Web Services
 
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAcelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAmazon Web Services LATAM
 
Melhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasMelhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasAmazon Web Services LATAM
 
DevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaDevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaAmazon Web Services LATAM
 
Webinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSWebinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSAmazon Web Services LATAM
 
CI CD best practices for building modern applications - MAD301 - São Paulo AW...
CI CD best practices for building modern applications - MAD301 - São Paulo AW...CI CD best practices for building modern applications - MAD301 - São Paulo AW...
CI CD best practices for building modern applications - MAD301 - São Paulo AW...Amazon Web Services
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122Bruno Souza
 
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...Dan El Pierre Rezende
 
TDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOps
TDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOpsTDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOps
TDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOpstdc-globalcode
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
Construindo pipelines com Azure DevOps
Construindo pipelines com Azure DevOpsConstruindo pipelines com Azure DevOps
Construindo pipelines com Azure DevOpsCamila Carrera
 
Women@MicrosoftCommunities - DevOps e Azure: uma combinação perfeita!
Women@MicrosoftCommunities - DevOps e Azure: uma combinação perfeita!Women@MicrosoftCommunities - DevOps e Azure: uma combinação perfeita!
Women@MicrosoftCommunities - DevOps e Azure: uma combinação perfeita!Jaqueline Ramos
 
Academia do Arquiteto - Implantando A.L.M. em uma semana!
Academia do Arquiteto - Implantando A.L.M. em uma semana!Academia do Arquiteto - Implantando A.L.M. em uma semana!
Academia do Arquiteto - Implantando A.L.M. em uma semana!Globalcode
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareNorberto Santos
 
DevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de SoftwareDevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de SoftwarePaulo Lacerda
 

Semelhante a Automatize seu processo de entrega de software com CI/CD na AWS (20)

DevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasDevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
 
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAcelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
 
Continuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na NuvemContinuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na Nuvem
 
Melhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasMelhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernas
 
DevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaDevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínua
 
Desenvolvimento de CI/CD na AWS
Desenvolvimento de CI/CD na AWSDesenvolvimento de CI/CD na AWS
Desenvolvimento de CI/CD na AWS
 
ESX Tech Lives - DevOps
ESX Tech Lives - DevOpsESX Tech Lives - DevOps
ESX Tech Lives - DevOps
 
Webinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSWebinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWS
 
CI CD best practices for building modern applications - MAD301 - São Paulo AW...
CI CD best practices for building modern applications - MAD301 - São Paulo AW...CI CD best practices for building modern applications - MAD301 - São Paulo AW...
CI CD best practices for building modern applications - MAD301 - São Paulo AW...
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
 
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...
 
TDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOps
TDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOpsTDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOps
TDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOps
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
Construindo pipelines com Azure DevOps
Construindo pipelines com Azure DevOpsConstruindo pipelines com Azure DevOps
Construindo pipelines com Azure DevOps
 
Women@MicrosoftCommunities - DevOps e Azure: uma combinação perfeita!
Women@MicrosoftCommunities - DevOps e Azure: uma combinação perfeita!Women@MicrosoftCommunities - DevOps e Azure: uma combinação perfeita!
Women@MicrosoftCommunities - DevOps e Azure: uma combinação perfeita!
 
Academia do Arquiteto - Implantando A.L.M. em uma semana!
Academia do Arquiteto - Implantando A.L.M. em uma semana!Academia do Arquiteto - Implantando A.L.M. em uma semana!
Academia do Arquiteto - Implantando A.L.M. em uma semana!
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de Software
 
DevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de SoftwareDevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de Software
 
Alm open source
Alm open sourceAlm open source
Alm open source
 

Mais de Amazon Web Services LATAM

AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.Amazon Web Services LATAM
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.Amazon Web Services LATAM
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSAmazon Web Services LATAM
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSAmazon Web Services LATAM
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAmazon Web Services LATAM
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAmazon Web Services LATAM
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosAmazon Web Services LATAM
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSAmazon Web Services LATAM
 
Los beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSLos beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSAmazon Web Services LATAM
 

Mais de Amazon Web Services LATAM (20)

AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
Como começar com Amazon EKS
Como começar com Amazon EKSComo começar com Amazon EKS
Como começar com Amazon EKS
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWS
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWS
 
Ransomware: Estratégias de Mitigação
Ransomware: Estratégias de MitigaçãoRansomware: Estratégias de Mitigação
Ransomware: Estratégias de Mitigação
 
Ransomware: Estratégias de Mitigación
Ransomware: Estratégias de MitigaciónRansomware: Estratégias de Mitigación
Ransomware: Estratégias de Mitigación
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWS
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administrados
 
Simplifique su BI con AWS
Simplifique su BI con AWSSimplifique su BI con AWS
Simplifique su BI con AWS
 
Simplifique o seu BI com a AWS
Simplifique o seu BI com a AWSSimplifique o seu BI com a AWS
Simplifique o seu BI com a AWS
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWS
 
Los beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSLos beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWS
 
Bases de datos NoSQL en AWS
Bases de datos NoSQL en AWSBases de datos NoSQL en AWS
Bases de datos NoSQL en AWS
 
Bancos de dados NoSQL na AWS
Bancos de dados NoSQL na AWSBancos de dados NoSQL na AWS
Bancos de dados NoSQL na AWS
 

Automatize seu processo de entrega de software com CI/CD na AWS

  • 1. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. AWSWebinar Series Brasil Juliana Takeuchi Arquiteta de Soluções - AWS Automatize seu processo de entrega de software com CI/CD na AWS
  • 2. Como interagir durante o evento? Você tem um projeto e quer conversar com o time comercial da AWS? Acesse o LIVE CHAT neste QR code ou pelo link enviado no chat do evento. Perguntas & Respostas ao vivo durante todo o evento Tire suas dúvidas com os especialistas da AWS! Clique no símbolo “?” e envie suas perguntas.
  • 3. O que é DevOps? … aumentam a capacidade de uma organização de fornecer aplicações e serviços em alta velocidade Cultura Práticas Ferramentas
  • 4. O que é DevOps • Objetivo global • Times autônomos e empoderados • Colaboração e Comunicação • Foco na entrega de valor para o cliente • Microserviços • Integração/Entrega/Implantação Contínua • Desenvolvimento Ágil • Infra as a Code • Automação • Testes de Qualidade e Segurança • Monitoramento • Ferramentas de Infra as a Code Cultura Ferramentas Práticas
  • 5. • Microserviços • Sair de uma arquitetura “monolíta” para a utilização de vários serviços individualmente. Práticas de DevOps
  • 6. Práticas de DevOps • Integração contínua • Entrega & implantação contínua
  • 7. Práticas de DevOps • Infraestrutura como código • Modele seus recursos AWS usando código
  • 8. Práticas de DevOps • Monitoramento e registro • Rastrear e analisar métricas e logs • Entenda o desempenho em tempo real de infraestrutura e aplicação
  • 10. CI/CD Tools Monitoring & Tracing SDKs JavaScript Python PHP .NET Ruby Java Go Node.js C++ IDE IDE and DevOps Toolkits Eclipse IntelliJ PyCharm Visual Studio Visual Studio Code VSTS CLI and Scripting Tools AWS CLI Tools for PowerShell Infrastructure as Code AWS Cloud Dev. Kit (CDK) Web Apps Mobile AWS Amplify Amazon Corretto Languages Conjunto abrangente de serviços e ferramentas
  • 12. O que é um pipeline? Continuous integration Continuous deployment Continuous delivery Source Build Test Deploy
  • 14. O que é Branch?
  • 16. Push Feedback Tests Integração Contínua é uma prática onde os desenvolvedores mesclam seu novo código no repositório remoto regularmente. Principais objetivos: • Encontrar e resolver bugs rapidamente • Melhorar a qualidade • Reduzir o tempo entre desenvolver, validar e lançar novos recursos. Integração Contínua
  • 17. Push Feedback Tests 1. Os desenvolvedores verificam regularmente o código em um repositório central compartilhado. 2. Verificações automatizadas são executadas regularmente contra a base de código compartilhado. 3. Desenvolvedores recebem feedback das verificações automatizadas sobre seu código Integração contínua
  • 18. Continuous Integration Continuous Delivery 2 Pull code to your git local repository 3 1 Write code Compile and run unit tests locally 4 Push code to a git remote repository 6 QualityTests 5 Triggers Pipeline Buid & Create Image 8 Push to Registry 9 7 SecurityTests Fast Feedback Continuous Integration
  • 20. Continuous Integration Continuous Delivery 2 Pull code to your git local repository 3 1 Write code Compile and run unit tests locally 4 Push code to a git remote repository 6 QualityTests 5 Triggers Pipeline Buid & Create Image 8 Push to Registry 9 Deploy to Dev 7 SecurityTests Deploy to QA Deploy to Prod 11 AutomatedTests 10 12 13 AutomatedTests 14 More confident Continuous Delivery
  • 21. Jornada DevOps Conforme sua organização amadurece, ela continuará a desenvolver o modelo CI / CD para incluir mais das seguintes melhorias: • Mais ambientes de preparação para testes específicos • Testes unitários de infraestrutura e código de configuração, juntamente com o código de aplicação • Integração com outros sistemas e processos • Integração com a migração do esquema de banco de dados (se aplicável) • Etapas adicionais para auditoria e aprovação de negócios
  • 22. Source Build Test Production Ferramentas de terceiros AWS CodeCommit AWS CodeBuild AWS CodeDeploy AWS CodePipeline Pipeline de software-release: AWS CodeBuild AWS Code Services
  • 24. AWS CodeCommit • Um repositório git seguro, gerenciado e escalável • Mesma ferramenta padrão Git • Escalabilidade, disponibilidade e durabilidade do Amazon S3 • Criptografia em descanso usando customer Keys • Tamanho de repositório ilimitado • Post-commit triggers podem invocar Amazon SNS ou Lambda
  • 25. AWS CodeCommit Git pull/push AWS CodeCommit Git objects on Amazon S3 Git index on Amazon DynamoDB Cryptography keys on AWS KMS SSH or HTTPS
  • 26. Mantenha a mesma experiência com git $ git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/aws-cli Cloning into 'aws-cli'... Receiving objects: 100% (16032/16032), 5.55 MiB | 1.25 MiB/s, done. Resolving deltas: 100% (9900/9900), done. Checking connectivity... done. $ nano README.rst $ git commit -am 'updated README' [master 4fa0318] updated README 1 file changed, 1 insertion(+)
  • 28. AWS CodeBuild • Gerencie o servidor de compilação que compila código-fonte, execute testes e construa pacotes de software • Escala continuamente e processa vários builds em paralelo • Você pode criar ambientes de compilação personalizados usando imagens do Docker • Pague apenas pelo que você usou • Integração nativa com AWS CodePipeline e Jenkins
  • 29. Como funciona? 1. Baixa o Código fonte 2. Executa os comandos definidos no arquivo buildspec usando containers temporários ( novos containers são criados para cada build) 3. Envia os logs de build para a console e para oAmazon CloudWatch logs 4. Manda os artefatos do build para um bucket noAmazon S3.
  • 30. Como automatizar o processo de compilação com o AWS CodeBuild? • AWS CodePipeline totalmente integrado para CI/CD • Plug-and-play (API/CLI) • Crie seu ambiente de compilação • Crie imagens docker com suas ferramentas • Plugin de código aberto Jenkins • Use o AWS CodeBuild como um trabalhador mestre do Jenkins
  • 31. Exemplo de arquivo buildspec.yml version: 0.1 environment_variables: plaintext: JAVA_HOME: "/usr/lib/jvm/java-8-openjdk-amd64" phases: install: commands: - apt-get update -y - apt-get install -y maven pre_build: commands: - echo Nothing to do in the pre_build phase... build: commands: - echo Build started on `date` - mvn install post_build: commands: - echo Build completed on `date` artifacts: type: zip files: - target/messageUtil-1.0.jar discard-paths: yes
  • 33. AWS CodeDeploy • Lida com a complexidade de atualizar aplicativos • Evita a indisponibilidade durante o deploy • Realiza rollback automático em caso de falha • Deploy em Amazon EC2 ou servidores on-premises, usando qualquer linguagem e qualquer sistema operacional • Integra-se com ferramentas de terceiros e AWS
  • 34. Exemplo de appspec.yml version: 0.0 os: linux files: - source: / destination: /var/www/html permissions: - object: /var/www/html pattern: “*.html” owner: root group: root mode: 755 hooks: ApplicationStop: - location: scripts/deregister_from_elb.sh BeforeInstall: - location: scripts/install_dependencies.sh ApplicationStart: - location: scripts/start_httpd.sh ValidateService: - location: scripts/test_site.sh - location: scripts/register_with_elb.sh Send application files to one directory and configuration files to another Set specific permissions on directories and files. Remove / add instances to Elastic Load Balancing Install dependency packages Start Apache Confirm deployment success
  • 36. AWS CodePipeline • Serviço de entrega contínua para atualizações rápidas e confiáveis de aplicativos • Modele e visualize seu processo de liberação de software • Builds, tests, e deploys do código sempre que uma mudança ocorre • Integra-se com ferramentas de terceiros e AWS
  • 37. Source Source GitHub Build AWS CodeBuild AWS CodeBuild Deploy JavaApp AWS Elastic Beanstalk Pipeline Stage Action Transition MyApplication
  • 38. Build AWS CodeBuild AWS CodeBuild Notify Developers AWS Lambda Ações paralelas Source Source GitHub MyApplication Deploy JavaApp Elastic Beanstalk
  • 39. Build AWS CodeBuild AWS CodeBuild NotifyDevelopers Lambda Test API Runscope Ações sequenciais Deploy JavaApp Elastic Beanstalk Source Source GitHub MyApplication
  • 40. Build AWS CodeBuild AWS CodeBuild Staging-Deploy JavaApp Elastic Beanstalk Prod-Deploy JavaApp Elastic Beanstalk QATeamReview Manual Approval Aprovações manuais Review MyApplication
  • 41. Obrigada! Fique por dentro das próximas sessões Acesse a agenda de webinars neste QR code e inscreva-se! QR CODE Conte-nos o que achou do webinar Clique em “sair” para responder uma rápida pesquisa de satisfação.