Consideraciones sobre el planeamiento de capacidad
- 5 minutos
El planeamiento básico de la capacidad comienza con algunos cálculos sencillos, pero hay factores que pueden complicar el proceso. Además de los números de uso actuales y previstos simples, también debe tener en cuenta las consideraciones siguientes:
- Límites y cuotas de servicio
- Limitaciones de costos
- Ineficacias de código y configuración
- Dependencias
En esta unidad, verá cómo estas consideraciones pueden afectar al planeamiento de la capacidad y cómo abordar cada una de ellas.
Límites y cuotas de servicio
Existe una tendencia a ver la informática en la nube como un recurso ilimitado. En comparación con los modelos tradicionales de servidor o centro de datos, la capacidad de la nube parece ser infinita. La nube ofrece un nuevo nivel de escala. Sin embargo, al igual que todo lo demás, tiene algunos límites. El planeamiento de la capacidad implica comprender cuándo alcanzará esos límites de servicio.
Al examinar el sistema y su arquitectura, debe comprender los límites de los servicios en la nube que usa. Por ejemplo, puede tener de forma predeterminada un máximo de 1000 máquinas virtuales por conjunto de disponibilidad de máquina virtual en Azure. Este límite puede parecer que son más que suficientes máquinas virtuales si acaba de empezar. Sin embargo, cuando alcanza ese límite, no puede aprovisionar más máquinas virtuales, lo que podría provocar una interrupción.
Nota:
En las nuevas implementaciones, considere la posibilidad de utilizar Availability Zones o Virtual Machine Scale Sets flexibles en lugar de conjuntos de disponibilidad. Availability Zones proporcionan una mayor resiliencia mediante la distribución de las máquinas virtuales entre centros de datos físicamente separados dentro de una región.
Del mismo modo, de forma predeterminada, puede tener 250 cuentas de almacenamiento por suscripción, por región (este límite se puede aumentar a través de una solicitud de soporte técnico). Estos límites son ejemplos de límites flexibles que se pueden aumentar. Pero algunos servicios tienen límites máximos, que puede encontrar en el siguiente vínculo.
Azure suscripción y límites de servicio, cuotas y restricciones
Estos límites y cuotas son algo que debe tener en cuenta y supervisar. Echemos un vistazo a las formas de hacerlo.
portal de Azure
Puede ver las cuotas de servicio y dónde está en relación con esos límites en la sección Uso y cuotas en Suscripciones:> configuración en el panel de navegación. Puede filtrar por categoría de servicio, como red o proceso, y Azure región. Le muestra dónde se encuentra en cuanto a los límites.
Mediante código
Puede usar el punto de conexión del Usage - List para cualquier servicio de Azure para obtener la información de uso actual de los recursos y los límites de los recursos de cómputo de la suscripción, como se muestra en este ejemplo resumido. Compruebe la referencia de la API REST de Azure para conocer la versión más reciente de la API estable.
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/usages?api-version=2024-07-01
{
"currentValue": 12,
"id": "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/westeurope/usages/virtualMachines",
"limit": 25000,
"name": {
"localizedValue": "Virtual Machines",
"value": "virtualMachines"
},
"unit": "Count"
}
Puede ver que el número actual de máquinas virtuales que se usan es 12 con un límite de 25 000. Algunos límites se pueden aumentar a través de una solicitud de soporte técnico, por lo que debe asegurarse de que sabe con antelación cuándo podría acercarse a un umbral.
Limitaciones de costos
El escalado no se trata solo de iniciar más recursos ante el problema. Es importante que su organización comprenda el costo de su entorno de nube y que agregar más recursos generalmente es igual a más costo. Tenga en cuenta este costo y trabaje con sus equipos financieros para asegurarse de que está de acuerdo con el gasto en la nube actual y proyectado.
Debe prever el costo tanto al diseñar inicialmente los sistemas como al realizar revisiones periódicas de los sistemas que ya están en ejecución. Azure ofrece herramientas que pueden ayudarle a:
- Planee el costo de un entorno mediante la calculadora Azure.
- Revise el gasto mensual actual y previsto en el portal de Azure.
- Configurar presupuestos en Microsoft Cost Management. Esta herramienta puede permitirle examinar los costos en distintos ámbitos, incluidos el grupo de administración, el grupo de recursos y la suscripción.
Ineficacias de código y configuración
A veces, dirigir más recursos puede resolver un problema, pero eso cuesta dinero. A veces, el escalado no es la solución o no es la solución completa. En algunos casos, puede ser que lo que parece ser una necesidad de escalado es realmente un problema causado por una codificación incorrecta o configuración.
Puede ahorrar dinero y tiempo si detecta los errores primero, antes de ampliar los recursos. Algunos ejemplos de este enfoque son:
- Si tiene una base de datos diseñada incorrectamente con particiones de acceso frecuente, como usar una sola partición en una base de datos de NoSQL de gran tamaño, se ralentizará independientemente de cuánto se escale.
- Si tiene consultas de base de datos ineficaces, haga que sean más eficaces antes de iniciar más recursos en la base de datos. A veces, simplemente agregar el índice correcto a una base de datos basada en consultas comunes puede reducir los costos de 100 veces.
- Si los tiempos de espera se configuran incorrectamente, las conexiones de base de datos pueden saturarse debido a reintentos provocados por tiempos de espera inconsistentes entre el servidor y la base de datos. En ese caso, debe corregir la configuración antes de escalar la base de datos.
- Si el código del desarrollador es ineficaz, ¿puede escribir código más eficaz para solucionar el problema? Quizás el código no libere memoria cuando pudiera, por lo que ha estado usando máquinas virtuales de memoria más grandes cuando no es necesario. Correcciones como las que pueden proporcionar ahorros de costos significativos.
Dependencias
Los cambios necesarios para solucionar algunos de los problemas descritos en este módulo suelen tener dependencias en los desarrolladores de la aplicación. Algunas de las soluciones y los procedimientos recomendados aquí requieren colaboración entre usted y esos desarrolladores para que se produzcan.
Es posible que no pueda implementar todas estas recomendaciones por su cuenta. Sin embargo, si comprende el sistema en la nube y sus funcionalidades y características, puede convertirse en un impulsor para mejorar los sistemas y su escalabilidad y confiabilidad.