CLEVER

Alta disponibilidad: caso mivacuna.gob.mx

Hace unos días el gobierno lanzó un formulario de registro para que los adultos mayores de todo el país se registren para poder obtener la vacuna contra el COVID 19. Sin embargo, esta iniciativa se vio ofuscada por la realidad tecnológica a la que se enfrenta el país. Muchos usuarios en redes reportaron de manera masiva que el sitio web para el registro de adultos mayores se encontraba “abajo” (Service Unavailable). 

De inmediato comenzaron los comentarios negativos contra los programadores, contra las empresas que ofrecen servicios de tecnología y, por supuesto, contra el gobierno por su “intento fallido” de aprovechar la tecnología. Otra cosa que es interesante de resaltar es que muchos usuarios en redes aseguran poder hacer una “mejor página” que la que lanzó el gobierno (https://mivacuna.salud.gob.mx/).

Fig 1. Service Unavailable en mivacuna.salud.gob.mx

La realidad es que la mayoría de estos comentarios negativos carecen de fundamentos, y aunque la iniciativa tecnológica no funcionó de manera inmediata al 100%, considero que es un gran paso para el progreso digital del país. Pero ¿qué fue lo que sucedió con este sitio?, el problema que presentó el sitio mivacuna.salud.gob.mx fue una saturación en la carga de trabajo; es decir, el servidor que aloja el sitio tuvo más visitas por segundo de las que podía manejar. Para explicar esto con un ejemplo, imaginemos una fila de un banco, donde existen 5 ventanillas que dan servicio a esa fila; si una ventanilla tarda en atender en promedio 5 minutos pero llega un cliente nuevo cada minuto, entonces la fila crecerá a un ritmo más acelerado de lo que las ventanillas pueden atender, en ese caso, el banco no podrá atender a todas las personas formadas durante ese día y tendrá que “recortar la fila”. El ejemplo anterior ilustra exactamente lo que pasó en este caso.

Ahora que ya sabemos que implementar tecnología de manera masiva no es un trabajo sencillo, todavía hace falta responder la pregunta ¿qué se debería hacer para que un portal esté siempre disponible? En tecnología existe una rama de estudio que se llama Alta Disponibilidad “High Availavility” que consiste en una serie de herramientas y estrategias que permiten a un sitio web manejar altas cargas de trabajo. Esta tecnología es la misma que utilizan las grandes empresas cómo Google, Facebook y Amazon para dar servicio a los millones de usuarios que los visitan cada día.

A continuación presentamos algunos puntos que consideramos muy importantes para tomar en cuenta al momento de implementar un proyecto de alta disponibilidad.

 

No solo es programación, también importa la infraestructura.
 

Una creencia muy común es que todos los programadores deben saber hacer cualquier cosa, pero la realidad siempre supera la ficción. En el mundo de la tecnología y desarrollo de software existen muchas especialidades y es difícil pensar que exista alguna persona que sepa hacer de todo. En particular, para este caso que estamos analizando, es poco común que un programador web tenga conocimientos de desarrollo de software y de administración de infraestructura (servidores).

Cuando un sitio deja de estar disponible debido a un alta carga de trabajo se debe plantear y ejecutar una estrategia de alta disponibilidad para minimizar el riesgo de llegar a esta situación; la mayoría de acciones que se deben tomar para ejecutar un proyecto de alta disponibilidad no tienen que ver con la programación del portal web, tienen que ver con el desempeño de tu(s) servidor(es) y con la configuración que se defina para cada uno.

Si aún no queda claro este punto, pensemos en un ejemplo: ¿sabes por qué Google puede soportar una carga de solicitudes de millones de usuarios por minuto? La respuesta es muy sencilla, Google cuenta con muchos datacenters con capacidades de procesamiento y almacenamiento que ni siquiera podemos imaginar (ver fig. 2).

Fig 2. Datacenter de Google [1]

 

Las personas detrás de un proyecto tecnológico son un factor determinante
 

Así cómo no dejarías que Ing. Civil sin experiencia construya solo un puente vehicular, es igualmente irresponsable dejar que programadores con poca experiencia construyan un portal tan crítico cómo lo es el registro para la vacunación de adultos mayores.

Para implementar un proyecto de alta disponibilidad se requieren conocimientos ultra-especializados en programación e infraestructura de sistemas que no cualquier persona tiene y que no se aprenden de la noche a la mañana. 

Es fundamental encontrar el equipo de trabajo adecuado para cada tipo de proyecto, por ejemplo, si necesitas una página sencilla para tu restaurante, cafetería o negocio local, la puedes hacer en servicios cómo Wix, Godaddy, etc… Pero si necesitas desarrollar un formulario que dé servicio a los más de 120 millones de personas que viven en el país, necesitarás un grupo de expertos en la materia para que el proyecto sea exitoso.

 

La tecnología se debe supervisar para mejorar
 

Toda la tecnología tiene oportunidades de mejora, no te dejes engañar, cuando implementes un sistema para tu negocio o emprendimiento, es importante estar continuamente supervisando su funcionamiento y buscando mejorarlo día a día.

En el caso de la alta disponibilidad, es crucial saber cuál es la carga de trabajo promedio por días, por semana, por mes para tener una idea clara del estrés que se está dando a tu(s) servidores y poder ajustar de manera continua tu infraestructura a las nuevas cargas de trabajos.

Piensa que un portal o plataforma web no siempre tendrá la misma cantidad de usuarios, si un proyecto tiene éxito, en cuestión de meses podría pasar de atender 100 usuarios por día a atender 10,000 (por poner un ejemplo).

Fig 3. Ciclo de mejora continua

 

Ninguna tecnología es infalible
 

Finalmente, es de suma importancia recalcar que a pesar de todos los esfuerzos en implementar sistemas completamente a prueba de fallas, es imposible alcanzar un 100% de disponibilidad en cualquier plataforma.

Esta es una cuestión que debemos entender que siempre estará latente y en algún momento puede surgir alguna combinación de factores que no se tenían considerados que provoque algún error o problema en el sistema. Incluso, las compañías más grandes y más preparadas se han visto con problemas de caídas masivas y mundiales cómo el caso de Facebook, Instagram y Whatsapp que se quedaron sin servicio en Marzo 2020 debido al confinamiento por la pandemia.

Si hay algo que podamos sacar de este análisis sería lo siguiente: te recomendamos trabajar siempre en considerando los siguientes tres puntos:

  • Pre-evento: ¿qué debo de hacer para mitigar problemas inherentes a mi plataforma?
  • Durante el evento: ¿qué haré en el caso de una eventualidad? ¿cuál es el plan de acción?
  • Post-evento: ¿qué medidas tomaré posteriores a una eventualidad?


 

Referencias

[1]. “Google Datacenters” 

https://www.google.com/about/datacenters/

[2]. “What is high availability?”
https://www.digitalocean.com/community/tutorials/what-is-high-availability

[3]. “What Is Continuous Improvement?

https://www.planview.com/resources/guide/lean-principles-101/what-is-continuous-improvement/

[4]. “WhatsApp, Instagram y Facebook sufren una caída mundial durante varias horas”

https://www.20minutos.es/noticia/4214316/0/whatsapp-instagram-y-facebook-sufren-una-caida-temporal-mundial/

[5]. “Spring Cloud: High Availability for Eureka”

https://medium.com/swlh/spring-cloud-high-availability-for-eureka-b5b7abcefb32

Consulta nuestro blog

Lo más destacado

En nuestro blog podrás encontrar artículos relevantes sobre cómo poder aprovechar la tecnología para potencializar tu negocio.

La nube: mitos y realidades

En la actualidad todos usamos abiertamente el concepto de "la nube" pero no siempre sabemos a qué se refiere esta idea. En este artículo, buscamos ofrecer una explicación clara sobre ¿qué es "la nube"? y algunos mitos alrrededore es esta idea.

Leer artículo

Alta disponibilidad: caso mivacuna.gob.mx

En este artículo buscamos analizar el caso del portal mivacuna.salud.gob.mx, el cuál presentó intermitencia en su servicio debido a la alta demanda de solicitudes simultaneas. Además, ofrecemos algunas recomendaciones a tener en cuenta a la hora de d

Leer artículo

eCommerce y transformación digital

A partir de un proyecto "sencillo" de comercio electrónico, sueles llegar a todo un proceso de transformación digital en tu empresa. En este artículo intentamos explicar ¿por qué se da esta situación?

Leer artículo