O cliente desenvolve internamente uma aplicação segmentada em 5 x partes distintas e novas partes são adicionadas gradativamente. A empresa precisava migrar a infraestrutura que sustenta essa aplicação da atual plataforma, o Heroku para a MS Azure. A infraestrutura era baseada em clusters com containers Docker gerenciados por uma aplicação web que permitia dimensioná-los sem gerar indisponibilidade. A empresa deseja a mesma funcionalidade na nuvem Azure. Há também clusters de Mongo DB e PostgreSQL no ambiente que deveriam ser migrados. A aplicação estava hospedado em uma plataforma fora do Brasil e por normativa do Banco Central precisava migrar para um datacenter dentro do Brasil. O prazo dado pelo Banco Central para a auditoria de homologação era de apenas 2 meses.
Sobre o projeto
Desafios na implementação
- Prazo extremamente curto devido à quantidade de ‘atores’ e softwares envolvidos.
- Migrar a infraestrutura para o Brasil sem alterar o fluxo atual de trabalho entre os desenvolvedores e infraestrutura.
- Continuar fazendo o deploy das aplicações com a mesma facilidade encontrada com a plataforma Heroku.
- Garantir a alta disponibilidade dos ambientes. O downtime permitido por ano é baixíssimo.
- Migrar os dados do MongoDB – com alta disponibilidade – para uma infraestrutura no Brasil
Solução implementada
A 4Linux desenhou a arquitetura e implementou o novo cenário utilizando a infraestrutura Cloud da Azure (escolhida pelo cliente) e também serviços de nuvem da SERPRO. Assim, foi feito a instalação da plataforma Openshift Origin como ambiente de Produção, SandBox, Staging e Desenvolvimento. A aplicação é implantada em produção utilizando a ferramenta S2I para gerar os containers em Docker versionados com a aplicação e a infraestrutura em todos os ambientes. Foi construído também um cluster de MongoDB em modo Sharding para garantir a resiliência do ambiente e aumentar a volumetria para o armazenamento dos dados.
Benefícios e resultados
- O prazo foi cumprido e o cliente passou pelo processo homologação junto ao Banco Central
- A aplicação foi migrada entre os ambientes de forma transparente e sem Downtime.
- Fluxo de desenvolvimento não teve alteração e foi transparente para os desenvolvedores que não precisaram ser retreinados.
- Foi obtido a resiliência dos ambientes Cross DataCenter.
- O MongoDB trabalha em modo clusterizado e com replicação Cross Datacenter.
- Todo ambiente foi provisionado de forma automatizada com Ansible, com base nas práticas de infraestrutura como Código, permitindo ao cliente versionar seu ambiente, recriar o cenário de forma simples ou ainda expandi-lo quando for preciso.