DevOps

Consiste em uma abordagem cada vez mais comum para oferta de software, em que as equipes de desenvolvimento e de operações colaboram para desenvolver, testar, implementar e monitorar aplicativos com velocidade, qualidade e controle.

O DevOps é relevante para qualquer tipo de projeto de software, independentemente de arquitetura, plataforma ou propósito. Casos de uso comuns incluem: aplicativos nativos em cloud e móveis, integração de aplicativos, modernização e gerenciamento multicloud.

Como começar com a DevOps?

Criar a cultura certa, identificar negócios, desafios, encontrar e eliminar gargalos:

Identificar objetivos de negócios: A primeira tarefa na criação de uma cultura é fazer com que todos olhem na mesma direção e trabalhem rumo ao mesmo objetivo, o que significa identificar objetivos comuns de negócios para a equipe e a organização como um todo.

Identificar gargalos no pipeline: Um dos maiores gargalos no pipeline é a implantação de infraestrutura. A adoção de uma abordagem DevOps aumenta a velocidade de entrega de aplicativos e pressiona a infraestrutura a responder mais rapidamente.

Cultura DevOps: É caracterizada por um alto grau de colaboração entre os papéis, foco nos negócios – em vez de objetivos departamentais –, confiança e alto valor colocado no aprendizado através da experimentação.

Seus objetivos são reduzir desperdícios e retrabalhos, e transferir recursos para atividades de maior valor. Um exemplo de uma prática comum no pensamento enxuto é o teste A-B, no qual as organizações pedem a um pequeno grupo de usuários para testar e classificar dois ou mais conjuntos de software que tenham diferentes capacidades. Em seguida, o conjunto de melhor capacidade é implantado para todos os usuários, e a versão mal sucedida é revertida. Esse teste A-B é realizável apenas com mecanismos eficientes e automatizados, como aqueles que o DevOps facilita.

A arquitetura de referência DevOps propõe os seguintes conjuntos de caminhos de adoção:

DevOps e nuvem são catalisadores
e facilitadores um para o outro

À medida que as organizações adotam a nuvem, o valor desta para hospedar uma carga de trabalho de DevOps se torna evidente. A flexibilidade, resiliência, agilidade e os serviços que uma plataforma em nuvem traz permitem simplificar um pipeline de entrega de aplicativos hospedado na nuvem. Ambientes desde o desenvolvimento até testes, e todo o caminho até a produção, podem ser provisionados e configurados conforme o necessário. Esse processo minimiza os gargalos relacionados ao ambiente no processo de entrega. As organizações também estão procurando aproveitar plataformas em nuvem para reduzir o custo de desenvolvimento e testar ambientes, ou para fornecer uma experiência moderna e simplificada de desenvolvimento para seus profissionais. Tudo isso representa um cenário extremamente convincente para a adoção em nuvem com e para DevOps.

Um dos princípios da DevOps é desenvolver e testar em um ambiente de produção. Soma-se ao gargalo da disponibilidade ambiental o desafio do ambiente disponível não corresponder ao ambiente produtivo: essa incompatibilidade pode ser tão simples quanto as diferenças na configuração do ambiente — no sistema operacional (OS) ou no nível de middleware — ou tão drástica quanto um tipo totalmente diferente de OS ou middleware nos ambientes de desenvolvimento que são usados na produção.

 

A falta de disponibilidade de ambientes resulta em tempos de espera potencialmente elevados. O descompasso entre ambientes de desenvolvimento e produção pode introduzir problemas significativos de qualidade, porque os desenvolvedores não podem verificar como o aplicativo que está sendo desenvolvido se comportará no ambiente de produção, ou se ele pode mesmo ser implantado para a produção através dos processos usados para testar ambientes.