# 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/

- Testing(JUnit,Mocha,Cucumber,Gatling,Selenium, Teste Unitário)
- Configuration(Terraform)
- Deployment
Para testes


- colaboration(Jira, trello)
- Analitics

versões

## 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)