IACC migra para a nuvem AWS sua plataforma de integração Apache Kafka

Instituto Profissional IACC e sua necessidade

O Instituto Profissional IACC é uma instituição de ensino superior que nasceu no Chile como um projeto educacional em 1981 sob a figura do Centro de Treinamento Técnico IACC. Por volta de 1987, obteve o reconhecimento oficial do Ministério da Educação Chileno, tornando-se o Instituto Profissional IACC. A partir de 2008, o IACC incorporou em sua oferta acadêmica carreiras na modalidade totalmente online para o público em geral, tornando-se o primeiro e único Instituto Profissional do Chile 100% online. Em 2020, o Instituto Profissional IACC conta com mais de 16.000 alunos e mais de 5.000 graduados.
Para dar suporte à sua enorme comunidade acadêmica, o IACC possui diversos sistemas de informação que devem comunicar-se de forma integrada e confiável. Buscando redesenhar a integração de seus sistemas, a equipe de TI do IACC realizou uma prova de conceito com uma arquitetura baseada em eventos ocupando a plataforma Apache Kafka que obteve bastante éxito. Nesse contexto, o IACC recorreu à TruStep para migrar o ambiente on premise de sua prova de conceito para a nuvem AWS, em uma arquitetura produtiva robusta, escalável e de alta disponibilidade.

Desenho da Solução

A solução desenhada combinou o novo serviço Amazon Managed Streaming for Apache Kafka (MSK) com o já tradicional AWS Elastic Computing Cloud (EC2), com o suporte de serviços como AWS CodeCommit, AWS CodeDeploy e AWS CodePipeline para gerenciar o ciclo de vida dos aplicativos entre os ambientes de Desenvolvimento, QA e Produção.
O seguinte diagrama mostra a arquitetura adotada:

Um diagrama de arquitetura AWS da solução adotada pelo IACC.

Observa-se na figura que o ambiente de QA e Produção são segregados e praticamente idênticos. Ambos são conectados por um único fluxo dentro do AWS CodePipeline, que primeiro disponibiliza o aplicativo em QA e, após aprovação da equipe de qualidade de software, implanta a mesma versão em Produção, garantindo consistência entre os ambientes. Cada ambiente se comunica com sua contraparte no data center corporativo para estabelecer o fluxo de dados com os sistemas locais por meio de uma VPN privada entre a AWS e seu data center corporativo.
A solução criada pela TruStep instala um cluster Kafka Connect em modo distribuído dentro de um AutoScaling Group, tirando proveitos das características de escalabilidade e tolerância a falhas que a AWS e o cluster Kafka Connect possuem. Cada vez que um novo servidor é criado, todos os componentes de software necessários são instalados automaticamente nesse servidor:
  • o pacote de software Apache Kafka junto com suas dependências;
  • os clientes de linha de comando da AWS (AWS CLI);
  • o agente AWS CodeDeploy.
Em seguida, o agente CodeDeploy recupera a versão mais recente dos conectores instalados no cluster Kafka Connect e os instala. Como parte desse processo automático, uma série de tarefas de configuração do cluster são executadas:
  • Identificar e recuperar as strings de conexão do cluster Kafka (MSK);
  • Recuperar a partir do AWS Secrets Manager a configuração de cada conector;
  • Atualizar a configuração de cada conector através da API REST do Kafka Connect;
  • Criar os tópicos necessários dentro do cluster Kafka;
  • Ajustar os arquivos de propriedades do novo nó do cluster Kafka Connect;
  • Parar e reiniciar o cluster Kafka Connect, bem como suspender e reiniciar a execução dos conectores.
Da mesma forma, quando os desenvolvedores criam uma nova versão dos conectores de integração, o serviço AWS CodePipeline cuida das etapas necessárias para gerá-la e implantá-la em tantos servidores quantos forem necessários, em QA e em Produção, sem intervenção manual do time de Desenvolvimento ou de Operações.

Os Benefícios Obtidos

Toda essa automatização significa que a equipe de Operações IACC não precisa se preocupar com os detalhes de como escalar a plataforma: basta adicionar ou remover servidores no AutoScaling Group e todo o resto acontece automaticamente.
Além disso, o tempo que as automações geradas com AWS CodeBuild, AWS CodeDeploy e AWS CodePipeline liberam das equipes permite que elas se dediquem a outras tarefas mais importantes para o negócio IACC e, ao mesmo tempo, reduzam o tempo necessário para liberar novas versões em QA e Produção, tudo isso em uma arquitetura robusta, escalável e de alta qualidade que a AWS oferece a seus clientes.
Com a migração bem-sucedida da plataforma de integração Apache Kafka em execução na AWS, a equipe de TI do IACC agora pode concentrar seus esforços em aumentar o número de integrações entre seus sistemas, com uma arquitetura robusta orientada a eventos, e ainda oferecer aos gestores dados e métricas em tempo real para apoiar a tomada de decisão.

Fale com a TruStep

Se você deseja conversar com a TruStep sobre o seu caso de uso, por favor entre em contato conosco através do formulário disponável neste link.

    Brasil
  Rua da Bronzita, 1917, sala 10
    Lagoa Nova
    Natal/RN - Brasil
    CEP 59076-500
 
  +55 84 99688 9060
 
    Brasil
Av. Apoquindo 6550 of. 205
    Las Condes
    Santiago - Chile
    CP 7560903
 
  +56 9 9225 0886