Blog de Amazon Web Services (AWS)
Ministerio de Tecnologías de la Información y Comunicación (MITIC) de Paraguay construye el sistema de registro y consulta para vacunación contra el COVID-19 en dos semanas con AWS.
Por Javier Gálvez Campanelli, Arquitecto de Soluciones en AWS
y Doly Zaracho, Directora de Implementaciones, bajo la Dirección General de Gobierno Electrónico del MITIC
Ilustración 1: Autódromo Rubén Dumot – Megavacunatorio – La carrera de tu vida. Foto: José Bogado. Fuente de la imagen: https://www.ultimahora.com/momentos-emotivos-primer-dia-del-megavacunatorio-ex-aratiri-n2950621.html
Con el fin de garantizar el acceso a las vacunas contra el COVID-19 a la población paraguaya el Ministerio de Tecnologías de la Información y Comunicación (MITIC) colaboró con el Ministerio de Salud Pública y Bienestar Social (MSPBS) del Paraguay en construir una plataforma para los formularios de registro y consulta necesarios para tal objetivo.
El MITIC necesitaba construir un sistema altamente escalable con capacidad de permitir que miles de usuarios pudieran acceder de forma simultánea a registrarse voluntariamente para la vacunación contra el COVID-19. A su vez el sistema debía ser lo suficientemente flexible para aceptar cambios en los requerimientos, garantizar la integridad de los datos y la alta disponibilidad y a su vez minimizar la carga operativa destinada a monitoreo de posibles incidencias de infraestructura.
Además de los requerimientos mencionados, era menester tener el sistema en producción en la menor cantidad de tiempo posible a fin de contar con un registro confiable de datos de la población para la logística y distribución de las vacunas.
Acerca de www.vacunate.gov.py
En base a estos requerimientos se crea la plataforma de comunicación oficial del gobierno y registro de ciudadanos para la ejecución del Plan Nacional de Vacunación de Paraguay, que es el plan público, gratuito y optativo de vacunación contra el coronavirus en la Paraguay y se aloja bajo el domino www.vacunate.gov.py y es también conocida como Vacúnate PY.
Trabajar con el equipo de Servicios Profesionales de AWS para crear y probar rápidamente la solución.
Debido a que la implementación del portal de registro y consulta para recibir las vacunas debía construirse en un cronograma muy ajustado, con la fecha de lanzamiento a menos de dos semanas después del inicio del proyecto, se invitó al equipo de Servicios Profesionales de AWS para acelerar los tiempos de entrega del proyecto. La arquitectura fue diseñada por el MITIC y AWS para que todos los componentes de la solución fueran de alta disponibilidad, auto escalables y de bajo esfuerzo de mantenimiento operativo, esto permitió que el MITIC se pueda enfocar en la creación del software.
Junto al equipo de arquitectos de servicios profesionales de AWS se creo la infraestructura fundacional del sistema, la cual es totalmente segura, fácil de operar y monitorear, auto escalable y a su vez costo efectiva. El equipo de Servicios Profesionales construyó la solución basándose en las mejoras prácticas enumeradas en el marco del AWS Well architected framework.
Resiliencia a escala para un tráfico elevado sostenido
“El problema de la escala requerida por el portal de Vacúnate PY agrega un nuevo conjunto de desafíos”
“No es lo suficientemente bueno que el portal funcione en un día normal, o incluso la mayor parte del tiempo. La infraestructura debe probarse para garantizar que se mantenga disponible durante los grandes picos de demanda, cuando miles de personas intentan registrarse a la vez. » dijo David Ocampos, Viceministro de Tecnologías del MITIC.
Se generó un escenario de pruebas de stress de casi el doble de la población actual del Paraguay.
El equipo de AWS se aseguró que todos los componentes de la solución auto escalen de forma independiente para que los sistemas del portal estén siempre disponibles como por ejemplo el sitio web principal www.vacunate.gov.py, el sistema de registro y las consultas de turnos ya confirmados. Para realizar pruebas de carga contra el portal se utilizó la solución “Pruebas de carga distribuidas en AWS” que ayudó a generar un tráfico tan grande como el que se esperaba en esta situación. En el siguiente diagrama se muestra a grandes rasgos la arquitectura de esta solución:
Ilustración 2: Arquitectura de la solución “Pruebas de carga distribuida en AWS”
Arquitectura de vacunate.gov.py
El sistema de registro para la vacunación consta de un proceso de 2 pasos:
- El usuario ingresa sus datos personales incluyendo el número de identificación para registrarse voluntariamente y así formar parte del Plan de Vacunación. En el 98% de los casos, estos datos se pueden validar contra la base de datos que corre en Amazon DynamoDB, en caso de que los datos del ciudadano no esté en las tablas de la Amazon DynamoDB, se realiza una llamada a una interfaz API de la plataforma del MITIC (SII Consulta Cédula). Para estos casos se resuelve mediante la función AWS Lambda «Valida Documento».
- Si el usuario pasa la validación y es elegible para la vacunación, entonces procede a registrarse. Esto lo resuelve la AWS Lambda «Registro Vacunación».
En una primera etapa del plan de vacunación las notificaciones para las citas eran enviadas desde los sistemas internos del Ministerio de Salud Pública y Bienestar Social.
Existe una tercera Lambda («Consulta Vacunación») que se utiliza para consultar el estado de la cita otorgada, actualmente se puede visualizar los datos de la persona y su estado de vacunación.
Ilustración 3: Arquitectura de vacunate.gov.py
Del lado de la infraestructura, vacunate.gov.py fue diseñada para no utilizar servidores, como tampoco una arquitectura tradicional de tres capas. Para el front-end se utilizan buckets de Amazon Simple Storage Service (Amazon S3) donde se alojan los contenidos estáticos de la aplicación, contenido que a su vez es servido por el servicio de CDN de AWS CloudFront, las URL del sistema se resuelve gracias a los servicios de DNS de Amazon Route 53.
El back-end está implementado por funciones AWS Lambda que están detrás de un Amazon API Gateway.
Nota: Durante las pruebas de carga, se decidió aumentar la cantidad de ejecuciones concurrentes de AWS Lambda desde 1000 (default) a 10000 ejecuciones, para asegurarse que el portal pueda manejar los picos de tráfico máximo.
Como base de datos NoSQL, se utiliza la altamente escalable Amazon DynamoDB.
Se utilizó AWS Database Migration Service (DMS) para la replicación asincrónica de millones de registros de las bases de datos PostgreSQL del datacenter de MSPBS a la base de datos de AWS DynamoDB. Los datos incluyen identificación ciudadana, registro para vacunación y citas. Todos estos datos se encriptan tanto en tránsito como en reposo utilizando el servicio de AWS Key Management Service (KMS).
Amazon CloudFront y AWS X-Ray son componentes centrales de los paneles de monitoreo para que el equipo de operaciones del MITIC pueda visualizar el estado de todos los componentes de la infraestructura.
El siguiente gráfico muestra un ejemplo de los paneles de monitoreo que utiliza el equipo de operaciones:
Ilustración 4: AWS Cloudwatch custom dashboard – vacunate.gov.py
A nivel de seguridad se utilizaron varias soluciones como por ejemplo delante de los front-end, se utiliza el servicio de AWS WAF – Web Aplicación Firewall, que se utiliza para contrarrestar ataques de denegación de servicio.
Día del lanzamiento
La solución se implementó con éxito y a tiempo recibiendo más de 80 mil registros de turnos apenas después de ser anunciada por el Ministerio de Salud Pública y Bienestar Social y el Ministerio de Tecnología de la Información y Comunicación.
Para un lanzamiento de un sistema de tanta importancia es muy recomendable contar con el soporte adicional que provee el equipo de AWS Infrastructure Event Management (IEM). Este equipo que no solo ofrece asesoramiento sobre arquitectura y escalabilidad de la solución, además brinda soporte operativo durante la preparación y la ejecución del lanzamiento. En el siguiente diagrama se muestra a grandes rasgos el funcionamiento de este programa:
Ilustración 5: Funcionamiento del programa AWS Infrastructure Event Management
Para mas información sobre el programa AWS IEM: https://thinkwithwp.com/es/premiumsupport/programs/iem/
Desde la fecha de lanzamiento de https://www.vacunate.gov.py/ a mediados del mes de Abril del 2021, el equipo de MBPBS ha ampliado las etapas de vacunación, y más de 2 millones de ciudadanos ya han utilizado el portal para registrarse exitosamente.
Un punto a resaltar es sobre la elasticidad de la solución, por ejemplo el pico de utilización más grande de registros fue de 450.000 registros de personas en un minuto y todo esa actividad se resolvió sin ningún inconveniente.
El siguiente gráfico muestra la vista del panel de monitoreo en el momento que se pueden observar la cantidad de registros en la base de datos así como la cantidad de invocaciones de procesos de AWS Lambda en el front-end:
Ilustración 6: DynamDB Dashboard
Ilustración 7 AWS API Gateway Dashboard
Ilustración 8: AWS Lambda Dashboard
Conclusión
El Ministerio de Tecnología de la Información y Comunicación concluyó que “fue un gran acierto la utilización de servicios de AWS para este tipo de solicitudes críticas y de alta demanda. Atender a la ciudadanía con una solución sencilla a nivel de usuario y altamente confiable para quienes administramos y mantenemos el sistema fue el objetivo principal al que pudimos llegar sin inconvenientes”.
Acerca del MITIC
El Ministerio de Tecnologías de la Información y las Comunicaciones (MITIC) prepara, promueve e implementa la innovación tecnológica y la economía digital, a través de políticas públicas que involucran a todos los niveles de los Organismos del Estado. Buscan la participación y el acceso efectivo en igualdad de oportunidades a todos los ciudadanos, promoviendo el uso eficiente de las tecnologías de la información, la investigación, la Innovación y el Desarrollo (IID), la formación humana y la competencia a nivel nacional e internacional.
Acerca del MSPBS
El Ministerio de Salud Pública y Bienestar Social (MSPBS) es la institución encargada de garantizar el cumplimiento de las funciones de rectoría, conducción, financiamiento y provisión de servicios de salud, con el fin de alcanzar la cobertura universal, bajo el enfoque de protección social, en el marco del Sistema Nacional de Salud del Paraguay.
Siga leyendo para conocer más historias de salud y descubra cómo AWS Cloud ha ayudado a impulsar soluciones para organizaciones en todo el sector público para responder a los desafíos únicos derivados de COVID-19.
Suscríbase al boletín informativo del blog del sector público de AWS para recibir lo último en herramientas, soluciones e innovaciones de AWS del sector público en su bandeja de entrada, o contáctenos.
Sobre los autores
Javier Galvez trabaja actualmente como Arquitecto de Soluciones y ha trabajado en tecnología de la información durante más de 22 años, comenzando como administrador de sistemas especializado en tecnologías de Microsoft para grandes instituciones financieras siendo especialista en plataformas de correo e intranets corporativa para luego mas tarde en su carrera pasar a tecnologías de virtualización y soluciones de código abierto como Kubernetes.
En la actualidad, se centra principalmente en el diseño y la entrega de nuevas soluciones hibridas sobre la nube AWS, así como en el desarrollo de actividades técnicas con demostraciones y sesiones interactivas para nuestros clientes.
Doly Zaracho trabaja actualmente como Directora de Implementaciones, bajo la Dirección General de Gobierno Electrónico del MITIC. Es Analista de Sistemas Informáticos y tiene 12 años de experiencia en la función pública en cargos relacionados a la gerencia de tecnologías de la información y comunicación.
Actualmente está a cargo del mantenimiento operativo de sistemas en producción del MITIC así también como proyectos de implementación de trámites en línea y expediente electrónico en diferentes instituciones públicas.