O que é esse tal de DevOps? — Parte 1

Kamila de Fátima Santos Oliveira
Devs JavaGirl
Published in
8 min readJan 14, 2019

Assim como muitos fizeram, tirei a certificação DEPC ,então comecei a ler um pouco mais sobre esta cultura DevOps e cada um dos principios, frameworks e ferramentas que o compõem. Percebi que muitas pessoas ainda não conheciam este termo, então resolvi compartilhar um resumo com os conceitos principais com vocês (No final do artigo terá todas as referências para conhecer cada conceito detalhadamente):

Fonte: https://pt.wikipedia.org/wiki/DevOps

O que é Devops?

O termo Devops é a união das palavras Development (Desenvolvimento) e Operations (Operações).

O maior foco da cultura Devops é a comunicação e colaboração visando a integração do time de Desenvolvimento e Operações.

Diversas ferramentas são utilizadas para que ocorra a integração entre as equipes de testers. operações e desenvolvimento.

Adoção do DevOps

Os chamados Três Caminhos de Gene Kim estabelecem as formas de adoção do DevOps:

  • Pensamento de sistemas
  • Aumentar loops de feedback
  • Cultura de experimentação continua e aprendizado

Benefícios da adoção do DevOps

Ele garante um menor tempo de comercialização dos prazos de entrega, melhorando a rentabilidade dos investimentos.

Aumenta a transparência na comunicação entre os times.

Pode ser implementado junto com o Agile, ou seja terá entregas frequentes, o que melhora o resultado final

Detecção precoce e correção mais rápida dos erros, entregando os melhores serviços para seus clientes.

Estabilidade : Melhora no Mean Time To Recover (MTTR)

Este é o tempo médio para consertar um serviço após uma falha, ele é medido a partir do momento em que o item falhou até ser reparado.

Pilares do DevOps

  1. Agile
Fonte: http://www.softwareprocessinc.com/agile-safe-scaled-agile-framework.html

O Agile trás velocidade, adaptação às mudanças e lançamentos sem erros.

2.ITSM ( Gerenciamento de serviços de TI )

Fonte: https://technology.berkeley.edu/ITSM

Valor do conceito (ITIL), garantia e utilidade

3. Entrega contínua

Fonte: https://www.infoq.com/presentations/adopting-devops

a entrega contínua consiste em as equipes que produzem software em ciclos curtos, sempre disponibilizando um entregável para produção.

Just- in-time

Tem como objetivo produzir a quantidade exata de determinado produto, sobre demanda, sem a necessidade de estoque , evitando desperdícios.

No ramo da tecnologia significa fazer muito com pouco.

Kaizen

Termo de origem japonesa que significa melhoria contínua, sugere que nosso modo de viver, tanto no ambiente profissional quanto no pessoal, deve visar a constante melhoria.

Isso pode ser feito perseguindo uma meta, transferindo conhecimento e sabendo quando eliminar, reduzir ou mudar a atividade.

BIMODAL — Gartner

consiste em gerenciar duas formas de trabalho separadas, porém coerentes: uma focada na previsibilidade e a outra na exploração.

O Modo 1 é otimizado para áreas mais previsíveis e bem compreendidas. Ele foca na exploração do que é conhecido, enquanto renova o ambiente legado em um estado que é adequado para um mundo digital.

O Modo 2 é mais exploratório, experimentando para solucionar novos problemas e otimizado para áreas de incerteza.

Fonte: https://www.mendix.com/blog/bimodal-it-mistakes-to-avoid/

DevSecOps (Desenvolvimento + Segurança + Operações)

Visa pensar na segurança da sua aplicação desde o início, o que dificulta a introdução de vulnerabilidades ao seu produto/serviço.

Destaca a necessidade de que a equipe de segurança participe das iniciativas de DevOps, deste modo integrando a segurança da informação e ainda pode estabelecer um plano de automação da segurança.

Este processo exige que as equipes de segurança compartilhem seus insights, feedbacks e forneça visibilidade das ameaças conhecidas.

Fonte: https://www.bankinfosecurity.com/devsecops-keys-to-success-a-11299

Scrum

É um framework para desenvolver e manter produtos complexos, e composto por papéis, eventos, artefatos e as regras que os conectam.

Fonte: http://www.mindmaster.com.br/scrum/

SLA ( Service Level Agreement — Acordo de nível de serviço)

Primeiro devemos entender cada termo separadamente:

Acordo: se trata de um contrato que é definido por duas partes: cliente e fornecedor.

Nível: se trata de serviços, algo que nem sempre é “palpável” , é necessário definir indicadores de qualidade, que pode ser dividido em um período de tempo e estabelecido metas de valor.

Serviço: conjunto de facilidades que visam ajudar o cliente a alcançar determinado objetivo.

Unindo estes três conceitos: SLA é um contrato entre o prestador de serviços e o cliente, que descreve de forma detalhada o serviço, como será avaliada a qualidade do mesmo e os valores envolvidos.

Ciclo PDCA ( Plan-Do-Check-Act — Planejar — Fazer — Checar — Agir)

Tem a função de garantir que a empresa organize seus processos, não importando sua natureza.

Fonte: https://www.voitto.com.br/blog/artigo/o-que-e-o-ciclo-pdca

Plan

São determinados os objetivos de cada processo até chegar no produto/serviço definido pelo cliente, esta fase é composta pelas seguintes etapas:

  1. Identificação do problema
  2. Análise do fenômeno
  3. Análise do processo
  4. Plano de ação

Do

Cada processo será realizado de acordo com o que foi definido na fase Plan, são coletados dados pra uma análise posterior

É a execução do plano de ação.

Check

Após a implantação, os processos serão analisados por ferramentas próprias para verificar se cada processo cumpre o que foi acordado no planejamento, aqui são encontradas possíveis falhas e erros no processo.

É a verificação dos resultados.

Act

Dependendo do que foi colhido no passo anterior, serão observados os erros e falhas e principalmente verificado se os objetivos foram atingidos, em caso negativo, estes devem ser melhorados e o ciclo se reinicia.

São a padronização e conclusão.

Kanban

Geralmente representado em um quadro, os cartões representam as tarefas e seguem um fluxo de trabalho, conforme as tarefas são concluídas, os cartões vão avançando, e quando uma nova tarefa e criada, um novo cartão é adicionado.

Geralmente possui a seguinte estrutura:

Fonte: https://www.culturaagil.com.br/kanban-do-inicio-ao-fim/

Em breve sai a parte 2 do artigo, onde será abordado desenvolvimento ágil de software, modelo em cascata, modelo v, integração contínua, entrega contínua, aprendizagem contínua, modelo calms e a combinação do devops com outros frameworks.

Fontes utilizadas e sugestões de leitura:

https://www.certiprof.com/wp-content/uploads/2018/10/PTBR_DevOps.pdf

https://www.scrumguides.org/docs/scrumguide/v2017/2017-Scrum-Guide-US.pdf#zoom=100

--

--

Kamila de Fátima Santos Oliveira
Devs JavaGirl

Desenvolvedora backend, graduada em Ciência da Computação, apaixonada por tecnologia e pela forma como ela ela pode impactar a vida das pessoas