COST09-BP03 Aprovisionar recursos de forma dinámica
Los recursos se aprovisionan de manera planificada. Esto puede basarse en la demanda (por ejemplo, mediante el escalado automático) o en el tiempo, donde la demanda es predecible y los recursos se proporcionan en función del tiempo. Estos métodos conllevan la menor cantidad de aprovisionamiento excesivo o insuficiente.
Nivel de riesgo expuesto si no se establece esta práctica recomendada: Bajo
Guía para la implementación
Puede usar AWS Auto Scaling
Aprovisionamiento basado en la demanda: saque provecho de la elasticidad de la nube para aprovisionar recursos que satisfagan el cambio en la demanda. Con las API o las funciones del servicio, puede variar de forma dinámica mediante programación la cantidad de recursos de la nube en su arquitectura. Así puede escalar componentes en su arquitectura y aumentar automáticamente la cantidad de recursos durante los picos de demanda a fin de mantener el rendimiento, así como disminuir la capacidad cuando la demanda disminuya para reducir los costos.
AWS Auto Scaling
Auto Scaling detecta los recursos automáticamente, lo que le ayuda a buscar recursos en su carga de trabajo que se pueden configurar. Además, tiene estrategias de escalado integradas para optimizar el rendimiento y los costes, o un equilibrio entre ambos, y proporciona escalado predictivo para ayudar en los picos que se producen regularmente.
Auto Scaling puede implementar escalado basado en la demanda, programado o manual. También puede usar las métricas y las alarmas de Amazon CloudWatch
Al diseñar con un enfoque basado en la demanda, tenga en cuenta dos consideraciones clave. La primera: debe conocer la rapidez con la que necesita aprovisionar recursos nuevos. La segunda: tenga en cuenta que el tamaño del margen entre la oferta y la demanda cambiará. Debe estar preparado para poder hacer frente a la velocidad del cambio en la demanda y también a los errores de recursos.
ELB
Aprovisionamiento basado en tiempo: el enfoque basado en tiempo adapta la capacidad de los recursos según la demanda que sea predecible o que esté bien definida por el tiempo. Normalmente, este enfoque no depende de los niveles de utilización de los recursos. El enfoque basado en tiempo garantiza que los recursos estén disponibles en el momento específico en que se necesiten y que se puedan proporcionar sin demoras por los procedimientos de inicio y comprobaciones del sistema o de consistencia. Con el enfoque basado en tiempo, puede brindar recursos adicionales o aumentar la capacidad durante los periodos de mayor actividad.
Puede usar el Auto Scaling programado para implementar un enfoque basado en el tiempo. Las cargas de trabajo se pueden programar para ampliar o reducir la capacidad en momentos definidos (como el inicio del horario laboral). De este modo, se garantiza que los recursos estén disponibles cuando aparezcan los usuarios o la demanda.
También puede aprovechar las API y los SDK de AWS
Puede usar API para escalar el tamaño de los recursos dentro de un entorno (escalado vertical). Por ejemplo, puede escalar verticalmente una carga de trabajo de producción cambiando el tamaño o la clase de instancia. Para ello, hay que detener o iniciar la instancia y seleccionar el tamaño o la clase de instancia diferente. Esta técnica también se puede aplicar a otros recursos tales como los volúmenes elásticos de Amazon Elastic Block Store (Amazon EBS), los cuales se pueden modificar para aumentar el tamaño, ajustar el rendimiento (IOPS) o cambiar el tipo de volumen mientras están en uso.
Al diseñar con un enfoque basado en tiempo, tenga en cuenta dos consideraciones clave. La primera: ¿qué grado de consistencia presenta el patrón? La segunda: ¿en qué afectaría el patrón si cambiara? Puede aumentar la precisión de las predicciones mediante la supervisión de sus cargas de trabajo y el uso de la inteligencia empresarial. Si observa cambios considerables en el patrón de uso, puede ajustar los tiempos para asegurarse de que se brinde cobertura.
Pasos para la aplicación
-
Configurar una programación basada en el tiempo: en caso de cambios predecibles en la demanda, el escalado basado en el tiempo puede proporcionar el número correcto de recursos de manera oportuna. También es útil si la creación y configuración de recursos no es suficientemente rápida a la hora de responder a los cambios en la demanda. Use el análisis de las cargas de trabajo para configurar el escalado programado con AWS Auto Scaling.
-
Configurar Auto Scaling: use Amazon Auto Scaling para configurar el escalado según las métricas de carga de trabajo activas. Use los análisis y configure el escalado automático para iniciar en los niveles de recursos correctos y garantizar que la carga de trabajo se escale en el tiempo requerido.
Recursos
Documentos relacionados: