DevOps é a combinação de filosofias culturais, práticas e ferramentas que aumenta a capacidade de uma organização de distribuir aplicativos e serviços em alta velocidade: otimizando e melhorando produtos em um ritmo mais rápido do que o das organizações que usam processos tradicionais de desenvolvimento de software e gerenciamento de infraestrutura. Essa velocidade permite que as organizações atendam melhor aos seus clientes e compitam com mais eficácia no mercado.

A transição para o DevOps exige uma mudança de cultura e de mentalidade. Em sua essência, o DevOps trata-se de remover as barreiras entre duas equipes tradicionalmente isoladas: a de desenvolvimento e a de operações.
Em alguns modelos de DevOps, as equipes de garantia de qualidade e de segurança também se integram ainda mais com o desenvolvimento e as operações e durante todo o ciclo de vida da aplicação.
As equipes de DevOps usam práticas para automatizar processos que, historicamente, eram manuais e lentos. Elas usam um conjunto de tecnologias e ferramentas que as ajudam a operar e evoluir aplicativos de maneira rápida e confiável.
Essas ferramentas também ajudam os engenheiros a realizar tarefas independentemente (por exemplo, a implantação de códigos ou o provisionamento da infraestrutura) que normalmente exigiriam a ajuda de outras equipes, e isso aumenta ainda mais a velocidade da equipe.

A integração contínua (CI) é uma prática de desenvolvimento de software em que os desenvolvedores mesclam regularmente alterações de código em um repositório central. As principais metas da integração contínua são encontrar e investigar bugs mais rapidamente, melhorar a qualidade do software e reduzir o tempo necessário para validar e lançar novas atualizações de software.
A entrega contínua (CD) expande essa prática, implantando automaticamente todas as alterações de código em um ambiente de teste e/ou produção após o estágio de criação.
Com a entrega contínua, você sempre tem um artefato de implantação pronto para ser implementado, garantindo que o software possa ser lançado de forma confiável a qualquer momento.

A arquitetura de microsserviços é a abordagem de criação de um único aplicativo como um conjunto de serviços pequenos, onde cada serviço é executado em seu próprio processo e se comunica com outros serviços por meio de uma interface bem definida.
A infraestrutura como código (IaC) é uma prática na qual a infraestrutura é provisionada e gerenciada usando técnicas de desenvolvimento de código e software, como controle de versão e integração contínua.
Com IaC, a infraestrutura é definida em arquivos de configuração que permitem que sua infraestrutura seja editada e distribuída de maneira segura, repetível e escalável, assim como acontece com o código de aplicação.

As organizações monitoram métricas e logs para ver como o desempenho da aplicação e da infraestrutura afetam a experiência do usuário final do produto. Ao capturar e analisar dados gerados pelos aplicativos, as organizações entendem como as alterações afetam os usuários, obtendo insights sobre as causas principais de problemas.
A monitoração ativa torna-se cada vez mais importante à medida que os serviços devem estar disponíveis 24 horas por dia, 7 dias por semana. Além disso, o aumento da comunicação e da colaboração é um dos principais aspectos culturais do DevOps.
As equipes definem normas culturais sólidas em torno do compartilhamento de informações e da facilitação da comunicação por meio do uso de aplicativos de chat, sistemas de rastreamento de problemas ou wikis.