Cinco princípios fundamentais de DevOps
Para realizar todo o potencial do DevOps, as equipes devem seguir os princípios essenciais do DevOps
O DevOps é mais do que apenas equipes de desenvolvimento e operações trabalhando juntas. É mais do que ferramentas e práticas. O DevOps é uma forma de pensar, uma mudança cultural, em que as equipes adotam novas formas de trabalhar.
Na cultura de DevOps, os desenvolvedores se aproximam dos usuários, obtendo uma compreensão melhor dos requisitos e necessidades deles. As equipes de operações se envolvem no processo de desenvolvimento e adicionam requisitos de manutenção e necessidades do cliente. Ela também envolve aderir aos princípios essenciais a seguir, que ajudam as equipes de DevOps a oferecer aplicativos e serviços em um ritmo mais rápido e com maior qualidade do que as organizações que usam o modelo de desenvolvimento de software tradicional.
Colaboração
A principal premissa por trás do DevOps é a colaboração. As equipes de desenvolvimento e operações se unem em uma equipe funcional que se comunica, compartilha feedback e colabora durante todo o ciclo de desenvolvimento e implementação. Muitas vezes, quer dizer que as equipes de desenvolvimento e operações se fundem em uma única equipe que trabalha em todo o ciclo de vida do aplicativo.
Os membros de uma equipe de DevOps são responsáveis por garantir entregas de qualidade em cada faceta do produto, levando a um desenvolvimento mais "full stack", em que as equipes têm as responsabilidades completas de back-end e front-end de uma função ou produto. As equipes vão ser as donas de uma função ou projeto durante todo o ciclo de vida, da ideia até a entrega. O nível aprimorado de investimento e atenção da equipe leva a uma produção de maior qualidade.
Automação
Uma prática essencial do DevOps é automatizar o máximo possível o ciclo de vida do desenvolvimento do software, dando aos desenvolvedores mais tempo para escrever código e desenvolver novas funções. A automação é um elemento crucial de um pipeline de IC/CD e ajuda a reduzir erros humanos e aumentar a produtividade da equipe. Com processos automatizados, as equipes obtêm melhoria contínua com tempos de iteração curtos, o que permite responder com mais rapidez aos comentários dos clientes.
Implementação contínua
A melhoria contínua foi estabelecida como um elemento básico das práticas ágeis, bem como da fabricação lean e Kata de melhoria. É a prática de se concentrar na experimentação, minimizar o desperdício e otimizar a velocidade, o custo e a facilidade de entrega. A melhoria contínua também está ligada à entrega contínua, permitindo que as equipes de DevOps enviem atualizações constantes que melhoram a eficiência dos sistemas de software. O pipeline constante de novas versões significa que as equipes promovem com consistência alterações de código que eliminam o desperdício, melhoram a eficiência do desenvolvimento e trazem mais valor ao cliente.
Ação voltada ao cliente
As equipes de DevOps usam ciclos curtos de feedback com clientes e usuários finais para desenvolver produtos e serviços centrados nas necessidades do usuário. As práticas de DevOps permitem coleta e resposta rápidas ao feedback do usuário por meio do uso de monitoramento em tempo real e implementação rápida. As equipes obtêm visibilidade imediata de como os usuários ativos interagem com um sistema de software e usam os dados para desenvolver melhorias adicionais.
Criar com o final em mente
Esse princípio envolve entender as necessidades dos clientes e criar produtos ou serviços que resolvam problemas reais. As equipes não devem "criar uma bolha" ou um software com base em suposições sobre como os consumidores vão usar o software. Como alternativa, as equipes de DevOps devem ter uma compreensão holística do produto, da criação à implementação.
O DevOps não é o trabalho de uma pessoa individual. É o trabalho de todos.
Christophe Capel
Gerente principal de produto, Jira Service Management
Quem está realizando DevOps?
Chef é a empresa por trás da plataforma Chef Automate para fluxos de trabalho de DevOps. Dezenas de milhares de desenvolvedores usam Chef para testar, automatizar e gerenciar a infraestrutura. Na vanguarda da evolução de DevOps, a empresa baseada em Seattle lançou produtos como Chef, InSpec, Habitat e Chef Automate para aprimorar novas maneiras de desenvolver e enviar software e aplicativos. Para experimentar e refinar suas próprias práticas de DevOps, a Chef conta com a plataforma da Atlassian.
História do DevOps
O movimento do DevOps começou por volta de 2007, quando as operações de TI e comunidades de desenvolvimento de software levantaram preocupações sobre o modelo de desenvolvimento de software tradicional. Embora as metodologias ágeis tenham sido adotadas em geral pelas equipes de desenvolvimento para melhorar a colaboração, entre outros benefícios, os desenvolvedores que escreviam código muitas vezes trabalhavam fora da equipe de operações que apoiava o código na produção. Essa prática resultava em processos ineficientes e uma falta geral de colaboração entre essas duas equipes isoladas.
A solução foi o DevOps, que conecta essas equipes para que elas trabalhem com coesão. O DevOps reúne as habilidades, os processos e as ferramentas das equipes de desenvolvimento e operações.
Benefícios do DevOps
Existem três categorias principais de benefícios do DevOps: benefícios técnicos, benefícios culturais e benefícios de negócios. Os benefícios técnicos incluem complexidade reduzida, entrega contínua e resolução de problemas mais rápida. Em geral, os profissionais de DevOps implementam código de alta qualidade com mais rapidez do que as equipes tradicionais em silos.
Os benefícios culturais proporcionam equipes mais produtivas e eficientes e clientes mais satisfeitos. Quanto aos negócios, os benefícios incluem maior colaboração e confiança entre os membros da equipe, o que resulta em entregas mais rápidas e ambientes operacionais estáveis.
Cultura de DevOps
O DevOps é uma mudança cultural em que as equipes adotam uma cultura de engenharia de software, fluxo de trabalho e conjunto de ferramentas que elevam os requisitos operacionais ao mesmo nível de importância que a arquitetura, design e desenvolvimento. Os desenvolvedores que criam e executam o software têm uma maior compreensão dos requisitos e necessidades dos usuários. Os valores de uma cultura de DevOps incluem o aumento da transparência, a comunicação e a colaboração entre equipes.
Engenheiro de DevOps
Quando as empresas querem implementar o DevOps, elas podem recorrer a um engenheiro de DevOps. Essa pessoa deve ter um amplo conjunto de habilidades que abranjam o desenvolvimento e as operações, bem como habilidades interpessoais para ajudar a conectar equipes fragmentadas.
O engenheiro de DevOps é um generalista de TI com amplo conhecimento sobre a rotina do desenvolvimento de software, gerenciamento de infraestrutura em nuvem, administração de sistemas e automação.
Serviços sempre disponíveis
Os clientes esperam e exigem serviços sempre disponíveis e ativos. O DevOps é adequado para oferecer suporte a software "sempre disponível" ou software como um serviço. Ele reforça o ciclo de implementação contínua, feedback e manutenção ou resposta a incidentes de que as equipes precisam para manter os serviços sempre disponíveis e ativos.
Próximo tópico
Leitura recomendada
Marque esses recursos para aprender sobre os tipos de equipes de DevOps ou para obter atualizações contínuas sobre DevOps na Atlassian.