Fue un proyecto de 12 días, totalmente inesperado como les comentaba y de impacto gigante para el país ya que Guatemala no se podía dar el lujo que hubiera ninguna duda acerca de los resultados de la Segunda Vuelta Electoral después de lo ocurrido en la Primera Vuelta (Polémica por elecciones) y que causó demasiado negativismo entre la polabación guatemalteca.
En ese sentido una de las lecciones importantes fue que al migrar cualquier infraestructura a la nube, mucha gente se va por la opción de "Lift and Shift" que implica únicamente replicar los servicios que se tienen locales en la nube, server por server, servicio por servicio y que la arquitectura de cualquier sistema sea fundamentalmente la misma. Si bien es cierto es la opción que muchas veces es más cómoda y sencilla de realizar, no es la que explota de mejor manera las capacidades de la nube y si tenemos problemas en la arquitectura local, probablemente solo los cambiaremos de lugar.
Esto último fue lo que ocurrió en el TSE y para remediarlo se tuvo que rediseñar la arquitectura la App Web de resultados preliminares y adicionalmente hacer un cambio en el manejador de base de datos a uno que tuviera la capacidad de escalar bajo la demanda que se vería sometido al momento que la gente quisiera consultar los resultados preliminares de la segunda vuelta y ver quien sería el próximo Presidente de Guatemala.
El rediseño consistió en dividir la aplicación web en dos capas, una para presentación y una con un API que manejaba las consultas a la base de datos. En el caso de la base de datos se migró de MySQL a SQL Server. Todos los componentes fueron levantados usando servicios de plataforma de Azure como App Service y SQL Azure, con todas las ventajas de administración que estos servicios ofrecen vs. administrar la misma infraestructura.
Además, para mejorar la solución que se tenía por parte del TSE, se utilizaron otros servicios como Azure File Sync, que permitió la transmisión de las imágenes de las actas para que estuvieran disponibles para consulta, almacenándolas en Azure Blob Storage.
Por último, se creó un Dashboard y se instrumentaron todos los componentes con servicios de telemetría que permitió, al momento del gran evento, tener estadísticas de funcionamiento de la solución y la detección y corrección de problemas que se dieran, que por cierto se dio uno del cual hablo en el video. Gracias a esos mecanismos de detección y corrección así como el valor agregado de los mencionados servicios de plataforma la pequeña crisis pasó desapercibida para el público en general.
A continuación les dejo el video del evento, el primer speaker soy yo narrando durante 45 minutos a detalle lo que les resumí en las líneas anteriores.
Acá les dejo los slides utilizados durante la conferencia, para su referencia futura.
Nos seguimos leyendo.