- Portada
- Entradas
- Redes
- La importancia de eliminar los puntos únicos de fallo en cualquier arquitectura de sistemas
El pasado día 31 es probable que hayas sido uno de los afectados por la interrupción de Whatsapp, un servicio de mensajería con una asombrosa cantidad de 900 millones de usuarios en todo el mundo. Imagínate por un momento la infraestructura necesaria para proporcionar servicio a tantos usuarios al mismo tiempo; es verdaderamente impresionante. En este artículo no voy a hablar de la caída del gigante de la mensajería, pero sí quiero reflexionar sobre la importancia de eliminar los puntos únicos de fallo (SPOF por sus siglas en inglés) en todas las arquitecturas de sistemas y lo deficiente que está resuelto en la mayoría de las empresas. Conoce todo sobre las funciones de un consultor de tecnología de la información.
Puntos Únicos de Fallo
Como mencioné anteriormente, un SPOF es un punto singular de fallo, es decir, un componente dentro de tu plataforma que realiza una función específica y no hay otro componente que pueda hacer lo mismo. En caso de problemas con este componente, el servicio puede dejar de funcionar parcial o completamente. Un SPOF puede ser desde un servidor hasta un elemento de red, como un router, un firewall o un switch.
Cuando alguien planifica una arquitectura de sistemas, su objetivo principal es ofrecer el mejor servicio posible, por lo que busca una disponibilidad cercana al 100% (aunque está claro que esto es imposible, no existen sistemas perfectos; si un consultor te asegura lo contrario, debes sospechar). Por lo tanto, es importante eliminar los SPOF en la medida de lo posible.
De manera simplificada, lo opuesto a un SPOF son los sistemas balanceados o clústeres, aunque no son lo mismo, ambos se utilizan para eliminar los SPOF y lograr una disponibilidad del servicio más alta.
Sistemas Balanceados
Un sistema balanceado es una arquitectura en la que hay un elemento adicional llamado balanceador (o más precisamente, al menos dos balanceadores, ya que estamos hablando de eliminar los SPOF) que se encarga de distribuir el tráfico que llega a través de un grupo de servidores con la misma función.
Estos sistemas se utilizan principalmente en entornos web para distribuir todas las solicitudes HTTP que llegan al sistema entre los servidores web configurados en el conjunto. Un sistema como este nos permite mantener el servicio en caso de que uno de los servidores del conjunto se caiga.
Sistemas Clusterizados
Este tipo de sistemas generalmente está constituido por nodos, que son servidores que desempeñan la misma función. Sin embargo, a diferencia de los sistemas balanceados en los que los servidores del mismo grupo no se comunican entre sí, en un cluster sí lo hacen.
Durante esta comunicación entre los nodos, suelen intercambiar información sobre si un nodo está inactivo o no, si está funcionando normalmente o si puede proporcionar servicio. Cada producto implementa sus clusters según sus necesidades, por lo que es difícil generalizar en este punto.
En su sentido más puro, un cluster es un sistema que se ve como una entidad completa y es frecuente en bases de datos o dispositivos de red como routers y switches.
En resumen, un cluster te permite mejorar la disponibilidad de un servicio en particular al eliminar puntos de fallo únicos (SPOF). Al final, como administradores de sistemas, debemos tener en cuenta que eliminar los SPOF de una plataforma es una decisión de negocio. Si el costo de eliminar estos puntos de fallo es mayor que el dinero que se deja de ganar por una caída, está claro que la existencia de estos SPOF está justificada, aunque ocasionalmente pueda dañar la reputación de la compañía.