Neste webinar, você aprenderá como as empresas podem se valer da nuvem da AWS para automatizar os pipelines de desenvolvimento de software. Essa abordagem permite que sua equipe seja mais ágil, melhorando sua capacidade para entregar aplicações e serviços mais rapidamente.
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
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
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
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
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.