Slide 1

Slide 1 text

Integração & Entrega Contínua de Aplicações Java

Slide 2

Slide 2 text

Nossxs monitorxs Helenice Analista Programadora [email protected] Helenice Holopainen @helenice_as Kamila FullStack Developer [email protected] @kamila_code @kamilah_santos Maiara Desenvolvedora Backend [email protected] @the_maihe @the_maihe Na caverna que você tem medo de entrar está o tesouro que você procura - Joseph Campbell Apaixonada pela forma como a tecnologia impacta a vida das pessoas, quero que a tecnologia seja um ambiente mais inclusivo em todos os lugares, adoro espalhar a palavra do código, participar de comunidades e compartilhar conteúdo. Se lembrem que de hoje em diante, a História estará observando vocês

Slide 3

Slide 3 text

Deixe me apresentar Atua com software desde 2005, formada em Sistemas de Informação (UMESP, 13), pós-graduada em Gestão Pública (FESPSP, 2015), Facilitadora/instrutora do projeto #MinasProgramam e da comunidade #WWGSP. Mais nova membro do #DevsJavaGirl, Consultora de desenvolvimento de software na ThoughtWorks. Menina e mulher de familiar de cor e simples da região periférica de SP Marylly

Slide 4

Slide 4 text

Networking diverso e comprometido Por que atuo em projetos feministas? Desigualdade de Gênero Desigualdade Racial Desigualdade Social Ação Afirmativa Desconstruir padrões intrínsecos sociais do que é ser mulher no dias atuais, fortalecendo mulheres em seus desejos e nas construções como pessoas individuais Focar as ações a favor de pessoas que sofrem barreiras pelas suas características que são discriminadas ainda estruturas institucionais e sociais originadas na história do nosso país. Trazer oportunidades para pessoas que têm difícil acesso por questôes socias e econômicas, que são impostas como padrões implicitamente para fazer parte da nossa sociedade.

Slide 5

Slide 5 text

Devops 01 Agenda Continuous Integration 02 Implementation Pipeline 03 Continuous Deploying 04 Next Steps 05 References 06

Slide 6

Slide 6 text

Devops É de comer ou de passar no cabelo?

Slide 7

Slide 7 text

Primeiro: O que não é Devops? Times de operação, qualidade e desenvolvimento atuam de forma separada e independente, e em times separados, e os objetivos não são compartilhados Silos tradicionais Responsabilizar e centralizar a responsabilidade de fazer o devops acontecer, sendo que é a cultura que todos da empresa devem praticar Devops Job Description Considerar que só a existência do pipeline é ter cultura devops, pior ainda CI Theatre que é um pipeline que não executa nada quando código novo é integrado ao repositório principal Pipeline de implementação e CI Theatre Time de qualidade passa maior parte ocioso aguardando um grande deploy e tem um pico de trabalho somente quando algo vai para produção, não tem tempo e mão de obra para apoiar na qualidade mínima da entrega que está sendo feita. Qualidade atua somente na entrega em Produção

Slide 8

Slide 8 text

O que é Devops? Atuam do início ao fim, colaborando entre si desde da concepção até a entrega em produção. Desenvolvimento e Operação são do mesmo time Todas as ferramentas deve estar abertas, documentadas e de fácil acesso para qualquer um possa resolver os problemas independente do contexto: Operação, desenvolvimento, qualidade e/ou segurança. Trabalho Colaborativo em Transparente Os objetivos de entregar valor devem ser estar objetiva e acessível para todos das empresa Alinhamento com Plano Negócio Envolver qualidade e segurança desde da concepção para definir objetivos básicos para serem atendidos durante o desenvolvimento Qualidade e Segurança deve ser envolvida desde do início

Slide 9

Slide 9 text

History Trazido pela Toyota no seu processo de chão de fábrica de automóveis Movimento Lean 2001 2008 2013 2007 2011 2017 2019 1980 Talk de John Allspaw e Paul Hammond “10 Deploys per Day: Dev and Ops at Flickr" Velocity Conference Erics Ries lança técnicas de implementação contínua no livro StartUp Enxuta Movimento Lean StartUp Organizado por Patrick Dubois, nasce o nome DevOps, discussões iniciam no Twitter 1º DevopsDay na Bélgica Patrick Debois e Andrew Shafer começando a falar sobre as barreiras Dev e Ops Agile Conference (Toronto - Canadá) 17 líderes de pensamento de desenvolvimento de software iniciam o movimento ágil Manifesto Ágil Primeiro relatório sobre o cenário devops construído pela Puppet Labs. 1º State of Devops Survey Primeiro centralizador de logs que utiliza IA The Blue Matador Monitoring Aqui estamos nós 2006 Conceito de “pipeline de implantação” ampliado em apresentado no Agile 2006 Movimento Entrega Contínua 2009

