¿Qué es el Auto-Scaling?

Joven empresario que trabaja en una start-up

Autores

Gita Jackson

Staff Writer

Michael Goodwin

Staff Editor, Automation & ITOps

IBM Think

¿Qué es el autoescalado?

El autoescalado, a veces denominado "escalado automático", es una característica del cloud computing que asigna automáticamente recursos informáticos en función de la demanda del sistema.

El escalado automático se utiliza para garantizar que las aplicaciones dispongan de los recursos que necesitan para mantener una disponibilidad constante y alcanzar los objetivos de rendimiento, así como para promover el uso eficiente de los recursos de la nube y minimizar sus costes.

Según un informe técnico de 2023 de Infosys, las organizaciones que migran a la nube desperdician alrededor del 32 % de su coste en la nube1. Debido a su enfoque en la utilización eficiente de los recursos, el autoescalado es un componente útil en una práctica exitosa de FinOps.

Al configurar una infraestructura en la nube, las organizaciones asignan recursos basándose en una línea base de requisitos de recursos informáticos, de almacenamiento y de red. Sin embargo, la demanda puede fluctuar, por ejemplo, debido a picos o caídas en el tráfico de red o en el uso de las aplicaciones. Las características de autoescalado permiten ajustar los recursos a la demanda en tiempo real según métricas específicas como la utilización de la CPU o la disponibilidad de ancho de banda, sin necesidad de intervención humana.

El autoescalado se puede utilizar para optimizar la asignación de recursos a través de una variedad de medios. Por ejemplo, el escalado predictivo utiliza datos históricos para predecir la demanda futura. O el escalado dinámico, que reacciona a las necesidades de recursos en tiempo real según lo determinado por las políticas de autoescalado de una organización.

Las políticas de autoescalado automatizan los ciclos de vida de las instancias de cloud computing, iniciando y deteniendo las máquinas virtuales según sea necesario para satisfacer las necesidades de recursos. El autoescalado se utiliza a menudo junto con el equilibrio de carga elástico para optimizar el uso de los recursos disponibles en la nube.

Vista aérea de autopista

Mantenga su cabeza en la nube

Reciba el boletín semanal Think para obtener orientación de expertos sobre cómo optimizar la configuración multinube en la era de la IA.

Equilibrio de carga frente a autoescalado

Aunque el autoescalado está relacionado con el equilibrio de carga, no son exactamente lo mismo. Ambos procesos influyen en la asignación de recursos del back-end y se utilizan para optimizar el rendimiento y evitar el sobreaprovisionamiento. A menudo se utilizan juntos.

Los equilibradores de carga distribuyen el tráfico de datos entrante entre varios servidores. Esto reduce la carga de un servidor en particular. Los equilibradores de carga suelen ofrecer características como comprobaciones de estado que ayudan a dirigir el tráfico lejos de las instancias no saludables y hacia las instancias saludables. En un entorno de nube, el equilibrio de carga ayuda a mejorar el rendimiento de las aplicaciones.

En cambio, el autoescalado ajusta la capacidad del sistema en función de la demanda para mantener un rendimiento constante y evitar el sobreaprovisionamiento de recursos (es decir, utilizar solo lo necesario). Con el autoescalado, se añaden (o desactivan) nuevos servidores o instancias informáticas en función de las necesidades de recursos y de las políticas de autoescalado establecidas por la organización.

AI Academy

Cómo prepararse para la IA con la nube híbrida

Dirigido por los principales líderes de opinión de IBM, el plan de estudios está diseñado para ayudar a los líderes empresariales a obtener el conocimiento necesario para priorizar las inversiones en IA que pueden impulsar el crecimiento.

Cómo funciona el Auto-Scaling

La mayoría de los proveedores de servicios en la nube, como IBM Cloud, Amazon Web Services (a veces denominada AWS Cloud), Microsoft Azure y Oracle Cloud Infrastructure, ofrecen servicios de autoescalado para sus plataformas en la nube. Estos servicios ayudan a las organizaciones a configurar políticas de autoescalado para satisfacer las necesidades y objetivos de cloud computing de la organización.

Distintos proveedores y plataformas ofrecen diferentes características, capacidades y precios, y las organizaciones tendrán diferentes recursos disponibles y distintos casos de uso, pero en general, el auto escalado funciona de la siguiente manera:

