Para entender o que é DevOps é ideal conhecer a origem deste termo: combinação entre Desenvolvimento de Software (DEV) e Operações em TI (OPS). Por ser uma metodologia que está em constante modificação, é difícil se limitar a apenas uma definição, mas, em resumo, é uma forma de trabalhar com o objetivo em ampliar o nível de responsabilidade dos desenvolvedores para que criem, testem e liberem os softwares com mais velocidade.
Surgimento do DevOps
O DevOps foi formalmente introduzido como metodologia de programação no ano de 2009, tendo como objetivo aproximar a área de desenvolvimento e a de operação criando sinergia e aumentando a qualidade da entrega.
Esta nova forma de trabalho surgiu durante uma época que muito se falava sobre Ágile, Lean e outras metodologias ágeis que, não há como negar, foram a base para a construção deste novo pensamento. A necessidade de ganhar mais velocidade no processo de construção e liberação de softwares desencadeou uma série de tentativas, algumas com sucesso e outras não, de automatizar e criar rotinas mais eficientes em programação.
Como resultado, obteve-se uma coletânea das melhores práticas de tudo aquilo que já vinha sendo aplicado, com as devidas adaptações e possíveis correções de falhas experimentadas. Mesmo assim, DevOps não é uma visão fechada e continua evoluindo conforme vão se identificando possibilidades e necessidades, como tudo no mundo dinâmico da tecnologia.
Comunicação e Integração
A ideia de estreitar essa relação entre os processos de desenvolver e operar se baseia em três pilares principais, sendo: comunicação, colaboração e integração.
Mais do que uma nova forma de trabalhar, o DevOps traz à tona a necessidade de uma nova maneira de pensar, um novo modelo mental e uma nova cultura. O resultado? Um planejamento mais eficiente e uma execução mais segura, com menos bugs e maior qualidade para o usuário final.
Com este método de trabalho fica claro para todos os envolvidos quais são os processos a serem realizados e as ferramentas para utilizá-los, além de delimitar as responsabilidades de cada um, minimizando assim o risco de atrasos e complicações por causa de falhas na comunicação.
Empresas que utilizam o DevOps
Empresas como Amazon e o Twitter são adeptas desta filosofia devido à velocidade com que ocorrem as mudanças nos mercados nos quais estão inseridas. Desse modo, o DevOps se transformou numa peça-chave para o sucesso dessas empresas.
O mesmo acontece com a Netflix, que, com base em novos conceitos e ferramentas, vem crescendo a passos largos, fazendo uso da DevOps em grande escala. Os desenvolvedores têm autonomia para criar, implantar e operar os próprios grupos de servidores, sendo responsáveis, inclusive, por qualquer problema que ocorra durante este processo.
Esta autonomia permite que os desenvolvedores resolvam constantes problemas de falhas de hardware ou de conexão com mais rapidez e precisão. Um fato curioso é que falhas são muitas vezes geradas propositalmente, com um software chamado Simian Army.
Este software insere falhas de maneira aleatória, criando assim uma cultura de que nenhum problema pode ser ignorado, ou seja, uma postura de estar sempre pronto para resolver qualquer questão.
Principais ferramentas e práticas
Com o surgimento desta nova cultura, surgiu também mais uma lacuna no mercado: softwares que suportem este novo meio de trabalhar.
Hoje, existem vários sistemas que prometem auxiliar na jornada para a qualidade e velocidade através do DevOps. Entre eles estão:
- Chef: framework para sistemas e infraestruturas em nuvem, tornando os processos de construção, entrega e gerenciamento de infras mais seguros e rápidos.
- Docker: possui serviço em nuvem que atua com o compartilhamento de aplicações e facilitação do fluxo de trabalho.
- SaltStack: tem como proposta a construção de nuvens, além de gerenciar a automação de dados e a provisão de servidores.
Ferramentas como essas contribuem para que o fluxo do trabalho seja seguido e acompanhado em tempo real, permitindo ajustes rápidos durante o processo. Além disso, a distribuição das tarefas fica mais clara e o registro das atividades fica concentrado, facilitando a criação de indicadores.
Vantagens
As vantagens no uso do DevOps são incontáveis, a começar pelo ganho de velocidade e qualidade. Mas não para por aí. Podemos citar, por exemplo, a construção de um clima de parceria entre dois lados do desenvolvimento de sistemas que costumeiramente não se dão lá muito bem.
Metodologias anteriores, adotadas por organizações tradicionais, lidam separadamente com os departamentos de desenvolvimento, operações de TI e qualidade. Isso porque o desenvolvimento tem quase sempre a meta de liberar as versões o mais rápido possível, focando na velocidade.
Já a operação foca em qualidade, então sua principal preocupação não é o tempo que isso levará. Estes comportamentos análogos acabam gerando muitos desentendimentos e não colaboram em nada com o processo.
Utilizando o DevOps, desenvolvimento e operações precisam trabalhar juntos e ampliar seu nível de conhecimento um na área do outro, criando assim uma empatia fundamental para o processo (e de quebra a empresa ainda ganha colaboradores mais bem treinados e com mais inteligência emocional). Podemos dizer então que a criação de equipes multidisciplinares é o grande trunfo dessa metodologia.
Aumento de responsabilidade
Quando se trabalha com o DevOps, podemos dizer que todos têm responsabilidades para o sucesso do projeto, com o detalhe de que não possuem autoridade formal. Mesmo assim, além da necessidade de grandes habilidades técnicas, os profissionais precisam ter habilidades de relacionamento e de gestão bem amadurecidos.
Trabalhar com esta nova cultura requer uma postura aberta à inovação, vontade de contribuir em outras frentes e a visão sistêmica de que tudo está interligado, tendo ciência de que o que se faz aqui, impacta lá, e assim por diante. Esse aumento no nível de responsabilidade é uma das maiores características desta metodologia e os profissionais precisam estar cientes disso.
Trabalhar com DevOps é uma estratégia que exige o comprometimento dos profissionais envolvidos em níveis maiores do que a maioria está acostumada, tirando-os assim da zona de conforto. É importante entender que a autonomia vem com responsabilidade, aproveitando a oportunidade para exercer habilidades que agregam muito na carreira.
Gostou de saber o que é DevOps?
Então, siga-nos nas redes sociais e fique sempre conectado sobre as notícias e tendências da Transformação Digital. Estamos no Facebook, Youtube, Instagram e Linkedin!