Keep C.A.L.M.S. and do DevOps@UniBH – 12/11/2019

Terça-feira, dia 12/11/2019, tive a oportunidade de palestrar sobre DevOps para alunos de Ciências da Computação e Sistemas de Informação do Centro Universitário de Belo Horizonte – UniBH no campus Cristiano Machado.

Falamos sobre os pilares do DevOps, a cultura colaborativa, a importância do compartilhamento de conhecimento e principalmente empatia.

Um dos temas abordados foi a evolução do DevOps a nível mundial, baseado no relatório State of DevOps da Puppet.

Alunos de Sistemas de Informação e Ciências da Computação

A apresentação está disponível no link: Keep C.A.L.M.S. and do DevOps UniBH

Agradeço a Priscilla Gomes e a Rafaela Moreira a oportunidade de conversar sobe um tema de extrema importância.

Certificação DevOps – Parte 2

Continuação da Parte1.

Durante a leitura do Phoenix, sempre pesquisando mais sobre esse tal de DevOps, percebi que estava descobrindo um universo bem maior do que simplesmente CI/CD, build automático, versionamento Git ou testes de qualidade/automatizados. A quantidade de disciplinas, tecnologias e conceitos envolvidos é algo que extrapola qualquer conceito malformado ou simplista. Foi aí que as primeiras palavras chave entraram no jogo, cultura e mindset!

A premissa para adoção de DevOps é a mudança na cultura organizacional. Foi por esse motivo que a lista de livros aumentou e o Mindset entrou na fila de leitura, agora com 5 livros.

O curso em BH seria como um “intensivão” de aproximadamente 16h de aula presencial num fim de semana (sábado e domingo), e um complemento de aproximadamente 2 a 3 horas de aula online após alguns dias, ou seja, muito conteúdo para pouco tempo.

Começamos o sábado muito bem, com pessoas de diversas empresas, conhecimentos diversos, funções das mais variadas, e até mesmo objetivos e expectativas diferentes a respeito do DevOps, até porquê o conceito ainda seria esclarecido, não só ao longo do curso, mas ao longo dos estudos, o que traria cada vez mais clareza sobre o assunto. Cada aluno com sua experiência, expectativa, e visão de aplicação de DevOps dentro do seu setor, foi percebendo que o “bixo” DevOps era bem mais amplo que uma sopa de letrinhas e ferramentas. A união Dev + Ops foi ficando mais clara a medida que discussões surgiam, apesar do nome não ser algo novo, sendo difundido a partir de 2009, por Patrick Debois através do primeiro devopsdays.

Uma das coisas que mais me chamou atenção, foi que todos tinham tendência a citar formas de implementação utilizando diversas ferramentas, e não mecanismos arquiteturais. Ficou muito claro ao longo do curso que, independente da ferramenta ou tecnologia, os pontos que exigiam mais atenção, eram a cultura organizacional e a mudança de pensamento dos colaboradores dessa organização, principalmente dos líderes.

Curiosamente, testes é a outra disciplina que, junto a cultura organizacional, ocupa o segundo lugar em carga horária. Por que será?
Dois dos maiores desejos de organizações ao adotar DevOps, são o Continuous Delivery e Continuous Deployment. Desejo esse que, dentre diversos fatores, é diretamente proporcional à quantidade de testes automatizados, dos mais diversos tipos. Não há como automatizar um processo de entrega contínua de valor se não existe um processo onde erros, como os mais simples, são tratados na ponta, lá no pedido do cliente, na máquina do programador, ou mesmo após a entrega de diversas features. Nada pode seguir adiante sem que testes como os de integração e aceitação estejam 100%.

Legal, agora sabemos que cultura organizacional, mudança no pensamento e automação de testes, são alguns pilares para dar mais um passo no DevOps. Mas como entregar valor se não temos bem definido o que, quando e pra quem entregar? É aí que entram as metodologias ágeis de desenvolvimento de software.

Entre 1947 e 1975, utilizando Lean Manufacturing, Just-in-time e Kanban, Taiichi Ohno criou o famoso Toyota Production System. Acredito que ninguém daquela época, imaginaria que o desenvolvimento de software no século 21 seria baseado nesse modelo de sucesso, que hoje é referência para as mais diversas industrias.

