# Dimensionamiento de App Service

## Conceptos básicos

SCEPman depende principalmente de los recursos de CPU. La memoria y el disco son mucho menos importantes.

Una instancia de SCEPman (versión 3.0 y posteriores) en un Azure P0V3 App Service Plan (195 ACUs) puede atender alrededor de 4000 solicitudes por minuto en condiciones normales. Las solicitudes son

* solicitudes de emisión de SCEP y
* solicitudes de OCSP.

Esto significa que SCEPman puede atender unas 20 solicitudes por minuto por ACU.

Como un certificado se inscribe una sola vez, pero su validez se comprueba muchas veces, en total habrá muchas más solicitudes de OCSP que solicitudes de SCEP. Por lo tanto, debe dimensionar su instancia de SCEPman en función de sus solicitudes de OCSP.

## Dependencias

La carga de su servicio SCEPman tiene varias dependencias y varía en los distintos entornos. Las dependencias importantes son:

1. Distribución de las solicitudes
2. Frecuencia de inicio de sesión en recursos de red
3. Frecuencia de solicitudes/renovaciones de certificados

Especialmente la distribución de las solicitudes tiene una gran importancia. Si todos los clientes realizan solicitudes al mismo tiempo, sus instancias de SCEPman tendrán una carga elevada. Debe procurar que SCEPman responda a las solicitudes de SCEP en menos de un minuto en todos los casos.

{% hint style="warning" %}
No asigne perfiles SCEP a un gran número de usuarios/dispositivos al mismo tiempo, ya que esto puede provocar un pico de solicitudes en sus instancias de SCEPman.
{% endhint %}

## Recomendación

Recomendamos el siguiente dimensionamiento en Azure Compute Units (ACU) para los Azure App Service Plans como punto de partida:

| Cantidad de usuarios/clientes |               Diseño singular               |                 Diseño georreplicado                |
| :---------------------------: | :-----------------------------------------: | :-------------------------------------------------: |
|        < 5000 clientes        |    <p>\~100 ACUs<br>(p. ej., 1 x S1)</p>    |     <p>2 x \~100 ACUs</p><p>(p. ej., 2 x S1)</p>    |
|       < 10.000 clientes       |  <p>\~200 ACUs</p><p>(p. ej., 1 x P0V3)</p> |    <p>2 x \~200 ACUs</p><p>(p. ej., 2 x P0V3)</p>   |
|       < 25.000 clientes       |  <p>\~400 ACUs</p><p>(p. ej., 2 x P0V3)</p> |     <p>2 x \~400 ACUs<br>(p. ej., 4 x P0V3)</p>     |
|       < 50.000 clientes       |  <p>\~800 ACUs</p><p>(p. ej., 4 x P0V3)</p> |     <p>2 x \~800 ACUs<br>(p. ej., 8 x P0V3)</p>     |
|       < 100.000 clientes      | <p>\~1600 ACUs</p><p>(p. ej., 4 x P1V3)</p> |   <p>2 x \~1600 ACUs</p><p>(p. ej., 8 x P1V3)</p>   |
|       > 100.000 clientes      | <p>\~3200 ACUs</p><p>(p. ej., 4 x P2V3)</p> | <p>2 x \~3200 ACUs</p><p>(p. ej., 2 x 4 x P2V3)</p> |

Con base en estas recomendaciones, puede supervisar su tráfico y ver si puede reducir la escala como se describe en la sección [Ajuste fino](#fine-tuning) a continuación.

## Pronóstico de costos de Azure

Los principales costos de Azure estarán en el/los Azure Apps Service Plan(s). Puede derivar su costo a partir de los requisitos de la tabla anterior y [su lista de precios de Azure](https://azure.microsoft.com/en-us/pricing/calculator/) o la información general genérica sin descuento de [App Service Pricing](https://azure.microsoft.com/en-us/pricing/details/app-service/windows/) .

Los recursos adicionales de Azure (Key Vault, Storage Account, Log Analytics, recursos de red para puntos de conexión privados) desempeñan un papel menor en el costo. En función de los casos de uso en su entorno, debe esperar un 5% a 25% adicional sobre el costo del App Service Plan para estos recursos adicionales de Azure.

{% hint style="info" %}
Esta proyección de costos es solo una regla general para ayudarle a estimar el costo de Azure. Puede variar significativamente en distintos entornos.
{% endhint %}

## Ajuste fino

Cada entorno tiene su propia distribución de carga a lo largo del día. En muchos entornos, la mañana (inicio de la jornada laboral) genera un pico de carga en su SCEPman.

### Escalado manual

Puede adaptar la capacidad de cómputo de su App Service a su distribución diaria de carga individual con las características de Azure App Service Scale Out. Por ejemplo, podría definir 2 x S1 por la mañana de 08:00 a 10:00 para cubrir el pico matutino, mientras reduce a 1 x S1 para el resto del día.

### Escalado automático

Como alternativa, puede usar la característica de escalado automático de Azure App para adaptarse a los recursos necesarios. Obtenga más información sobre ello en [escalado automático](https://docs.scepman.com/es/configuracion-de-azure/azure-sizing/autoscaling).

### Escalado manual vs. automático

Si puede predecir bien su carga (por ejemplo, derivada del historial de carga), recomendamos el escalado manual en lugar del escalado automático, ya que el escalado automático debe comportarse de forma perezosa (histéresis) para evitar oscilaciones entre escalas.
