Diferencias entre Clúster Web Essential y Clúster Web Autoscaling

En este artículo veremos las diferencias entre las diferentes arquitecturas clúster que desplegamos en okITup, pero antes de empezar, vamos a ver qué es un clúster y que beneficios nos puede aportar para nuestros proyectos web.

¿Qué es una arquitectura clúster?

Un clúster es un conjunto de máquinas en el que en cada una de ellas asignamos los servicios vitales para alojar y servir nuestro proyecto web, trabajando todas ellas como una sola plataforma conjunta.

A diferencia de un Cloud All-in-One, donde tenemos una sola máquina con todos los servicios dentro (servidor web, base de datos, cache, archivos…), en el Clúster aislamos estos servicios en nodos cloud independientes. Teniendo por tanto, una máquina para el servicio web (Apache/Nginx), otra para el servicio de base de datos, otra para el sistema de caché (varnish, redis…), y así sucesivamente según los servicios requeridos.

Con este tipo de arquitecturas conseguimos absorber una mayor carga de peticiones y tráfico, con una alta disponibilidad que permite, en determinados tipos en los que se dispone del sistema balanceado, que si un nodo de ellos tuviera un consumo excesivo o algún problema de acceso, el propio sistema actuaría en consecuencia de las parametrizaciones configuradas.

Esquema de ejemplo de un clúster web completo para Magento 2 con alta disponibilidad y autoescalado, donde adicionalmente disponemos de nodos de cache, nodo deploy y capa de seguridad y CDN con CloudFlare Pro:

Clúster Web Autoscaling Plus

En okITup desplegamos tres tipos de arquitecturas clúster:


A continuación os detallamos las principales diferencias entre Essential y AutoScaling, siempre todas las arquitecturas con los servicios de administración de sistemas imprescindibles:

Clúster Web Essential

El Clúster Web Essentiales producto considerado como la evolución de un Cloud All-in-one (servicios unificados en una sola instancia), proporcionando un entorno de servicios separados por instancias en un grado inicial de Frontend (Apache/Nginx/PHP) y Backend (MySQL/Redis), entorno que se hace robusto y confiable para alojar tus proyectos web. Es ideal para medianos proyectos en proceso de crecimiento que ya empiezan a requerir cierta escalabilidad y diversificación en el usos de recursos por servicios y nodos individuales.

Como comentábamos, esta infraestructura dispone de nodos individuales, donde se independizan los servicios: nodo frontal web o frontend para servicios como Apache, Nginx, PHP, Varnish, etc, nodo base de datos y cache como MySQL y Redis, también denominados nodos backend, e incluso adicionalmente posibles nodos necesarios para NodeJS, Jenkins, ElasticSearch, RabbitMQ o servicios similares.

En este servicio se dispone de una cantidad fija de recursos (CPU y RAM). No obstante, siempre se puede ampliar / reducir manualmente en función de la demanda con una escalabilidad vertical.

Es adecuado para sitios web que tienen un tráfico web alto, pero más predecible, cuya escalabilidad en caso necesario es panificable  y no requieren de un autoescalado dinámico a nivel de nodos.

 
Diagrama Clúster Web Essential

Clúster Web Autoscaling

El Clúster Web Autoscaling, es la evolución del modelo Essential, que con servicios totalmente separados por nodos individuales, proporciona la arquitectura de mayor tamaño y absorción de carga para un proyecto web.

Como en la infraestructura anterior, nos encontramos con los servicios funcionando de manera aislada en nodos individuales, pero en este caso debido a la ventaja de disponer de múltiples nodos web gracias a su sistema de balanceo integrado, que en proveedores de infraestructura cloud como Google (partner), ya nos permite gestión con un grupo de nodos autoescalables capaces de escalar de forma horizontal y automática, añadiendo y eliminando nodos web según las necesidades de tráfico y consumo del proyecto.

Es ideal para proyectos que tienen un uso de alta demanda de tráfico y recursos, con grandes cargas de visitas y peticiones de forma simultánea. El servicio mencionado de escalabilidad automática de recursos en los frontales web, asegura una operatividad estable, incluso en picos de tráfico inesperados.

Todas las configuraciones de este tipo de funcionalidades son desplegadas por okITup de forma óptima y personalizada para cada proyecto, buscando así el mejor rendimiento web y la mejor optimización de costes gracias a la combinación de metodologías FinOps junto con nuestra experiencia de Sysadmins y Devops.

La modalidad AutoScaling Plus, incluye replicación en base de datos, mayor potencia de recursos y servicios adicionales que complementan de forma global los proyectos con altas exigencias.
 

Diagrama Clúster Web Autoscaling