# DevOps Abordagem inicial ###### tags: `DevOps` `IGTI` Origem: Velocity 09 John Allspaw and Paul Hammond 10 Deploys por dia flicker ### Pilares Essencia colaborativa, Originado de infraestrutura ágil. ## Overview Benefícios 5 x menos chances de falha 440 x mais rápido entre commit e deploy(Subir do gitlab para uma nova versão) 46 x deploys mais frequentes 44% mais tempo com novas funcionalidades ## Desafios DevOps Requires Culture Change Work with fullstack figure ### Partes #### Dev Aumentar o valor para o negócio Agilidade para inovar Requisitos funcionais(Aquilo que está na especificação) #### Ops Proteger valor para o negócio Estabilidade do ambiente Requisitos Não funcionais() é uma jornada de diversas práticas ### Coolaboração + automação #### Ciclo de Vida cascata Negócios/ Desenvolvimento e QA/ Operação Conflito de entendimentos Sobrecarga de Picos Demora Cascata funciona em alguns modelos(Engenharia por exemplo) #### Ciclo de vida Ágil Negócio, desenvolvimento, Testes // Operação // Cliente Operação- Infraestrutura, segurança #### Devops- Operações vem para o braço Implantação, manutenção e telemetria vem para o braço Conclusão Evolução natural da agilidade com inclusão de práticas inovadoras # Pilares devops Integração continua, entrega contínua, implantação contínua: commits diários, Telemetria, experimentação, teste A/B, pipeline de implantação A jornada devOps abraça diversas práticas # DevOps CALMS essência colaborativa cultura de automação práticas lean monitoramento e compartilhamento ## Bem Pagow ### Cultura - Respeito as pessoas - Criar pontes entre Dev e Ops - aceitar mudanças ### Automação - Integração contínua - Entegra contínua - infra como código - Pipeline de implantação - Orquestração ### Lean - valor para o cliente - lotes pequenos - fluxo contínuo - reduzir wip - Lead time ### Medição - Telemetria - Monitoramento - melhorias ### Sharing - Colaboração - Feedback - Comunicação - Boa transparência # Princípio das três maneiras - Fluxo - FeedBack - Aprendizado e experimentação ### 1° Maneira: Fluxo Acelerar o fluxo dos desenvolvedores(Esquerda) para operações e clientes 1. Tornar o trabalho visível 2. Reduzir o tamanho dos lotes e intervalos 3. Aplicar teoria das restrições 5. Remover desperdícios 6. Reduzir o número de transferências (Handoff) 7. Incorporar qualidade na origem 8. Limitar o trabalho em andamento (WIP) 9. Infraestrutura como código e self Service 10. Integração, entrega e implatação contínua 11. Testes automatizados e TDD. ### 2° Maneira: Feedback Rápido feedback em todos os estágios do fluxo de valor (Direita para a esquerda) 1. Ver problemas quando ocorrem('Ir ao gemba') 2. Aglomerar quando problema aparece(Andon) 3. Qualidade próxima a fonte(menos aprovações) 5. Telemetriaself service e irradiadores de informação disponível para todos 6. Desenvolvimento por hipóteses e testes A/B 7. Equipes Dev e Ops compartilham o trabalho diário e plantões de suporte 27 * 7 8. Revisão de código usando as técnicas: Programação em pares, sobre ombros, divulgação por email ### 3° Maneira: Aprendizado Cultura de alta confiança que permite correr riscos e potencializar o aprendizado 1. Cultura Justa e segura para aprender com os erros 2. Injeção de falhas na produção para aumentar a resiliência 4. Converter descobertas locais em melhorias globais 5. Reservar tempo para melhorar o trabalho diário(Kata e blitz de melhoria) 6. Reunião post-mortem sem culpa 7. Instituir dias de jogos para ensaiar falhas 8. Difundir conhecimento usando testes automatizados como documentação ## Ferramentas Subdivididos em partes interessantes - Versionamento de código(GitLab flow) - Automatização de banco de dados(ReadGate, Delphix,outros) - Continuos integration- Integrar as alterações continuamente : https://blog.codemagic.io/ci-cd-for-flutter-video-tutorial/ ![](https://i.imgur.com/MH6ZsoP.png) - Testing(JUnit,Mocha,Cucumber,Gatling,Selenium, Teste Unitário) - Configuration(Terraform) - Deployment Para testes ![](https://i.imgur.com/c2ixILd.png) ![](https://i.imgur.com/gjeCp91.png) - colaboration(Jira, trello) - Analitics ![](https://i.imgur.com/P6FB7oI.png) versões ![](https://i.imgur.com/MO8X49i.png) ## Considerações finais aberta a diálogos da equipe, Sugestões o que a gente tem ? o que falta? Firebase? ### Referencia The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations Gene Kim, Jez Humble, Patrick Debois, John Willis IT Revolution Press; 1 edition (2016)