Scrum, Agile, Kanban, Lean, etc, são as referências para que a entrega contínua de valor se torne realidade. Não havia mais como esperar o ciclo completo de um processo waterfall. Sendo assim, o backlog é uma peça crucial para que a entrega seja adequada, agregue valor para o cliente e que o Return of investment seja de acordo com o esperado.

Tudo está muito bonito até agora, uma sopa de letrinhas, um monte de automação para entrega de código, com qualidade, todas as features bem definidas pelos clientes, mas e agora, onde vamos entregar isso tudo?

Infraestrutura! É nesse emaranhado de servidores, regras de firewall, storages, etc que vamos colocar nossa aplicação disponível para o mundo!

Profissionais de infraestrutura suam para manter centenas de programas rodando, consumindo recursos, sem que muito possa ser feito. Por isso, toda automação, todos os testes e toda arquitetura de software deve ser bem planejada para que os serviços, ou melhor, microserviços sejam escaláveis, tenha capacidade de auto recuperação, não consumam mais recursos que o devido, suportem uma carga de requisições preestabelecida, dentre demais atributos de qualidade.
Por motivos como esses, dentre dezenas que posso citar, o conteúdo de Infraestrutura, gerenciamento de dados e dependências de componentes está em primeiro lugar na carga horária do curso.

Agora vem o calcanhar de Aquiles, governança! Essa palavrinha dá até arrepios em muitos gestores.
Agora imagine se além dessa automação toda, a governança conseguisse realizar seu trabalho, com normas, procedimentos, coletando evidências? O ITIL sofreu nos últimos anos muito preconceito por não se adequar a esse novo modelo de trabalho, sugerindo-se inclusive o “ITIL Lite”. Agora, com o lançamento do ITIL 4 (que pretendo escrever em breve), acredito que teremos novidades para o mundo DevOps.

Bastante coisa foi citada, mas não é tudo! Na parte 3 continuo para que este post não fique muito extenso.

Obrigado a todos e até breve!

Certificação DevOps – Parte 1

Em maio de 2018, estava buscando algo “novo” que pudesse fazer para me atualizar, algo que realmente desse uma sacudida na carreira. Esse tal de DevOps parecia interessante, e resolvi me aprofundar mais.

O termo já estava em uso há algum tempo, porém pouco difundido, principalmente por um dos pilares ser uma mudança de cultura organizacional. Era coisa de empresa grande, ou de startups, algo que só Google, Netflix, Spotify tinham, algo tão revolucionário que parecia coisa de filme, história de um livro, onde as coisas funcionavam maravilhosamente bem, um mundo perfeito! Minha primeira reação foi “cara, isso é demais”, “eu quero fazer isso”.

Não foi preciso muita pesquisa no Google para descobrir que essa “coisa” tinha até certificação, e o órgão certificador era a Exin, que oferta (ainda na data deste post) tres certificações:

Ao ler um pouco a respeito de cada uma das certificações disponíveis, baseado na minha experiência, julguei que tinha condições de prosseguir nos estudos direto para a certificação DevOps Master, e imediatamente fui em busca da literatura sugerida para o exame.

Além da literatura, a certificação Master exige um curso oficial obrigatório como pré-requisito para realização do exame, sendo assim, procurei saber e em agosto de 2018 teria uma turma em Belo Horizonte, fiz inscrição. Agosto que me aguardasse!

Pela praticidade e principalmente pelo valor, optei pela compra dos livros para o Kindle.
Os livros indicados pela Exin são:

Para todos os livros citados, fiz a opção pela versão em Inglês. Não sou muito adepto a literatura traduzida, acho que não é tão fiel ao original.

Iniciando pelo livro que julgo leitura obrigatória para quem quer praticar DevOps o The Phoenix Project é um romance. A história é cativante e você quer saber sempre o que vai acontecer. Me impressionei o quanto associei as situações do livro com situações reais e mais que isso, consegui até associar personagens a pessoas reais.

Finalizei a leitura do Phoenix pouco antes do curso. Decidi aguardar o curso para saber qual seria a estratégia de leitura dos próximos livros, além do material do próprio curso.

Na parte 2 falo sobre o curso.