Módulo 1 - Introdução Ao DevOps - Parte 1
Módulo 1 - Introdução Ao DevOps - Parte 1
Módulo 1 - Introdução Ao DevOps - Parte 1
O que é DevOps
Desenvolvimento (Dev)
● A equipe de desenvolvimento é responsável por identificar e entender problemas de
negócio e desenvolver soluções, entregando com máxima qualidade e produtividade
as versões de software que deve ser colocadas em produção
● É composta normalmente por profissionais que desenvolvem as aplicações como
programadores, analistas de sistema, arquitetos de software, analistas de testes,
entre outros
Operações (Ops)
● A equipe de operações normalmente é responsável por manter os serviços em
produção e por fazer o deploy (liberação) de novas versões de softwares e artefatos
em produção
● Ela faz os deploys e os rollbacks enquanto mantém o ambiente de produção o mais
estável possível
● A equipe é composta geralmente pelos administradores de sistema
(sysadmins),DBA e arquitetos de infra também pode compor a equipe
Exige
● Automação: Deploy automático
● Colaboração: Pessoas de ambas as áreas devem ser colaborativa
● Mudança Cultural: Vai exibir mudança cultural na empresa
● Estrutura Organizacional Simples
Aborda
● Pessoas
● Ferramentas
● Processo
DevOps e Ágil
Ágil e DevOps
● Ágil tem como objetivo entregar valor rápido ao cliente fomentando a comunicação
contínua entre cliente e o fabricante do produto, geralmente um produto de software
● Imagine que na Data de liberação, se houver problemas, o benefício chave do Agile
- menor time-to-market - não é alcançado
● O problema da última milha (the last mile)
● DevOps pode ser visto como a continuação lógica da jornada do software Ágil
● O DevOps e o Agile se complementam para implantar software funcionando o mais
rápido possível
A Origem do DevOps
● O movimento DevOps teve origem em torno de 2009, durante a convergência de
vários movimentos adjacentes que se reforçavam mutuamente
➢ Infraestrutura ágil (Mark Burgess e Luke Kanies)
➢ Integração e entrega contínua (Jez Humble)
➢ Lean Startup (Eric Ries)
➢ Cloud a plataforma como serviço (Paas)
● O DevOps e suas práticas culturais, arquiteturais e técnicas representam uma
convergência de muitos movimentos filosóficos e gerenciais
● O DevOps é o resultado da aplicação dos princípios mais confiáveis de manufatura e
liderança para a TI
Lean
● É uma filosofia de gestão inspirada nas práticas do sistema Toyota de Produção
● o Lean foca em criar valor mais rapidamente e remover desperdícios
Valor
● É algo que contribui para a forma, as características ou a função do produto/serviço
● Deve ser algo que o cliente esteja disposto a pagar para ter
○ Está associado aos benefícios de um produto ou serviço entregue ao cliente
○ Empresa cobram pelo valor adicionado ao produtos e serviços
○ O valor está vinculado ao preço através de um mecanismo de troca
Apenas quem sabe o que é valor pode falar em remover
desperdícios
● Nem sempre algo ruim é desperdício de tempo
● Um Relatório perfeito que não é utilizado pelo cliente, é um desperdício
Exemplo de Valor
Desperdício
● O Lean não se preocupa apenas com a entrega do maior valor possível aos clientes,
mas também em garantir que os desperdícios sejam removidos
● O Valor para os clientes aumenta de duas formas:
○ Pela produção da porção de atividades desnecessárias
○ Pelo aumento da quantidade de atividades que agregam valor
Exemplos de Desperdício
● Qualquer atividade que consome recursos sem fornecer valor (tal como definido pelo
cliente)
● Se o cliente não está disposto a pagar por uma atividade, então ela é um
desperdício
● Desperdício não se trata somente de erros que acontecem durante o processo e que
precisam ser corrigidos, mas de qualquer coisa que, embora seja feita corretamente,
não gere valor aos olhos do cliente
Agile
Movimento Agile
Manifesto para o desenvolvimento ágil de software
Estamos descobrindo maneiras melhores de desenvolver software fazendo-o nós mesmos e
ajudando outros a fazê-lo. Através deste trabalho, passamos a valorizar:
- Indivíduos e interação entre eles mais que processo e ferramentas
- Software em funcionamento mais que documentação abrangente
- Colaboração com o cliente mais que negociação de contratos
- Responder a mudanças mais que seguir um plano
Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda
O Manifesto Ágil - Os 12 princípios
1. Nossa maior prioridade é satisfazer o cliente, por meio da entrega adianta e contínua
de software de valor
2. Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento. Processo ágeis
se adequam as mudanças para que o cliente possa obter vantagens competitivas
3. Entregar software funcionando com frequência, na esla de semanas até meses, com
preferência aos períodos mais curtos
4. Pessoas relacionadas a negócios e desenvolvedores devem trabalhar em conjunto e
diariamente durante todo o curso do projeto
5. Construir projetos ao redor de indivíduos motivados, dando a eles o ambiente e
suporte necessários, e confiar que farão seu trabalho
6. Contínua atenção a excelência técnica e bom design aumenta a agilidade
7. O método mais eficiente e eficaz de transmitir informações dentro de um time de
desenvolvimento é através de uma conversa cara a cara
8. Software funcional é a medida primária de progresso
9. Processos ágeis promovem um ambiente sustentável. Os patrocinadores,
desenvolvedores e usuários devem ser capazes de manter indefinidamente passos
constantes
10. Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou ser
feito
11. As melhores arquiteturas, requisitos e designs emergem de times auto organiza´veis
12. Em intervalos regulares, o time reflete sobre como ficar mais efetivo. Então, se
ajusta e otimiza seu comportamento de acordo