CASO DE ÉXITO INE

Caso de éxito INE en iNBest microservicios en AWS México

MICROSERVICIOS AWS

Arquitectura de microservicios para asegurar la disponibilidad de datos.

ARQUITECTURA DE MICROSERVICIOS PARA ASEGURAR LA DISPONIBILIDAD DE DATOS

El pasado 01 de julio del 2018 en México se vivió una etapa en cuestión de democracia única en el país ya que se llevaban a cabo múltiples elecciones para gobernador, senador, diputado al mismo al mismo tiempo con un número aproximado de 3,400 posiciones estas últimas con una situación particular al ser la primera vez en mucho tiempo que la izquierda tenía tanta fuerza.

Una época llena de factores que se traducen en retos para la institución reguladora y que hace valer la democracia en nuestro país: INE (Instituto Nacional Electoral).

Con caídas del servicio a lo largo de su historia y miles de ataques cibernéticos a diario, el equipo sabía que no podría, dadas las circunstancias críticas darse el lujo de continuar con los problemas de infraestructura que venía arrastrando.

Caso de éxito INE en iNBest microservicios en AWS México

 En marzo del 2018 se decidió convocar a una licitación para adquirir los servicios de nube, donde cada una de las empresas debía diseñar la arquitectura de 7 servicios críticos:

1.- Servicio de desarrollo y publicación del tablero de difusores.

2.- Servicio de publicación del tablero de difusores.

3.- Servicio de publicación web.

4.- Servicio de publicación de web principal.

5.- Servicio de publicación de archivos de imagen.

6.- Servicio de trasferencia de archivos para difusores.

La columna vertebral del INE y de la democracia del país es la publicación de los resultados que se realiza a través del tablero de difusores que son los medios autorizados.

Caso de éxito INE en iNBest microservicios en AWS México

Por lo que para ella se desarrolló una arquitectura basada en microservicios específicos para cada objetivo.

 

Microservicio para validación de difusor:

El primero se realizó para la validación del estatus de las páginas de medios autorizados, es decir que mediante una función o llamado a AWS Lambda se envía una solicitud que en caso de respuesta favorable automáticamente se habilita el contenido, de lo contrario, se niega.

 

Algunas de las características de esta función son:

  • Es reajustable para esperar por una respuesta del disfusor.
  • En base a parámetros toma decisiones para habilitación o negación de información.
  • Cada microservicio puede ser activado para ser ejecutado cada cierto tiempo acorde a los requerimientos del instituto.

 

Microservicio para Dynamo DB

Además de esto se incluyó un otro microservicio especial para llamar información a las bases de datos con el motor Dynamo DB que se encarga de cotejar los archivos subidos por el INE al servicio de Amazon Web Services S3 especial para contenido estático (Fotos, archivos, documentos, videos, pdf histórico, etc.) 

Es importante recalcar que este microservicio hecho con AWS Lambda no solamente coteja sino que los envía a un contenedor designado registrando el número de paquete de información recibido en una tabla de BD con una URL firmada por difusor para este pueda descargarla.

 

Microservicio para verificación

 Mediante una función lambda se verifica que la información contenida en S3 y que está designada para los difusores (medios de comunicación) se encuentre cifrada, una vez que haga esta validación el mismo microservicio procede a descifrar los datos para que el difusor pueda transmitirla.

 Esto logra asegurar que la información proporcionada a los medios no haya sido vista o alterada en algún momento de los procesos por los cuales viaja.

 

Microservicio de transformación

 Este último microservicio lo que realiza es la labor de descomprimirlo es decir regresarlo a su formato inicial para que sea posible la visualización de los servicios web de la página de difusores y pueda transmitirse.

 La solución incluye el servicio de CloudFront de Amazon Web Services especializada en la publicación de contenido y con el objetivo de soportar los más de 2,000.000 de visitantes del sitio www.INE.mx

 Es importante recalcar que absolutamente todos los servicios fueron replicados en varias regiones de AWS con la finalidad de garantizar la disponibilidad y ejecución de estos llamados bajo cualquier circunstancia posible.

 

Datos importantes…

En cuestión de seguridad para esta arquitectura se consideró AWS SHIELD para garantizar la seguridad perimetral y AWS WAF para mitigar cualquier riesgo al servicio de publicación.

 Los servicios LAMBDA y S3 permitieron hacer una arquitectura Serverless, otorgando un alcance con prácticas DEVOPS para tener la posibilidad de Entrega Continua e Integración Continua, con el objetivo de darle flexibilidad al Instituto de constantes cambios, respondiendo a las demandas de los ciudadanos, fiestas y otras instituciones políticas. Esto dio como resultado la solución de un problema en un tiempo récord.

 

 Lo que marcó la diferencia.

1) Ofrecer una arquitectura basada en microservicios de AWS, que permitió aumentar exponencialmente la disponibilidad y configuración de los servicios de publicación.

2) Ofrecer flexibilidad y escalabilidad en cada uno de los servicios que se utilizaron, para soportar las diferentes pruebas y simulaciones que se ejecutaron como parte del proceso de implementación de la solución.

 3)  Establecer un consultor de AWS en el sitio para respaldar la calidad y el uso de la arquitectura final.

 4) Usar los niveles máximos de seguridad y bloquear ataques, garantizar la integridad de la información publicada, establecer niveles insuperables de seguridad perimetral. Alcanzar los niveles de servicio deseados en un 100%.

 

Todo esto más el esfuerzo en conjunto tanto de iNBest, AWS e INE dieron como resultado unas elecciones altamente exitosas, donde los resultados se presentaron puntuales y que, a pesar de los millones de ataques de días previos y durante el sitio NO SE CAYÓ, la entrega de la información a la ciudadanía fue rápida, eficiente y transparente.

 Lo que es importante destacar es que gracias a la arquitectura diseñada con microservicios fue posible lograr la calidad en tareas que anteriormente se hacían por medio de código que utilizaba muchos recursos y con huecos de seguridad que lo hacían altamente vulnerable.

 Gracias a la inclusión de servicios hechos con AWS Lambda, se garantiza la ejecución de tareas vitales dentro de los procesos y además de que se ahorra en consumos de cómputo.

 

¿TIENES UN PROYECTO EN LA NUBE? NOSOTROS LO HACEMOS POSIBLE
Find more