Vivemos na era da transformação digital, onde a velocidade das coisas aumenta a cada dia. Negócios tradicionais são desafiados por startups e empresas tech. Novos serviços e aplicativos são criados e tornam-se obsoletos da noite para o dia. O consumidor tem o poder da escolha na palma da mão. Nesse cenário, as empresas sofrem pressão para mudar ou morrer, e a tecnologia é o grande aliado e o pior inimigo. Erros nos processos do consumo podem levar uma empresa a perder a sua liderança.
O ciclo entre uma ideia e sua materialização precisam ser encurtado sempre, ou então, se perde o momento da novidade, enquanto a concorrência ganha o espaço. E para sobreviver nesse cenário, as empresas de alta tecnologia começaram a utilizar a cultura DevOps.
E para te ajudar a desvendar o que é DevOps, eu escrevi esse artigo que te deixará antenado quanto a esse conceito. Acompanhe!
Desafios e soluções para a TI no contexto atual
Para responder aos desafios de um mundo conectado e veloz, o modelo tradicional de desenvolvimento, testes, produção e operação deixa a desejar. Isso porque cria gargalos e atritos, principalmente na relação entre os times de desenvolvedores. Cada uma das grandes áreas da TI acaba sendo um grande silo, onde regras rígidas regem a interação entre estas áreas.
De um lado do ringue, o Desenvolvimento – que busca responder da melhor forma os insights do negócio com a maior velocidade de entrega possível. No outro, a Operação de TI em busca da estabilidade dos ambientes e do controle do que está em produção. Para tanto, cria processos e procedimentos que garantem que os releases entregues estejam estáveis e não gerem novos incidentes. Tudo isso, sem esquecer da sustentação constante do que já está em produção.
O abismo entre estas duas entidades – Desenvolvimento e Operação – cria lutas homéricas que levam à redução da velocidade de entrega e de resolução de problemas. Para reduzir este atrito e permitir que as ideias do negócio sejam transformadas em funcionalidades para os consumidores dos serviços, em 2010 surgiu, o conceito de DevOps; conceito este que se desenvolveu e, no último ano, ganhou a atenção do mercado de TI.
DevOps: conceito e vantagens
É difícil buscar um conceito único para DevOps, pois o mercado tem olhado para este tema como os cegos veem um elefante: Parcialmente.
Antes de mais nada, DevOps é uma cultura de entrega, que coloca o desenvolvimento de software próximo da operação de TI, reduzindo o gap entre as duas áreas e colhendo todos os resultados desta aproximação. DevOps não é ferramenta e não é metodologia, mas um conjunto de práticas calcadas em ferramentas de apoio e na automação de atividades que altera a cultura organizacional para a criação e utilização de processos ágeis.
Daí, partem o Desenvolvimento Ágil, a Infraestrutura Ágil, a Operação Ágil e a Segurança Ágil. Complementando o Ágil, estão ainda a Integração Contínua e a Entrega Contínua.
O DevOps deve abranger todo o ciclo de Desenhar, Construir e Operar, unificando estes grandes blocos e tendo por trás de seu funcionamento, a governança e segurança necessárias. Para que o DevOps seja caracterizado, o componente de automação deve estar presente em todas estas etapas da cadeia Ágil, garantindo o mínimo de interação e esforço humano para a realização de processos acessórios.
Atividades do DevOps e suas aplicações
Desenvolvimento Ágil
Utilização de metodologias ágeis, como Scrum, para todo o ciclo de desenvolvimento – o que reduz as documentações necessárias e cria entregas mais rápidas com menor número de requisitos em cada entrega. O objetivo é que os insights do negócio sejam convertidos em código o mais rápido possível, sem esperar que todo o requisito esteja pronto para começar o desenvolvimento.
Infraestrutura Ágil
provisionamento automático do ambiente de TI como: servidores, serviços, bancos de dados para os ambientes de desenvolvimento, testes, homologação e produção de acordo com as necessidades elásticas das aplicações, através de IaaS, PaaS e Containers.
Operação Ágil
Automação de tarefas de operação e produção por meio de scripts que respondam a situações específicas com ampla redução da interação humana na operação. Aqui, trata-se também da automação do ciclo de release de software, de resposta a incidentes, a eventos de monitoração e a alertas de capacidade do ambiente, bem como a automação de tarefas manuais de cópias e validações de arquivos, subida e parada de serviços.
Segurança ágil
Provisionamento automático de identidades, cofres de senhas personificando a administração, orquestração de regras de acesso isolando cada um dos ambientes de desenvolvimento, homologação e produção, garantindo que todas as atividades e automatizações respeitem a governança e os quesitos de segurança dos ambientes.
Concluindo, para que as empresas estejam dentro da nova revolução industrial, da sociedade do consumo rápido de informações e, consequentemente, da transformação digital, há uma necessidade de mudança organizacional; uma guinada que abrange muito mais do que a TI em si e muito mais do que a relação entre Desenvolvimento e Operações.
Dessa forma, a TI passa a ser vista como parte do negócio e não somente um suporte. O necessário rompimento de conceito é grande, uma vez que os tabus precisam ser quebrados; os planos de comunicação precisam ser claros, concisos e seguidos, e é necessário parar de olhar para o recurso humano executor de atividades e olhar para o serviço como um todo. Uma vez que a empresa passe a ver de forma holística o ciclo de desenvolvimento, testes, produção, operação, como uma atividade única, sem barreiras, esta empresa estará automaticamente usando DevOps.