Blog Nubity
octubre 2019
L M X J V S D
« Sep    
 123456
78910111213
14151617181920
21222324252627
28293031  

Categorías


Blog Nubity

Cómo hacer para evitar las caídas constantes de un sitio Web con auto escalamiento

Mantenga disponible su empresa con escalamiento automático.

Josué BeltránJosué Beltrán

Si su empresa experimenta caídas constantes, muy probablemente se deba a algún cuello de botella que mantiene a su sitio o aplicación en un estado de operación casi insostenible.

Relacionado: Cinco errores que debes evitar en este Hot Sale.

Una solución común es tener almacenamiento sobredimensionado, servidores o instancias que cuenten con más recursos como memoria, espacio en disco y procesador, que exceden las necesidades reales del servicio o aplicaciones. A pesar de ser una solución común, no es la más inteligente ya que si los picos de tráfico se resumen a unas cuantas horas al día, el resto del tiempo se gasta por recursos no utilizados, que no se pueden reducir ni aumentar.

Otra solución mucho más asertiva a las caídas de sitios web por cuellos de botella, es el auto escalamiento. Aunque la ejecución no es tan fácil, puede traer muchos más beneficios de los que espera a corto, mediano y largo plazo. Veamos algunos de ellos:

Como se puede apreciar, las virtudes del auto escalamiento giran en torno a una mayor disponibilidad de las aplicaciones y servicios, sin olvidar la optimización de costos como un factor decisivo que puede impulsar mejoras en diferentes ámbitos. Incluso brindará la posibilidad de invertir ese dinero ahorrado en el desarrollo de otras mejoras.

¿Qué escalamiento es mejor según la necesidad?

Existen diferentes tipos de escalamiento y, dependiendo de sus necesidades puede optar un escalamiento horizontal, vertical o sharding: cada uno está orientado a diferentes estrategias y en conjunto pueden ser utilizados en el auto escalamiento.

Escalamiento vertical

Escalamiento vertical. Cuando una máquina está a punto de sobrepasar su capacidad operativa, el escalamiento vertical se encarga de agregarle recursos, principalmente procesador, memoria y espacio en disco. Hay que notar que este procedimiento no es tan simple como sumar memoria, en realidad lo que se hace es crear una nueva máquina con características superiores, copiar los datos existentes en ella y eventualmente eliminar la anterior.

Escalamiento horizontal. Esta metodología consiste en duplicar las instancias que existen y distribuir el tráfico entre cada una de ellas, de manera que se evite la saturación individual y, entre mayor sea el tráfico, más instancias se crearán para evitar que el servicio se caiga.

Sharding. Mayormente usado en bases de datos, el Sharding consiste en particionar los datos existentes en una instancia y compartirlos entre instancias, mientras que las consultas pueden ser manejadas por medio de un API que hará transparente todas las peticiones. La virtud del sardina radica en que entre más datos se tengan almacenados, más instancias se crearán, cada instancia con sus propios recursos impedirá que exista un cuello de botella, de manera que una gran piscina de datos puede ser consultada con la rapidez de una base de datos sencilla.

Cabe destacar que estas metodologías se llevan a cabo entre máquinas virtuales o instancias en la nube, la razón es simple: El escalamiento de una máquina hospedada en con un proveedor de hosting tradicional implica la migración a otra máquina con procesador, disco y memoria. En este tipo de proveedores implica una ventana de mantenimiento que sólo el proveedor puede controlar bajos sus esquemas de negocio que quizás no empaten con los requerimientos actuales de escalamiento. Entonces es mucho más sencillo aumentar los recursos de una máquina virtual, clonarla o dividir la información entre varias máquinas en la nube.

Automatización al alcance

AWS, Azure e IBM Cloud cuentan con robustas soluciones de escalamiento automático para instancias en la nube.

AWS tiene integrado el servicio EC2 Auto Scaling, que puede cubrir una demanda variable para aplicaciones y sitios que tengan tráfico impredecible o fluctuante y puede funcionar en diferentes capas de las aplicaciones si es que está dividida en microservicios. Para más información consulta la documentación de AWS en su documentación.

En cuanto Azure cuenta con varios servicios como Virtual Machine Sets, Service Fabric, Azure App Service o el auto escalamiento integrado en Azure Cloud Services. Todos estos servicios funcionan a diferentes niveles y obedecen a distintas necesidades, para más información consulta la documentación en el sitio de Microsoft

IBM cuenta con una solución específica para auto escalar aplicaciones web, además de soluciones conjuntas que están orientadas a un mejor nivel de disponibilidad. Puedes consultar más acerca de las soluciones de IBM para alta disponibilidad en su página de metodologías operativas.

En cualquiera de los casos tendrá que establecer umbrales de escalamiento en los que, dependiendo de las condiciones que se acomoden a tu sitio o aplicación, creará o eliminará instancias cuando el tráfico fluctúe.

Comienza a disfrutar de los beneficios del auto escalamiento.

Según Gartner, las pérdidas por tiempo fuera de servicio, en promedio ascendían a 300 mil dólares la hora ¿Has cuantificado cuánto es lo que pierdes cada vez que se cae tu sitio web?

El auto escalamiento revolucionará la operación de su negocio, ya que le ayudará en la evolución de tu tecnología al desplegar su infraestructura en la nube, mantener sus servicios siempre disponibles y optimizar los costos según las necesidades operativas de su empresa.

Comments 1

Deja un comentario