GitOps

A importância do GitOps: avançando em direção ao nativo da nuvem

Ao integrar processos, práticas e ferramentas de GitOps, é possível criar uma base sólida para seus aplicativos nativos da nuvem.

À medida que a sua organização avança para se tornar nativa da nuvem, você precisa mudar a sua mentalidade. Em vez de pensar em termos de máquinas virtuais, armazéns de dados, cascatas e migrações, suas equipes estarão em transição para um mundo de contêineres, lagos de dados, metodologia ágil, automação e sem servidor.

A expressão “nativo de nuvem” significa adotar uma maneira mais inteligente, rápida e escalável de operar — uma maneira habilitada pela nuvem que ajude você a resolver desafios de negócios e melhorar as experiências dos clientes de forma rápida e com um conjunto de ferramentas mais rico.

Embora o DevOps tenha levado a grandes avanços nessa área para o desenvolvimento de aplicativos, a infraestrutura permaneceu praticamente estagnada. Muitas equipes de infraestrutura ainda estão presas com modelos de serviço manual, estruturas e processos desatualizados.

É aí que entra o GitOps. Com o GitOps, você pode aplicar uma mentalidade nativa da nuvem à sua infraestrutura para criar um ambiente elástico que ofereça suporte a implementações contínuas e, ao mesmo tempo, estabeleça confiabilidade e segurança.

Como é o GitOps?

1. Ele é baseado em código

Por meio de ferramentas como Kustomize, Helm, Terraform e Ansible, você pode declarar (definir) serviços/plataformas por meio de linguagens de configuração. E você armazenará seu repositório de modelos e manifestos em um sistema de controle de origem baseado em Git, criando uma única fonte de verdade para suas equipes de DevOps ou SRE.

2. Ele aplica anteparos eficazes

Ao declarar todos os serviços/plataformas usando o controle de origem, você pode impor controles de acesso baseados em função (RBAC) e registro de auditoria para atender aos requisitos de segurança. Seu repositório de serviços/plataformas também pode ser integrado às ferramentas de CI/CD para que você possa habilitar implementações com aprovação por meio de solicitações pull, push ou merge e garantir tempos de recuperação rápidos quando for necessário realizar uma reversão.

3. Ele detecta e gerencia desvios

Ao integrar ferramentas de infraestrutura (como operadores Kubernetes) ao processo de GitOps, você pode monitorar o estado atual de seus serviços/plataformas e garantir que, quando ocorrer um desvio, o estado desejado seja reconciliado. Isso mantém seus serviços/plataformas continuamente alinhados com o repositório.

4. Suas implementações são automatizadas, com integração contínua

O repositório de serviços/plataforma para seu aplicativo pode seguir um modelo de implementação push ou pull. Com o modelo pull, você se integrará a uma ferramenta de infraestrutura como o operador Kubernetes para procurar alterações no repositório de aplicativos ou no repositório de serviço/plataforma. Se forem detectadas mudanças, a ferramenta implementará as alterações necessárias.

Com o modelo push, os engenheiros enviarão um código para o repositório do ambiente que hospeda o código para o serviço ou para a plataforma. Isso acionará uma resposta de construção ou alteração no ambiente usando o operador Kubernetes ou ferramentas de infraestrutura.

Os benefícios do GitOps

1. Melhor experiência do cliente

As práticas, os processos e as ferramentas de GitOps podem acelerar a implementação de novos recursos e produtos. E, conforme você aumenta suas taxas de lançamento, pode reunir e responder ao feedback do cliente mais rapidamente, o que pode levar a uma maior satisfação do cliente.

2. Confiabilidade

Como seus serviços/plataformas são definidos declarativamente por meio de código, você pode integrar o teste do código aos pipelines de CI/CD. Por meio dessa integração, é possível habilitar processos de aprovação, teste e reversão para alterações, o que pode melhorar a confiabilidade geral e o tempo médio de recuperação de seus aplicativos na implementação de alterações.

3. Consistência

Com processos, práticas e ferramentas de GitOps, seu processo de ponta a ponta para implementar ou alterar serviços/plataformas torna-se padronizado e consistente. E como a configuração do serviço/plataforma é gerenciada por meio de código, seus engenheiros podem revisar os estados atuais e passados por meio do acesso aos registros de ramificação do repositório.

4. Segurança

O GitOps pode ajudá-lo a atender aos requisitos de conformidade com SOC 2 à medida que as implementações e as alterações são rastreadas por meio do registro do Git, criando assim uma trilha de auditoria de quem fez o que e quando. Além disso, por meio da aplicação de processos de criptografia e aprovação e da implementação de controles de acesso baseados em função nos repositórios, você pode diminuir a superfície de ataque de seus serviços/plataformas.

Criação de uma base sólida

Ao integrar processos, práticas e ferramentas de GitOps, é possível criar uma base sólida para seus aplicativos nativos da nuvem. O GitOps ajuda a garantir o avanço para arquiteturas nativas de nuvem de modo controlado e continuar a entregar novos recursos mais rapidamente, enquanto mantém a confiabilidade para seus aplicativos.

 

Join the Conversation: Find Solve on Twitter and LinkedIn, or follow along via RSS.

Stay on top of what's next in technology

Learn about tech trends, innovations and how technologists are working today.

Subscribe

cloud journey

DevOps em um mundo nativo da nuvem: a colisão entre dois dos termos mais badalados da tecnologia

About the Authors

Oliver Fletcher

Lead Cloud Architect, Elastic Engineering

Oliver Fletcher

Oliver has been working with a great team at Rackspace Technology to help build out the Elastic Engineering capability across APJ. Oliver has worn many hats during this time of growth, which has included pre-sales, leadership, architecture and engineering. For the last 8 years, Oliver has spent time helping organizations on their journey to the cloud. This included working with top-tier financial services and telecommunications organizations to define their cloud strategies, and also designing and delivering complex architectures across multiple public and private cloud platforms. Prior to Rackspace Technology Oliver led strategy, delivery and operations teams at both Accenture and EY. Having come from a development and operations background, Oliver understands the importance of building resilient distributed systems that not only deliver business outcomes but allow engineers to sleep at night.

Read more about Oliver Fletcher