El proceso comienza con una configuración inicial o implementación básica, en la que se proporciona un tipo (o tipos) de instancia con unas determinadas características de capacidad y rendimiento. Esta implementación suele realizarse mediante llamadas a API e infraestructura como código (IaC), un proceso que aprovecha el código para aprovisionar y configurar los elementos de la infraestructura de TI según especificaciones predefinidas.

Las organizaciones determinan la capacidad deseada y qué tipo de atributos necesita la instancia en función de la carga de trabajo prevista para esa instancia. Al establecer una política de autoescalado, las organizaciones pueden establecer objetivos y umbrales para el uso de la computación, el almacenamiento o la red. Cuando se alcanzan estos umbrales, se puede activar automáticamente una acción específica para adaptarse a las demandas actuales de recursos con mayor precisión. Si se desea, las políticas pueden configurarse para enviar una notificación al usuario cada vez que se desencadene una acción de escalado.

Grupos de Auto-Scaling

Las organizaciones también pueden crear grupos de instancias para mantener un número mínimo o máximo de instancias para cargas de trabajo específicas o agrupar distintos tipos de instancias para gestionar diferentes cargas de trabajo. Los tipos de instancias incluyen:2

Instancias de uso general

Las instancias de uso general están diseñadas para una gran variedad de cargas de trabajo, como servidores web, bases de datos pequeñas y entornos de desarrollo y pruebas.

Instancias optimizadas para computación

Estas instancias están optimizadas para cargas de trabajo que requieran un cálculo intensivo, como la computación de alto rendimiento, el procesamiento por lotes y la modelización científica. Estas instancias maximizan la potencia de cálculo utilizando GPU y CPU con un elevado número de núcleos.

Instancias optimizadas para memoria

Estas instancias con alta memoria están optimizadas para cargas de trabajo intensivas en memoria como bases de datos de alto rendimiento, cachés en memoria distribuidas y procesamiento de datos en tiempo real, así como análisis de big data.

Instancias optimizadas para almacenamiento

Estas instancias están optimizadas para cargas de trabajo intensivas en memoria como big data, almacenamiento de datos y procesamiento de registros. Utilizan cachés de alta capacidad y unidades de estado sólido (SSD) para soportar las actividades intensivas de lectura y escritura de las cargas de trabajo.

Los grupos de autoescalado con tipos de instancia mixtos permiten a los equipos de CloudOps y DevOps satisfacer las necesidades de recursos con mayor precisión y eficacia. Por ejemplo, si se satisfacen adecuadamente las necesidades de ancho de banda, pero el uso de la CPU supera el umbral establecido en las políticas de autoescalado, el sistema puede activar más instancias específicas de computación. Mientras tanto, las instancias dedicadas a gestionar el tráfico de red permanecen tal cual.

Una vez que los equipos conocen los requisitos relativos a la carga de trabajo, pueden incluso crear plantillas de configuración de arranque para nuevas instancias. Estas plantillas definen el tipo de instancia, los parámetros de configuración y otras directrices para el lanzamiento de nuevas instancias y cómo contribuyen al entorno global de la nube. De este modo, las organizaciones pueden automatizar por completo el ciclo de vida de las máquinas virtuales.

Tipos de Auto-Scaling

Existen diferentes tipos de escalado, así como diferentes métodos de autoescalado:

Escalado horizontal

El escalado horizontal, o "scaling out", implica añadir más máquinas o nodos a un entorno de cloud computing. También existe el scale in, que consiste en reducir el número de nodos del entorno.

Escalado vertical

El escalado vertical, o "scaling up", es el proceso de añadir más potencia, por ejemplo, RAM, CPU o almacenamiento, a los nodos existentes en su entorno actual de cloud computing.

Las políticas de Auto-Scaling pueden ser predictivas, dinámicas o programadas.

Escalado predictivo

Las políticas de escalado predictivo utilizan la inteligencia artificial (IA) y el machine learning para anticiparse a las necesidades futuras de recursos antes de que se produzcan, basándose en el historial de utilización.

Por ejemplo, una política de autoescalado predictivo podría identificar la probabilidad de un aumento del tráfico web para una empresa de comercio electrónico antes de la temporada de compras navideñas. Puede escalarse horizontal o verticalmente de acuerdo con la política establecida. Este enfoque puede ayudar a minimizar de forma proactiva la latencia y el tiempo de inactividad de la red.

Escalado dinámico

