DevOps: Sou ou Não sou, eis a questão



Faaaaaaaaaaaaaaaaaala galera do mal, estamos aqui de novo outra vez.

Primeiramente vou justificar minha sumida (coisa que vocês já devem estar acostumados). Bem dessa vez foi uma imigração que fiz neste país, saindo do Nooooooorte para o Suuuuul, então como fiz isso a pé então demorou um pouco. Haha, to zuando. Bem, sem mais delongas, vamos ao assunto em questão.

Como surgiu
O movimento DevOps não começou em apenas um lugar, existem muitos lugares que dão pistas sobre as origens do termo, por volta de 2008 começa-se a utilizar o termo infraestrutura ágil em algumas listas de discussão com foco em desenvolvimento ágil, e na mesma época durante evento o Agile 2008.

Agile abriu caminho para o DevOps, desviando as direções das metodologias de desenvolvimento de software modelo cascata e indo em direção a um ciclo continuo de desenvolvimento.

O termo DevOps foi criado durante a conferência Velocity da O’Reilly em 2009, onde John Allspaw (Etsy.com) e Paul Hammond (Typekit) apresentaram um, com o objetivo de unir desenvolvedores(Dev) e administradores da infra de TI (Ops) de forma a promover a integração continua até a entrega.

Um dos participantes foi um entusiasta do assunto era Patrick Debois, que após ter visto a palestra citada a cima ficou muito animado, tendo a grande ideia de criar um encontro chamado DevOpsDay, que teve seu primeiro encontro em Ghent – Bélgica no final de 2009, o encontro durou 2 dias, e foi onde o assunto começou a ser conhecido pelo mundo.

Conceitos

O DevOps se mantêm em quatro pilares principais, conhecidos pelas siglas C.A.M.S, são eles:
  • Cultura, as equipes precisam ter colaboração, manter uma relação saudável  entre as áreas, mudança de comportamento, flexibilidade, troca de ideia e principalmente trabalharem juntos, evitando responsabilidades centralizadas e  incentivando a criação de equipes multidisciplinares;
  • Automação, ferramentas entram em cena para automatizar o maior número de processos, sendo eles: automação para liberação de versão, automação de  build, de provisionamento de ambientes para testes, monitoramento ou qualquer outro processo, é interessante identificar os processos que sejam repetitivos ou que levem bastante tempo e buscar resolver o quanto antes, evitando que se torne algo mais difícil de alterar futuramente;
  • Medição/Avaliação, deve-se medir tudo que possível, performance, processos e interações e até mesmo pessoas. Sem medir, não se pode melhorar  nem aperfeiçoar os processos;
  • Compartilhamento, ter uma boa comunicação entre as equipes, incentivar as pessoas a se comunicarem e compartilharem ideias e problemas é um ponto crucial numa iniciativa do DevOps. Histórias de sucesso atraem novos talentos para o movimento e criam um excelente canal de feedback, que fomentam um processo de melhoria contínua; O DevOps é um movimento em constante construção e definição, seguir ou aplicar a cultura DevOps em uma empresa parte principalmente da mudança de cultura.
O DevOps é um movimento em constante construção e definição, seguir ou aplicar a cultura DevOps em uma empresa parte principalmente da mudança de cultura.

Ferramentas

Um dos principais princípios do DevOps é investir em automação. A automação permite executar tarefas ou processos mais rapidamente e diminuir a possibilidade de erros humanos e para isso podem ser citadas algumas ferramentas:

Vagrant
Ferramenta que permite a construção de ambientes virtualizados de desenvolvimento completos, com um fluxo de trabalho fácil e simples de usar e com foco na automação.

Docker

Docker é uma plataforma aberta para desenvolvedores e administradores de sistema, que ajuda na criação e execução de aplicações distribuídas.
Puppet

Ferramenta de código aberto para gerenciamento de configuração. A ideia é ter a configuração centralizada e sendo distribuída pra várias maquinas ou servidores na rede;
Chef

Chef permite automatizar a forma como se constrói, implanta e gerencia a infraestrutura, tornando versionáveis e testável.
Composer

Gerenciador de dependências da aplicação, permite manter e incluir novos pacotes/bibliotecas necessárias facilmente na aplicação.
New Relic

É uma ferramenta de monitoramento de aplicação onde permite análise da aplicação e ajuda pessoas que constroem software a entender o que os históricos de dados estão tentando dizer-lhes, através da coleta, armazenamento e analise dos mesmos. Ferramentas existem muitas e surgem mais a cada dia, basta analisar qual a necessidade real para cada caso.

Bem, esse foi o "migué" de hoje, e creio que agora vocês já conseguem me dar a resposta da pergunta deste post. Deixem seus comentários sobre oque acharam. Abaixo alguns links de help. Esperam que tenham gostado e até lá pruexima!

Links para leitura

Link apresentação monografia I:

Link monografia completa:

O que é DevOps afinal?

Agile DevOps: Quebrando os silos.

O que é DevOps? Metodologia, benefícios e ferramentas.

Cultura DevOps e integração entre infra e devel

DevOps.com

Blog do Patrick Debois referencias sobre DevOps

DevOps Brasil

SecOps – Segurança em DevOps

Ferramentas para criar uma cultura eficiente de DevOps

Eventos oficiais do DevOps que acontecem pelo mundo

Comentários

Postagens mais visitadas deste blog

E Esse Tal de Nano Service?

Executar Audio em Java Swing

Validando Email em Java Com e Sem expressão Regular