Slide 10

Slide 10 text

Princípios da entrega de software Automatize quase tudo Todos são responsáveis pelo processo de entrega Pronto que dizer versão entregue em produção Melhoria Contínua Faça coisas difíceis com frequência e sofra menos Faça controle de versão de tudo Processo confiável e repetível de entrega Qualidade e Segurança desde o início

Slide 11

Slide 11 text

O que define que algo está pronto? Quantas Vezes você já ouviu um desenvolvedor dizer que uma história ou funcionalidade está "pronta"?

Slide 12

Slide 12 text

Por que versão entregue em produção? Quantas Vezes você já ouviu um desenvolvedor dizer que uma história ou funcionalidade está "pronta"?

Slide 13

Slide 13 text

Continuous Integration

Slide 14

Slide 14 text

O que é integração contínua? Prática de juntar com frequência alterações de código no repositório central/principal, testes são executados para obter feedback rápido sobre a qualidade de uma implementação, originando um processo cultural por um time.

Slide 15

Slide 15 text

Continuous Deployment

Slide 16

Slide 16 text

O que é entrega contínua? Get a modern PowerPoint Presentation that is beautifully designed. Easy to change colors, photos and Text. Contents Title Get a modern PowerPoint Presentation that is beautifully designed. Easy to change colors, photos and Text. Contents Title Get a modern PowerPoint Presentation that is beautifully designed. Easy to change colors, photos and Text. Contents Title Get a modern PowerPoint Presentation that is beautifully designed. Easy to change colors, photos and Text. Contents Title

Slide 17

Slide 17 text

Implementation Pipeline

Slide 18

Slide 18 text

O que é um pipeline de implantação? É uma esteira com etapas de empacotamento, testes e avaliação de qualidade de uma implementação integrada ao um repositório central/principal.

Slide 19

Slide 19 text

Como construir um pipeline? Modelar fluxo de valor e criar o esqueleto do processo Automatizar os processos de compilação e implantação Automatizar os testes unitários e análise de código Automatizar os testes de aceitação Automatizar a entrega como um todo

Slide 20

Slide 20 text

Pipeline de Implementação Pequenos testes independentes sobre vários trechos (ou unidades) do código. Testes de Unidade Erros de sintaxe, garantindo que o código esteja de acordo com guias de estilo da linguagem e/ou equipe Testes de Lint Integração e comportamento de um serviço e/ou aplicação. Testes de Integração Testes com as dependências e clientes da aplicação, chamados de teste fim-a-fim ou integrados. Testes e2e Compilação e geração do pacote para efetuar o deploy nos servidores Build Implantação do pacote avaliado nos ambientes existentes: dev, staging, prod. Deployment

Slide 21

Slide 21 text

Bora para a mão na massa...

Slide 22

Slide 22 text

Next Steps

Slide 23

Slide 23 text

Próximos Passos Testes de Performance Métricas de Desempenho Observability Testes de Carga

Slide 24

Slide 24 text

Source: https://www.reddit.com/r/devops/comments/99eome/cheat_sheet_flow_diagram/ acessado em 15 de julho de 2019 ás 21:07

Slide 25

Slide 25 text

Source: https://xebialabs.com/periodic-table-of-devops-tools/ acessado em 15 de julho de 2019 ás 21:08

Slide 26

Slide 26 text

References

Slide 27

Slide 27 text

Alguns livros interessantes

Slide 28

Slide 28 text

Referências A Short History Lesson in DevOps — And Where It’s Going - https://dzone.com/articles/a-short-history-lesson-in-devops-and-where-its-goi-1. Acessado em 24 de Julho de 2019 às 10:24 am. O que significa integração contínua? - https://aws.amazon.com/pt/devops/continuous-integration/. Acessado em 1 de Agosto de 2019 às 16:33. Automated Quality Assurance and Maven - https://www.youtube.com/watch?v=bRFVukVIcao Maven vs Gradle : quem ganha, afinal? - https://deviniciative-wordpress-com.cdn.ampproject.org/c/s/deviniciative.wordpress.com/2019/06/23/maven-vs-gradle-quem-ganha-afinal/amp/ Repositório do workshop: https://github.com/marylly/ci-cd-java-workshop

Slide 29

Slide 29 text

Obrigada