Las políticas de escalado dinámico reaccionan a las necesidades de recursos a medida que se producen, ajustando la asignación de recursos en función de la utilización en tiempo real. Con una política de escalado dinámico, las organizaciones pueden enviar más recursos a un nodo o grupo de autoescalado en particular. También pueden poner en marcha instancias adicionales cuando se alcanza un umbral específico, como un porcentaje de uso de la CPU.

Por ejemplo, si una organización ejecuta una aplicación web que consume muchos recursos en un horario irregular, podría utilizarse una política de escalado dinámico para ajustar la disponibilidad de recursos en función de las necesidades. El escalado dinámico suele ir acompañado de un periodo de enfriamiento, en el que los recursos incrementados permanecen disponibles en caso de que se produzcan picos de tráfico adicionales.

Escalado programado

Las políticas de Auto-Scaling programado asignan los recursos según un calendario predeterminado. Por ejemplo, si una organización sabe que el tráfico o la demanda de recursos es mucho mayor por las tardes que por las mañanas, se puede establecer una política de Auto-Scaling para adaptarse a esa demanda.

Beneficios del Auto-Scaling

Cuando se aplica con eficacia, el Auto-Scaling puede desempeñar un papel importante en la optimización del entorno de cloud computing de una organización y en la reducción de los costes generales de la nube.

Al establecer sólidas políticas de autoescalado, las organizaciones pueden reducir su dependencia del aprovisionamiento manual y garantizar un rendimiento más constante del sistema.

Minimizar la configuración manual de la infraestructura

El autoescalado permite que un entorno en la nube reaccione en tiempo real a la demanda de recursos sin necesidad de intervención humana. Esto es más eficiente que el escalado manual. Contribuye a reducir el agotamiento de los empleados, mejora la coherencia de la configuración y el aprovisionamiento y libera tiempo del personal para tareas más valiosas.

Aumente la escalabilidad

El Auto-Scaling permite a las organizaciones ampliar su entorno y sus capacidades de cloud computing de manera fluida, sin tener que dedicar personal adicional a la supervisión y el aprovisionamiento de recursos.

Proporcione un rendimiento consistente

Al garantizar que un entorno de nube dispone de los recursos de computación, red y almacenamiento que necesita, independientemente de la actividad o la demanda, el Auto-Scaling permite mantener el rendimiento constante y fiable de los servicios en la nube.

Mejore la experiencia del usuario

Un rendimiento más constante de la aplicación web y de la red significa un nivel de servicio más estable para el usuario.

Reducir los costes del cloud computing

Cuando confían en el aprovisionamiento manual de recursos, las organizaciones a menudo sobreaprovisionan por precaución, solo para asegurarse de que los recursos estén disponibles para los picos de demanda. Al utilizar una plataforma que puede escalar automáticamente los recursos informáticos, de red y de almacenamiento para satisfacer la demanda en tiempo real, las organizaciones pueden evitar el sobreaprovisionamiento. Este enfoque garantiza que utilicen solo lo que necesitan, lo que se traduce en una factura de la nube más baja y un mayor ROI.

Soluciones relacionadas

Nivel gratuito de IBM Cloud 

Cree su cuenta gratuita de IBM Cloud y acceda a más de 40 productos siempre gratuitos, incluidas las API de IBM watsonx.

Crear cuenta
IBM Cloud  

IBM Cloud es una plataforma empresarial en la nube diseñada para sectores regulados, que proporciona soluciones preparadas para la IA, seguras e híbridas.

Explorar la soluciones en el cloud
Servicios de consultoría en la nube 

Desbloquee nuevas capacidades e impulse la agilidad empresarial con los servicios de consultoría de nube de IBM. Descubra cómo cocrear soluciones, acelerar la transformación digital y optimizar el rendimiento mediante estrategias de nube híbrida y colaboraciones con expertos.

Servicio en la nube
Dé el siguiente paso

Libere todo el potencial de la IA y la nube híbrida con la plataforma segura y escalable de IBM. Comience por explorar nuestras soluciones preparadas para la IA o cree una cuenta gratuita para acceder a productos y servicios siempre gratuitos.

Explore las soluciones de IA de IBM Cloud Cree una cuenta gratuita de IBM Cloud
Notas a pie de página

Cloud cost optimization". Sarika Nandwani. Infosys.com. 2023.

AWS EC2 instance types: Challenges and best practices for hosting your application in AWS”. Christopher Graham. 23 de agosto de 2023.