Aprenda as Diferenças Entre CI/CD On-Premise e na Nuvem

Table of Contents

Quando se trata de implantar e hospedar ferramentas de Integração Contínua/Entrega Contínua (CI/CD), existem duas abordagens possíveis: executar suas ferramentas on-premise ou hospedá-las na nuvem.

Nenhuma técnica é universalmente melhor ou pior. A abordagem correta depende das suas prioridades, assim como do tipo de software que você está construindo com suas ferramentas de CI/CD. Como escolher entre CI/CD on-premise ou na nuvem? Continue lendo para obter orientações sobre como selecionar um modelo de hospedagem de CI/CD adequado às suas necessidades.

 

O que é CI/CD On-Premise?

Uma solução de CI/CD on-premise é aquela que você hospeda em máquinas que operam em seu próprio data center. Por exemplo, você pode instalar plataformas como Jenkins e Ansible em servidores on-premise e usar essas soluções para gerenciar o desenvolvimento, testes, pré-produção e implantação de suas aplicações.

Uma instalação de CI/CD on-premise oferece os seguintes benefícios principais:

  • Controle máximo: Como o software de CI/CD roda em seu próprio hardware, você tem controle total sobre como ele é configurado.
  • Alta segurança: Pipelines de CI/CD on-premise podem ser mais seguros, especialmente se você utilizar regras de firewall para isolá-los do contato direto com a Internet.
  • Possivelmente menor custo: Hospedar software de CI/CD on-premise pode resultar em um custo total mais baixo, pois você não precisa pagar a um provedor de serviços em nuvem para operar o software.

Tradicionalmente, antes das empresas começarem a migrar cargas de trabalho para a nuvem, a maior parte do software de CI/CD rodava on-premise.

 

O que é CI/CD baseado em nuvem?

Em uma plataforma de CI/CD baseada em nuvem, o software de CI/CD roda em infraestrutura na nuvem, em vez de on-premise.

Instalações de CI/CD na nuvem podem ser divididas em duas subcategorias:

  • Soluções de CI/CD totalmente gerenciadas na nuvem: Essas soluções fornecem um pipeline de CI/CD pré-instalado e pronto para uso. Você não precisa configurar ou gerenciar nenhum software ou infraestrutura. Exemplos desse tipo de plataforma de CI/CD incluem GitLab SaaS e Azure Pipelines.
  • Instalações de CI/CD na nuvem autogerenciadas: Alternativamente, você pode instalar o software de CI/CD você mesmo em instâncias de servidores na nuvem, como as fornecidas pelo serviço AWS EC2 ou pelas Máquinas Virtuais da Azure. Essa abordagem elimina a necessidade de gerenciar a infraestrutura do host, mas você ainda precisa instalar, configurar e gerenciar o software de CI/CD.

Independentemente do tipo de solução de CI/CD em nuvem que você escolher, você obtém benefícios como:

  • Configuração mais rápida: O processo de configuração é mais rápido e menos complexo, pois você não precisa se preocupar com a preparação de servidores host. Além disso, se optar por uma suíte de CI/CD totalmente gerenciada, não será necessário configurar o software.
  • Maior confiabilidade: Servidores baseados em nuvem tendem a ter menos tempo de inatividade do que infraestruturas on-premise; portanto, uma plataforma de CI/CD em nuvem é, em geral, mais confiável do que uma hospedada localmente.
  • Maior escalabilidade: Caso seja necessário expandir seu pipeline de CI/CD — por exemplo, ao desenvolver novas aplicações — isso pode ser feito facilmente na nuvem por meio da implantação de infraestrutura adicional. No ambiente on-premise, a escalabilidade é mais difícil, pois exige a aquisição e configuração de infraestrutura física adicional.
  • Implantação facilitada na nuvem: Quando sua suíte de CI/CD está na nuvem e suas aplicações são hospedadas no mesmo ambiente, a implantação de novas versões geralmente é mais rápida do que a partir de uma suíte on-premise. Isso ocorre porque não é necessário fazer o upload da aplicação para a nuvem antes da implantação.

 

Como escolher: CI/CD on-premise ou na nuvem

Em muitos casos, é possível utilizar as mesmas ferramentas de CI/CD tanto em ambientes on-premise quanto na nuvem. A maioria das plataformas de CI/CD de código aberto, como Jenkins, Bamboo e CircleCI, pode ser executada em servidores na nuvem ou localmente. Algumas suítes proprietárias de CI/CD, como o GitLab, também oferecem suporte a ambos os modelos de implantação.

Portanto, se o mesmo software está disponível em ambos os casos, a escolha do modelo realmente importa? A resposta é um claro “sim”. Selecionar o modelo correto de hospedagem de CI/CD é fundamental por diversos motivos.

Custo

Como já mencionado, o custo total para licenciar e hospedar software de CI/CD geralmente depende se ele é executado on-premise ou na nuvem. Implantações on-premise tendem a ser menos custosas, pois não exigem pagamento por infraestrutura em nuvem. No entanto, o custo — medido em tempo da equipe ou serviços terceirizados — necessário para gerenciar CI/CD on-premise pode ser maior do que o custo de CI/CD em nuvem. Por isso, é importante avaliar o custo total, e não apenas os custos diretos de hospedagem.

Flexibilidade

Em geral, suítes de CI/CD on-premise são mais flexíveis porque não vinculam você a uma plataforma de nuvem específica. Ainda assim, softwares de CI/CD baseados em nuvem que podem rodar em diferentes provedores também oferecem um bom nível de flexibilidade, pois permitem trocar de provedor sem a necessidade de reconstruir toda a ferramenta de CI/CD do zero.

Velocidade e desempenho

De modo geral, suítes de CI/CD baseadas em nuvem tendem a oferecer melhor velocidade e desempenho. Softwares em nuvem são mais fáceis de escalar e, se suas aplicações também estiverem hospedadas na nuvem, é possível implantar diretamente a partir dela, como mencionado anteriormente.

Ainda assim, o CI/CD on-premise pode apresentar melhor desempenho se suas aplicações também estiverem hospedadas localmente, pois mover aplicações de uma plataforma de CI/CD em nuvem para servidores de produção on-premise pode tornar a implantação mais lenta.

Segurança

É possível utilizar recursos como Virtual Private Clouds (VPCs) para minimizar a exposição das ferramentas de CI/CD em nuvem à Internet. Além disso, é fundamental usar as ferramentas de Identity and Access Management (IAM) do provedor de nuvem para aplicar controles de acesso aos recursos de CI/CD.

Conclusão

Em resumo, o CI/CD on-premise oferece mais controle e custos mais baixos. Em alguns aspectos, também é mais seguro. Por outro lado, o CI/CD baseado em nuvem é mais escalável e proporciona melhor desempenho, especialmente na velocidade de operações de CI/CD, como implantações.

No entanto, o mais importante é saber como projetar e configurar corretamente sua plataforma de CI/CD, e não onde ela está hospedada. Para saber mais sobre design e configuração de CI/CD, entre em contato hoje mesmo com os especialistas da Nespon.

Share this blog on:

Table of Contents

Previous Blogs