Escalabilidad automática para Azure API para FHIR
Como servicio administrado, Azure API for FHIR permite a los clientes conservar los datos de atención sanitaria compatibles con Recursos Rápidos de Interoperabilidad en Salud (FHIR®) e intercambiarlos de manera segura por medio de la API del servicio. Para dar cabida a diferentes cargas de trabajo de transacciones, los clientes pueden usar la escalabilidad manual o automática.
Azure API for FHIR proporciona funcionalidades de escalado en el nivel de base de datos y proceso.
Escalado automático en el nivel de base de datos
De forma predeterminada, Azure API for FHIR se establece en manual para el escalado de bases de datos. Esta opción funciona bien cuando las cargas de trabajo de las transacciones son conocidas y coherentes. Los clientes pueden ajustar el rendimiento RU/s
a través del portal hasta 100 000 y enviar una solicitud para aumentar el límite.
La característica de escalado automático está diseñada para escalar recursos de Azure, incluido el rendimiento de la base de datos automáticamente según las cargas de trabajo, lo que elimina posibles cuellos de botella en la capa de datos.
Permite comprender cómo habilitar el escalado automático en el nivel de base de datos con las secciones siguientes
Instrucciones para habilitar el escalado automático
En general, los clientes deben considerar la escalabilidad automática cuando sus cargas de trabajo varíen significativamente y sean impredecibles.
Para habilitar la característica de escalado automático, el cliente debe crear una incidencia de soporte técnico única para solicitarla a través de Azure Portal. El equipo de soporte técnico de Microsoft habilita la característica de escalado automático en función de la prioridad de soporte técnico.
Nota:
La característica de escalabilidad automática no está disponible en Azure Portal.
Escalabilidad automática para RU/s
Cuando se habilita la escalabilidad automática, el sistema calcula y establece el valor inicial de Tmax
. La escalabilidad se rige por el valor máximo de RU/s
de rendimiento, o Tmax
, y se escala entre 0.1 *Tmax
(o 10 % de Tmax
) y Tmax RU/s
. El valor Tmax
aumenta automáticamente a medida que crece el tamaño total de los datos. Para garantizar la escalabilidad máxima, el valor Tmax
se debe mantener tal como está. Sin embargo, los clientes pueden solicitar que el valor se cambie a un valor entre el 10 % y el 100 % del valor Tmax
.
Puede aumentar el valor máximo de RU/s
, o Tmax
, hasta el valor más alto que admita el servicio. Cuando el servicio está ocupado, las RU/s
de proceso se escalan verticalmente hasta el valor Tmax
. Si el servicio está inactivo, las RU/s
de proceso se reducen verticalmente hasta el 10% de Tmax
.
También puede reducir el valor máximo de RU/s
, o Tmax
. Al reducir el número máximo de RU/s
, el valor mínimo que se puede establecer es: MAX (4000, highest max RU/s ever provisioned / 10, current storage in GB * 400)
, redondeado en miles de RU/s
.
-
Ejemplo 1: tiene datos de 1 GB y el valor máximo de
RU/s
aprovisionado es 10 000. El valor mínimo es el máximo de (4000, 10 000/10, 1 x 400) = 4000. Se usa el primer número, 4000. -
Ejemplo 2: tiene datos de 20 GB y el valor más alto de
RU/s
aprovisionado es 100 000. El valor mínimo es el máximo de (4000, 100 000/10, 20 x 400) = 10 000. Se usa el segundo número, 100 000/10 =10 000. - Ejemplo 3: tiene datos de 80 GB y el valor más alto de RU/s aprovisionado es 300 000. El valor mínimo es el máximo de (4000, 300 000/10, 80 x 400) = 32 000. Se usa el tercer número, 80 x 400 = 32 000.
Puede ajustar el valor máximo RU/s
o Tmax
a través del portal si es un número válido y no mayor que 100 000 RU/s
. Puede crear una incidencia de soporte técnico para solicitar Tmax
un valor superior a 100 000.
Nota:
A medida que el almacenamiento de datos crece, el sistema aumentará automáticamente el rendimiento máximo a las RU/s más altas siguientes que puedan admitir ese nivel de almacenamiento.
Escalado automático en el nivel de proceso
Las directivas de escalado automático definidas para el nivel de proceso del servicio FHIR constan de:
- Desencadenador de escalado
El desencadenador de escalado describe cuándo se realizará el escalado del servicio. Las condiciones que se definen en el desencadenador se comprueban periódicamente para determinar si se debe escalar un servicio. Todos los desencadenadores que se admiten actualmente son CPU media, Subproceso de trabajo máximo, Registro medioWrite, E/S promedio de datos.
- Mecanismo de escalado
El mecanismo de escalado se aplica si la comprobación del desencadenador determina que el escalado es necesario. Además, el desencadenador de escalado no se evaluará de nuevo hasta que el intervalo de escalado haya expirado, que se establece en un minuto para Azure API for FHIR.
Para garantizar el mejor resultado posible, se recomienda a los clientes que aumenten gradualmente su tasa de solicitudes para que coincida con la tasa de inserción esperada, en lugar de insertar todas las solicitudes a la vez.
Preguntas más frecuentes
¿Cómo calcular las RU/s de rendimiento necesarias?
El tamaño de los datos es uno de los diversos factores que se usan para calcular las RU/s de rendimiento totales necesarias para la escala manual y la escalabilidad automática. Puede encontrar el tamaño de los datos en la opción de menú Métricas en Supervisión. Inicie un gráfico nuevo y seleccione Tamaño de colección de Cosmos DB en el cuadro desplegable Métrica y Máx. en el cuadro "Agregación".
Debería poder ver el tamaño máximo de la colección de datos durante el período seleccionado. Si es necesario, cambie el "intervalo de tiempo"; por ejemplo, de "Últimos 30 minutos" a "Últimas 48 horas".
Use la fórmula para calcular las RU/s necesarias.
- Escala manual: almacenamiento en GB * 40
- Escalabilidad automática: almacenamiento en GB * 400
Tenga en cuenta que esto es solo un cálculo basado en el tamaño de los datos y que hay otros factores que afectan las RU/s necesarias.
He habilitado la escalabilidad automática cómo puedo migrar para escalar manualmente?
Se requiere una incidencia de soporte técnico para cambiar la escalabilidad automática a escala manual y especificar las RU/s de rendimiento. El valor mínimo de la escala manual que puede establecer es MAX (400, highest max RU/s ever provisioned / 100, current storage in GB * 40)
, redondeado a las 1000 RU/s
más cercanas. Los números que se usan aquí son diferentes de los que se usan la escalabilidad automática.
Una vez completado el cambio, las nuevas tarifas de facturación se basan en la escala manual.
¿Cómo afecta la escalabilidad automática al costo?
La característica de escalabilidad automática incurre en costos debido a la administración automática de las unidades de procesamiento aprovisionadas. Los costos reales dependen del uso por hora, pero tenga en cuenta que hay costos mínimos del 10 % de Tmax
para las RU/s de rendimiento reservadas. Sin embargo, este aumento del costo no se aplica a los costos de almacenamiento y tiempo de ejecución. Para información sobre los precios, consulte Precios de Azure Healthcare APIs.
Pasos siguientes
En este documento, aprendió sobre la característica de escalabilidad automática de Azure API for FHIR. Para información general sobre Azure API for FHIR, consulte
FHIR® es una marca registrada de HL7 y se usa con su permiso.