GitOps: o que é?
Neste artigo apresentamos a introdução ao GitOps.
A ideia central do GitOps é ter um repositório git que contém descrições declarativas da infraestrutura desejada no ambiente de produção e tenha um processo automatizado para fazer o ambiente de produção corresponder ao estado descrito naquele repositório.
Agora que já sabemos a ideia central, voltemos um pouco para a sigla GitOps e vamos entender qual o papel do git, o papel do ops e como eles se encontram.
O que é Git?
Git é um sistema de controle de versão distribuído utilizado para gerenciar arquivos de diversos tipos e também uma ferramenta para colaboração de times para gerenciar o código fonte de uma aplicação.
O que é Ops?
Ops vem de operação, que diz respeito ao release, automação de deploy e monitoramento de uma aplicação.
O que é GitOps?
Segundo a empresa Waveworks, GitOps é:
Um modelo operacional para infraestrutura como código, que fornece um conjunto de práticas recomendadas e unificam a implantação, o gerenciamento e o monitoramento de aplicativos em contêineres.
Um caminho para uma experiência de desenvolvimento para gerenciar aplicativos; onde pipelines CI/CD ponta a ponta e fluxos de trabalho Git são aplicados a operações e desenvolvimento.
Ou seja, GitOps é um padrão de implantação contínua para aplicativos nativos em nuvem, que se concentram em uma experiência centrada em desenvolvedoras e desenvolvedores para operação de infraestrutura.
É feito ao abordar o gerenciamento de cluster e a entrega de aplicativos usando ferramentas com as quais as pessoas que desenvolvem já estão familiarizados como o Git, que é usado como única fonte de verdade, na qual a configuração da sua infraestrutura vai estar dentro da base de código, além de usar outras ferramentas como código de pipelines automatizados, webhooks para ferramentas de implantação contínua.
Se gostou desse conteúdo e quer saber mais sobre, aqui na Alura temos uma Formação DevOps onde vamos aprender integração e entrega contínua, o que é infraestrutura como código e como automatizar a instalação de uma máquina e as dependências necessárias através das ferramentas de provisionamento.