SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
© 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

Being Well-Architected in the Cloud
Being Well-Architected in the CloudBeing Well-Architected in the Cloud
Being Well-Architected in the CloudAmazon Web Services
 
Kubernates vs Openshift: What is the difference and comparison between Opensh...
Kubernates vs Openshift: What is the difference and comparison between Opensh...Kubernates vs Openshift: What is the difference and comparison between Opensh...
Kubernates vs Openshift: What is the difference and comparison between Opensh...jeetendra mandal
 
클라우드 마이그레이션 성공적인 여정, 그 중요한 시작 "Readiness Assessment (전환 준비 평가)" - 김준범, AWS Mi...
클라우드 마이그레이션 성공적인 여정, 그 중요한 시작 "Readiness Assessment (전환 준비 평가)" - 김준범, AWS Mi...클라우드 마이그레이션 성공적인 여정, 그 중요한 시작 "Readiness Assessment (전환 준비 평가)" - 김준범, AWS Mi...
클라우드 마이그레이션 성공적인 여정, 그 중요한 시작 "Readiness Assessment (전환 준비 평가)" - 김준범, AWS Mi...Amazon Web Services Korea
 
[AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
 [AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵 [AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
[AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵Amazon Web Services Korea
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootKashif Ali Siddiqui
 
20분안에 스타트업이 알아야하는 AWS의 모든것 - 윤석찬 :: 스타트업얼라이언스 런치클럽
20분안에 스타트업이 알아야하는 AWS의 모든것 - 윤석찬 :: 스타트업얼라이언스 런치클럽20분안에 스타트업이 알아야하는 AWS의 모든것 - 윤석찬 :: 스타트업얼라이언스 런치클럽
20분안에 스타트업이 알아야하는 AWS의 모든것 - 윤석찬 :: 스타트업얼라이언스 런치클럽Amazon Web Services Korea
 
A Pattern Language for Microservices
A Pattern Language for MicroservicesA Pattern Language for Microservices
A Pattern Language for MicroservicesChris Richardson
 
AWS Application Discovery Service
AWS Application Discovery ServiceAWS Application Discovery Service
AWS Application Discovery ServiceAmazon Web Services
 
(DVO401) Deep Dive into Blue/Green Deployments on AWS
(DVO401) Deep Dive into Blue/Green Deployments on AWS(DVO401) Deep Dive into Blue/Green Deployments on AWS
(DVO401) Deep Dive into Blue/Green Deployments on AWSAmazon Web Services
 
Introducing Azure Arc
Introducing Azure ArcIntroducing Azure Arc
Introducing Azure ArcMohamed Wali
 
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)Amazon Web Services Korea
 
Microservices for Application Modernisation
Microservices for Application ModernisationMicroservices for Application Modernisation
Microservices for Application ModernisationAjay Kumar Uppal
 
Best Practices in Planning a Large-Scale Migration to AWS - AWS Online Tech T...
Best Practices in Planning a Large-Scale Migration to AWS - AWS Online Tech T...Best Practices in Planning a Large-Scale Migration to AWS - AWS Online Tech T...
Best Practices in Planning a Large-Scale Migration to AWS - AWS Online Tech T...Amazon Web Services
 

Mais procurados (20)

Being Well-Architected in the Cloud
Being Well-Architected in the CloudBeing Well-Architected in the Cloud
Being Well-Architected in the Cloud
 
Kubernates vs Openshift: What is the difference and comparison between Opensh...
Kubernates vs Openshift: What is the difference and comparison between Opensh...Kubernates vs Openshift: What is the difference and comparison between Opensh...
Kubernates vs Openshift: What is the difference and comparison between Opensh...
 
Serverless Microservices
Serverless MicroservicesServerless Microservices
Serverless Microservices
 
클라우드 마이그레이션 성공적인 여정, 그 중요한 시작 "Readiness Assessment (전환 준비 평가)" - 김준범, AWS Mi...
클라우드 마이그레이션 성공적인 여정, 그 중요한 시작 "Readiness Assessment (전환 준비 평가)" - 김준범, AWS Mi...클라우드 마이그레이션 성공적인 여정, 그 중요한 시작 "Readiness Assessment (전환 준비 평가)" - 김준범, AWS Mi...
클라우드 마이그레이션 성공적인 여정, 그 중요한 시작 "Readiness Assessment (전환 준비 평가)" - 김준범, AWS Mi...
 
[AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
 [AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵 [AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
[AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
 
20분안에 스타트업이 알아야하는 AWS의 모든것 - 윤석찬 :: 스타트업얼라이언스 런치클럽
20분안에 스타트업이 알아야하는 AWS의 모든것 - 윤석찬 :: 스타트업얼라이언스 런치클럽20분안에 스타트업이 알아야하는 AWS의 모든것 - 윤석찬 :: 스타트업얼라이언스 런치클럽
20분안에 스타트업이 알아야하는 AWS의 모든것 - 윤석찬 :: 스타트업얼라이언스 런치클럽
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
A Pattern Language for Microservices
A Pattern Language for MicroservicesA Pattern Language for Microservices
A Pattern Language for Microservices
 
Deep dive into AWS IAM
Deep dive into AWS IAMDeep dive into AWS IAM
Deep dive into AWS IAM
 
AWS Application Discovery Service
AWS Application Discovery ServiceAWS Application Discovery Service
AWS Application Discovery Service
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
(DVO401) Deep Dive into Blue/Green Deployments on AWS
(DVO401) Deep Dive into Blue/Green Deployments on AWS(DVO401) Deep Dive into Blue/Green Deployments on AWS
(DVO401) Deep Dive into Blue/Green Deployments on AWS
 
Intro to Amazon ECS
Intro to Amazon ECSIntro to Amazon ECS
Intro to Amazon ECS
 
Introducing Azure Arc
Introducing Azure ArcIntroducing Azure Arc
Introducing Azure Arc
 
Devops architecture
Devops architectureDevops architecture
Devops architecture
 
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
 
AWS Marketplace
AWS MarketplaceAWS Marketplace
AWS Marketplace
 
Microservices for Application Modernisation
Microservices for Application ModernisationMicroservices for Application Modernisation
Microservices for Application Modernisation
 
Best Practices in Planning a Large-Scale Migration to AWS - AWS Online Tech T...
Best Practices in Planning a Large-Scale Migration to AWS - AWS Online Tech T...Best Practices in Planning a Large-Scale Migration to AWS - AWS Online Tech T...
Best Practices in Planning a Large-Scale Migration to AWS - AWS Online Tech T...
 

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.