IACC migra su plataforma de integración Apache Kafka a la nube de AWS

Instituto Profesional IACC y su necesidad

Instituto Profesional IACC nace como proyecto educacional el 1981 bajo la figura de Centro de Formación Técnica (CFT) IACC. Hacia 1987, obtiene el reconocimiento oficial por parte del Ministerio de Educación de Chile convirtiéndose en Instituto Profesional IACC. A partir de 2008, IACC incorpora en su oferta académica carreras en una modalidad completamente online para el público en general, transformándose en el primer y único Instituto Profesional en Chile 100% online. Para el 2020, el Instituto Profesional IACC cuenta con más de 16 mil estudiantes y más de 5 mil titulados.
Para dar soporte a su enorme comunidad académica IACC cuenta con varios sistemas de información on premise los cuales deben comunicarse entre sí de manera integrada y confiable. Buscando rediseñar la integración de sus sistemas, el equipo de TI de IACC condujo una prueba de concepto con una arquitectura basada en eventos ocupando la plataforma Apache Kafka, la cual fue bastante exitosa. Dentro de ese contexto, IACC buscó a TruStep para migrar el entorno on premise para la nube AWS, en una arquitectura productiva robusta, escalable y de alta disponibilidad.

Diseño de la Solución

La solución diseñada combinó el nuevo servicio Amazon Managed Streaming for Apache Kafka (MSK) con el ya tradicional AWS Elastic Computing Cloud (EC2), con el apoyo de los servicios de AWS CodeCommit, AWS CodeDeploy y AWS CodePipeline para tramitar las versiones de los aplicativos entre Desarrollo, QA y Producción.
El siguiente diagrama muestra la arquitectura adoptada:

Un diagrama de arquitectura AWS de la solución adoptada por IACC.

Se observa en la figura que el entorno de QA y Producción son segregados y prácticamente idénticos. Ambos son conectados por un único flujo dentro del AWS CodePipeline, el que hace despliegue primero en QA y luego de una aprobación del equipo de calidad de software, hace el despliegue de la misma versión en Producción garantizando la consistencia entre los entornos. Cada entorno se comunica con su homologo en el data center corporativo para establecer el flujo de datos con los sistemas on premise a través de una VPN privada entre AWS y el data center corporativo.
La solución diseñada por TruStep despliega el cluster Kafka Connect en modo distribuido a través de un AutoScaling Group, sacando provecho de su escalabilidad y tolerancia a fallas. Toda vez que un nuevo servidor es creado, automáticamente se instalan todos los componentes de software necesarios en ese servidor:
  • el paquete de software Apache Kafka junto con sus dependencias;
  • los clientes de línea de comando de AWS (AWS CLI);
  • el agente AWS CodeDeploy.
Paso seguido, el agente de CodeDeploy recupera la ultima versión de los conectores Kafka instalada con éxito y las despliega. Como parte de ese proceso automático, se ejecutan una serie de tareas de configuración del cluster de Kafka Connect:
  • Identificar y recuperar los strings de conexión del cluster Kafka (MSK);
  • Recuperar desde el AWS Secrets Manager la configuración de cada conector;
  • Actualizar la configuración de cada conector a través de la API REST de Kafka Connect;
  • Crear los tópicos necesarios dentro del cluster Kafka;
  • Ajustar los archivos de propiedades del nuevo nodo del cluster Kafka Connect;
  • Bajar y subir el cluster Kafka Connect así como suspender y resumir la ejecución de los conectores.
De la misma forma, cuando los desarrolladores crean una nueva versión del software de integración, CodePipeline se encarga de los pasos necesarios para generarla y desplegarla en tanto servidores cuantos sean necesarios, en QA y en Producción, sin intervención manual ni de Desarrollo ni de Operaciones.

Los Beneficios Obtenidos

Todo ese proceso de automatización resulta al equipo de Operaciones de IACC no tener que preocuparse con los detalles de cómo escalar la plataforma: basta que se adicionen o se quiten servidores al AutoScaling Group y todo lo demás pasa automáticamente.
Además, el tiempo que las automatizaciones generadas con AWS CodeBuild, AWS CodeDeploy y AWS CodePipeline liberan del equipo les permiten dedicarse a otras tareas mas importantes para el negocio de IACC y al mismo tiempo disminuir el tiempo necesario para liberar nuevas versiones en QA y Producción, todo eso dentro de una arquitectura robusta, escalable y de alto estándar de calidad que AWS entregue a sus clientes.
Con la migración exitosa de la plataforma de integración de Apache Kafka corriendo en AWS, el equipo de TI de IACC ahora puede enfocar sus esfuerzos en crecer las integraciones entre sus sistemas con una arquitectura basada en eventos robusta y ofrecer a la gestión datos y métricas en tiempo real para apoyar su toma de decisión.

Hable con TruStep

Si usted quiere hablar con TruStep acerca de su caso de uso, por favor entre en contacto con nosostros a través del formulario disponible en ese link.

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