Share via


Revisión de Azure Well-Architected Framework: Azure Service Fabric

Azure Service Fabric es una plataforma de sistemas distribuidos que facilita el proceso de empaquetar, implementar y administrar microservicios y contenedores escalables y de confianza. Estos recursos se implementan en un conjunto conectado a la red de máquinas virtuales o físicas, que se denomina clúster.

Hay dos modelos de clústeres en Azure Service Fabric: clústeres estándar y clústeres administrados.

Los clústeres estándar requieren que defina un recurso de clúster junto con una serie de recursos auxiliares. Estos recursos deben configurarse correctamente tras la implementación y mantenerse correctamente durante el ciclo de vida del clúster. De lo contrario, el clúster y los servicios no funcionarán correctamente.

Los clústeres administrados simplifican las operaciones de implementación y administración. El modelo de clúster administrado consta de un único recurso de clúster administrado de Service Fabric que encapsula y abstrae los recursos subyacentes.

En este artículo se describe principalmente el modelo de clúster administrado para simplificar. Sin embargo, las llamadas se realizan para cualquier consideración especial que se aplique al modelo de clúster estándar .

En este artículo, aprenderá los procedimientos recomendados de arquitectura para Azure Service Fabric. La guía se basa en los cinco pilares de excelencia arquitectónica:

  • Confiabilidad
  • Seguridad
  • Optimización de costos
  • Excelencia operativa
  • Eficiencia del rendimiento

Requisitos previos

Confiabilidad

En las secciones siguientes se tratan las consideraciones de diseño y las recomendaciones de configuración, específicas de Azure Service Fabric y la confiabilidad.

Al analizar la confiabilidad con Azure Service Fabric, es importante distinguir entre la confiabilidad del clúster y la confiabilidad de la carga de trabajo. La confiabilidad del clúster es una responsabilidad compartida entre el administrador del clúster de Service Fabric y su proveedor de recursos, mientras que la confiabilidad de la carga de trabajo es el dominio de un desarrollador. Azure Service Fabric tiene consideraciones y recomendaciones para ambos roles.

En la lista de comprobación de diseño y la lista de recomendaciones siguientes, se realizan llamadas para indicar si cada opción es aplicable a la arquitectura del clúster, a la arquitectura de carga de trabajo o a ambas.

Para más información sobre la confiabilidad del clúster de Azure Service Fabric, consulte la documentación de planeamiento de capacidad.

Para más información sobre la confiabilidad de la carga de trabajo de Azure Service Fabric, consulte el subsistema de confiabilidad incluido en la arquitectura de Service Fabric.

Diseño de una lista de comprobación

A medida que toma decisiones de diseño para Azure Service Fabric, revise los principios de diseño para agregar confiabilidad a la arquitectura.

  • Arquitectura de clúster: Use la SKU estándar para escenarios de producción. Clúster estándar: Use el nivel de durabilidad Silver (5 máquinas virtuales) o superior para escenarios de producción.
  • Arquitectura de clúster: Para cargas de trabajo críticas, considere la posibilidad de usar Availability Zones para los clústeres de Service Fabric.
  • Arquitectura de clúster: En escenarios de producción, use el equilibrador de carga de nivel Estándar. Los clústeres administrados crean una instancia pública de Standard Load Balancer de Azure y un nombre de dominio completo con una dirección IP pública estática en los tipos de nodo principal y secundario. También puede traer su propio equilibrador de carga, que admite equilibradores de carga de SKU básico y estándar.
  • Arquitectura de clúster: Cree tipos de nodo adicionales y secundarios para las cargas de trabajo.

Recomendaciones

Explore la siguiente tabla de recomendaciones para optimizar la configuración de Azure Service Fabric para la confiabilidad del servicio:

Recomendación de Azure Service Fabric Prestación
Arquitectura de clúster: Use la SKU estándar para escenarios de producción. Este nivel garantiza que el proveedor de recursos mantenga la confiabilidad del clúster. Clúster estándar: Un clúster administrado de SKU estándar proporciona el equivalente de nivel de durabilidad Silver. Para lograr esto mediante el modelo de clúster estándar, deberá usar 5 máquinas virtuales (o más).
Arquitectura de clúster: Considere la posibilidad de usar Availability Zones para los clústeres de Service Fabric. El clúster administrado de Service Fabric admite implementaciones que abarcan varias zonas de disponibilidad para proporcionar resistencia de zona. Esta configuración garantizará la alta disponibilidad de los servicios críticos del sistema y las aplicaciones para protegerse frente a puntos de error únicos.
Arquitectura de clúster: Considere la posibilidad de usar Azure API Management para exponer y descargar la funcionalidad transversal para las API hospedadas en el clúster. API Management se puede integrar directamente con Service Fabric.
Arquitectura de carga de trabajo: Para escenarios de carga de trabajo con estado, considere la posibilidad de usar Reliable Services. El modelo de Reliable Services permite a los servicios mantenerse al día incluso en entornos poco confiables en los que las máquinas producen errores o alcanzan problemas de red, o en casos en los que los propios servicios encuentran errores y bloqueos o errores. Para los servicios con estado, su estado se conserva incluso aunque se produzcan problemas de red u otros errores.

Para obtener más sugerencias, consulte Principios del pilar de confiabilidad.

Seguridad

En las secciones siguientes se tratan las consideraciones de diseño y las recomendaciones de configuración, específicas de Azure Service Fabric y la seguridad.

Al analizar la seguridad con Azure Service Fabric, es importante distinguir entre la seguridad del clúster y la seguridad de la carga de trabajo. La seguridad del clúster es una responsabilidad compartida entre el administrador del clúster de Service Fabric y su proveedor de recursos, mientras que la seguridad de la carga de trabajo es el dominio de un desarrollador. Azure Service Fabric tiene consideraciones y recomendaciones para ambos roles.

En la lista de comprobación de diseño y la lista de recomendaciones siguientes, se realizan llamadas para indicar si cada opción es aplicable a la arquitectura del clúster, a la arquitectura de carga de trabajo o a ambas.

Para más información sobre la seguridad del clúster de Azure Service Fabric, consulte Escenarios de seguridad de clústeres de Service Fabric.

Para más información sobre la seguridad de la carga de trabajo de Azure Service Fabric, consulte Seguridad de servicio y aplicación de Service Fabric.

Diseño de una lista de comprobación

A medida que toma decisiones de diseño para Azure Service Fabric, revise los principios de diseño para agregar seguridad a la arquitectura.

  • Arquitectura de clúster: Asegúrese de que los grupos de seguridad de red (NSG) están configurados para restringir el flujo de tráfico entre subredes y tipos de nodo. Asegúrese de que se abren los puertos correctos para la implementación de aplicaciones y las cargas de trabajo.
  • Arquitectura de clúster: Al usar el almacén de secretos de Service Fabric para distribuir secretos, use un certificado de cifrado de datos independiente para cifrar los valores.
  • Arquitectura de clúster:implemente certificados de cliente agregándolos a Azure Key Vault y haciendo referencia al URI en la implementación.
  • Arquitectura de clúster: Habilite Microsoft Entra integración para el clúster para asegurarse de que los usuarios puedan acceder a Service Fabric Explorer mediante sus credenciales de Microsoft Entra. No distribuya los certificados de cliente del clúster entre los usuarios para acceder al Explorador.
  • Arquitectura de clúster: Para la autenticación de cliente, use certificados de cliente de administración y de solo lectura o autenticación Microsoft Entra.
  • Arquitecturas de clúster y carga de trabajo: Cree un proceso para supervisar la fecha de expiración de los certificados de cliente.
  • Arquitecturas de clúster y carga de trabajo: Mantenga clústeres independientes para el desarrollo, el almacenamiento provisional y la producción.

Recomendaciones

Tenga en cuenta las siguientes recomendaciones para optimizar la configuración de Azure Service Fabric para la seguridad:

Recomendación de Azure Service Fabric Prestación
Arquitectura de clúster: Asegúrese de que los grupos de seguridad de red (NSG) están configurados para restringir el flujo de tráfico entre subredes y tipos de nodo. Por ejemplo, puede tener una instancia de API Management (una subred), una subred de front-end (exponer un sitio web directamente) y una subred de back-end (accesible solo para front-end).
Arquitectura de clúster: Implemente certificados Key Vault en conjuntos de escalado de máquinas virtuales del clúster de Service Fabric. La centralización del almacenamiento de los secretos de aplicación le permite controlar su distribución. Key Vault reduce en gran medida las posibilidades de que se puedan filtrar por accidente los secretos.
Arquitectura de clúster: Aplique una lista de Access Control (ACL) al certificado de cliente para el clúster de Service Fabric. El uso de una ACL proporciona un nivel adicional de autenticación.
Arquitectura de clúster: Use las solicitudes de recursos y los límites para controlar el uso de recursos en los nodos del clúster. La aplicación de límites de recursos ayuda a garantizar que un servicio no consuma demasiados recursos y asestee otros servicios.
Arquitectura de carga de trabajo: Cifre los valores secretos del paquete de Service Fabric. El cifrado en los valores secretos proporciona un nivel de seguridad adicional.
Arquitectura de carga de trabajo: Incluya certificados de cliente en aplicaciones de Service Fabric. El hecho de que las aplicaciones usen certificados de cliente para la autenticación proporciona oportunidades de seguridad tanto en el nivel de clúster como de carga de trabajo.
Arquitectura de carga de trabajo: Autenticación de aplicaciones de Service Fabric en recursos de Azure mediante identidad administrada. El uso de la identidad administrada permite administrar de forma segura las credenciales del código para autenticarse en varios servicios sin guardarlas localmente en una estación de trabajo de desarrollador o en el control de código fuente.
Arquitecturas de clúster y carga de trabajo: Siga los procedimientos recomendados de Service Fabric al hospedar aplicaciones que no son de confianza. Siguiendo los procedimientos recomendados se proporciona un estándar de seguridad que se debe seguir.

Para obtener más sugerencias, consulte Principios de diseño de seguridad.

Azure Advisor le ayuda a garantizar y mejorar la seguridad de Azure Service Fabric. Puede revisar las recomendaciones de la sección Azure Advisor de este artículo.

Definiciones de directiva

Azure Policy ayuda a mantener los estándares de la organización y a evaluar el cumplimiento en los recursos. Tenga en cuenta las siguientes directivas integradas a medida que configure Azure Service Fabric:

  • Los clústeres de Service Fabric deben tener la propiedad ClusterProtectionLevel establecida en EncryptAndSign. Este es el valor predeterminado para los clústeres administrados y no se puede cambiar. Clúster estándar: Asegúrese de establecer ClusterProtectionLevel en EncryptAndSign.
  • Los clústeres de Service Fabric solo deben usar Microsoft Entra id. para la autenticación de cliente.

Todas las definiciones de directivas integradas relacionadas con Azure Service Fabric se muestran en Directivas integradas: Service Fabric.

Optimización de costos

En las secciones siguientes se tratan las consideraciones de diseño y las recomendaciones de configuración, específicas de Azure Service Fabric y la optimización de costos.

Al analizar la optimización de costos con Azure Service Fabric, es importante distinguir entre el costo de los recursos del clúster y el costo de los recursos de carga de trabajo. Los recursos de clúster son una responsabilidad compartida entre el administrador del clúster de Service Fabric y su proveedor de recursos, mientras que los recursos de carga de trabajo son el dominio de un desarrollador. Azure Service Fabric tiene consideraciones y recomendaciones para ambos roles.

En la lista de comprobación de diseño y la lista de recomendaciones siguientes, se realizan llamadas para indicar si cada opción es aplicable a la arquitectura del clúster, a la arquitectura de carga de trabajo o a ambas.

Para la optimización de costos del clúster, vaya a la calculadora de precios de Azure y seleccione Azure Service Fabric en los productos disponibles. Puede probar diferentes planes de configuración y pago en la calculadora.

Para más información sobre los precios de la carga de trabajo de Azure Service Fabric, consulte el proceso de cálculo de costos de ejemplo para el planeamiento de aplicaciones.

Diseño de una lista de comprobación

A medida que toma decisiones de diseño para Azure Service Fabric, revise los principios de diseño para optimizar el costo de la arquitectura.

  • Arquitectura de clúster: Seleccione la SKU de máquina virtual adecuada.
  • Arquitectura de clúster: Use el tipo de nodo y el tamaño adecuados.
  • Arquitecturas del clúster y la carga de trabajo: use el tamaño y el nivel de disco administrado adecuados.

Recomendaciones

Explore la tabla siguiente de recomendaciones para optimizar la configuración de Azure Service Fabric por costo:

Recomendación de Azure Service Fabric Prestación
Arquitectura de clúster: Evite las SKU de máquina virtual con ofertas de disco temporal. Service Fabric usa discos administrados de forma predeterminada, por lo que evitar las ofertas de disco temporal garantiza que no paga por recursos innecesarios.
Arquitectura de clúster: Si necesita seleccionar una SKU de máquina virtual determinada por motivos de capacidad y es necesario ofrecer un disco temporal, considere la posibilidad de usar la compatibilidad temporal con discos para las cargas de trabajo sin estado. Sacar el máximo partido de los recursos por los que paga. El uso de un disco temporal en lugar de un disco administrado puede reducir los costos de las cargas de trabajo sin estado.
Arquitecturas de clúster y carga de trabajo: Alinee la selección de SKU y el tamaño del disco administrado con los requisitos de carga de trabajo. La coincidencia de la selección con las demandas de carga de trabajo garantiza que no paga por los recursos innecesarios.

Para obtener más sugerencias, consulte Principios del pilar de optimización de costos.

Excelencia operativa

En las secciones siguientes se tratan las consideraciones de diseño y las recomendaciones de configuración, específicas de Azure Service Fabric y la excelencia operativa.

Al analizar la seguridad con Azure Service Fabric, es importante distinguir entre la operación del clúster y la operación de carga de trabajo. La operación de clúster es una responsabilidad compartida entre el administrador del clúster de Service Fabric y su proveedor de recursos, mientras que la operación de carga de trabajo es el dominio de un desarrollador. Azure Service Fabric tiene consideraciones y recomendaciones para ambos roles.

En la lista de comprobación de diseño y la lista de recomendaciones siguientes, se realizan llamadas para indicar si cada opción es aplicable a la arquitectura del clúster, a la arquitectura de carga de trabajo o a ambas.

Diseño de una lista de comprobación

A medida que toma decisiones de diseño para Azure Service Fabric, revise los principios de diseño para la excelencia operativa.

Recomendaciones

Explore la siguiente tabla de recomendaciones para optimizar la configuración de Azure Service Fabric para la excelencia operativa:

Recomendación de Azure Service Fabric Prestación
Arquitectura de carga de trabajo: Use Application Insights para supervisar las cargas de trabajo. Application Insights se integra con la plataforma Azure, incluido Service Fabric.
Arquitecturas de clúster y carga de trabajo: Cree un proceso para supervisar la fecha de expiración de los certificados de cliente. Por ejemplo, Key Vault ofrece una característica que envía un correo electrónico cuando ha transcurrido la vida útil del certificado x%.
Arquitecturas de clúster y carga de trabajo: En el caso de los clústeres de preproducción, use Azure Chaos Studio para explorar en profundidad la interrupción del servicio en un error de instancia del conjunto de escalado de máquinas virtuales. La práctica de escenarios de interrupción del servicio le ayudará a comprender qué es en riesgo en la infraestructura y cómo mitigar mejor los problemas si surgen.
Arquitecturas de clúster y carga de trabajo: Use Azure Monitor para supervisar eventos de infraestructura de clústeres y contenedores. Azure Monitor se integra bien con la plataforma Azure, incluido Service Fabric.
Arquitecturas de clúster y carga de trabajo: Use Azure Pipelines para la solución de integración e implementación continuas. Azure Pipelines se integra bien con la plataforma Azure, incluido Service Fabric.

Para obtener más sugerencias, consulte Principios del pilar de excelencia operativa.

Eficiencia del rendimiento

En la sección siguiente se tratan las recomendaciones de configuración, específicas de Azure Service Fabric y la eficiencia del rendimiento.

Al analizar la seguridad con Azure Service Fabric, es importante distinguir entre la operación del clúster y la operación de carga de trabajo. El rendimiento del clúster es una responsabilidad compartida entre el administrador del clúster de Service Fabric y su proveedor de recursos, mientras que el rendimiento de la carga de trabajo es el dominio de un desarrollador. Azure Service Fabric tiene consideraciones y recomendaciones para ambos roles.

En la lista de comprobación de diseño y la lista de recomendaciones siguientes, se realizan llamadas para indicar si cada opción es aplicable a la arquitectura del clúster, a la arquitectura de carga de trabajo o a ambas.

Para obtener más información sobre cómo Azure Service Fabric puede reducir los problemas de rendimiento de la carga de trabajo con los contadores de rendimiento de Service Fabric, consulte Procedimientos recomendados de supervisión y diagnóstico para Azure Service Fabric.

Diseño de una lista de comprobación

Recomendaciones

Tenga en cuenta las siguientes recomendaciones para optimizar la configuración de Azure Service Fabric para mejorar la eficiencia del rendimiento:

Recomendación de Azure Service Fabric Prestación
Arquitectura de clúster: Excluya los procesos de Service Fabric de Windows Defender para mejorar el rendimiento. De forma predeterminada, el antivirus Windows Defender está instalado en Windows Server 2016 y 2019. Para reducir cualquier impacto en el rendimiento y la sobrecarga de consumo de recursos que incurre Windows Defender, y si las directivas de seguridad le permiten excluir procesos y rutas de acceso para software de código abierto, puede excluir.
Arquitectura de clúster: Considere la posibilidad de usar el escalado automático para el clúster. El escalado automático ofrece una gran flexibilidad y permite agregar o reducir nodos a petición en un tipo de nodo secundario. Este comportamiento automatizado y flexible reduce la sobrecarga de administración y el posible impacto empresarial mediante la supervisión y la optimización de la cantidad de nodos que prestan servicio a la carga de trabajo.
Arquitectura de clúster: Considere la posibilidad de usar redes aceleradas. Las redes aceleradas permiten una ruta de acceso de alto rendimiento que omite el host de la ruta de acceso de datos, lo que reduce la latencia, la vibración y el uso de cpu para las cargas de trabajo de red más exigentes.
Arquitectura de clúster: Considere la posibilidad de usar el cifrado en el host en lugar de Azure Disk Encryption (ADE). Este método de cifrado mejora ADE al admitir todos los tipos de sistema operativo e imágenes, incluidas las imágenes personalizadas, para las máquinas virtuales mediante el cifrado de datos en el servicio Azure Storage.
Arquitectura de carga de trabajo: Revise los modelos de programación de Service Fabric para decidir qué modelo se adaptaría mejor a sus servicios. Service Fabric admite varios modelos de programación. Cada uno viene con sus propias ventajas y desventajas. Conocer los modelos de programación disponibles puede ayudarle a tomar las mejores opciones para diseñar los servicios.
Arquitectura de carga de trabajo: Aproveche los microservicios de acoplamiento flexible para las cargas de trabajo cuando corresponda. El uso de microservicios le permite sacar el máximo partido de las características de Service Fabric.
Arquitectura de carga de trabajo: Aproveche la arquitectura controlada por eventos para las cargas de trabajo cuando corresponda. El uso de la arquitectura controlada por eventos le permite sacar el máximo partido de las características de Service Fabric.
Arquitectura de carga de trabajo: Aproveche el procesamiento en segundo plano para las cargas de trabajo cuando corresponda. El uso del procesamiento en segundo plano le permite sacar el máximo partido de las características de Service Fabric.
Arquitecturas de clúster y carga de trabajo: Revise las distintas formas en que puede escalar la solución en Service Fabric. Puede usar el escalado para habilitar el uso máximo de recursos para la solución.

Para obtener más sugerencias, consulte Principios del pilar de eficiencia del rendimiento.

Recomendaciones de Azure Advisor

Azure Advisor es un consultor en la nube personalizado que ayuda a seguir los procedimientos recomendados para optimizar las implementaciones de Azure. Estas son algunas recomendaciones que pueden ayudarle a mejorar la confiabilidad, la seguridad, la rentabilidad, el rendimiento y la excelencia operativa al usar Azure Service Fabric.

Seguridad

  • Los clústeres de Service Fabric deben tener la propiedad ClusterProtectionLevel establecida EncryptAndSignen . Este es el valor predeterminado para los clústeres administrados y no se puede cambiar. Clúster estándar: Asegúrese de establecer ClusterProtectionLevel EncryptAndSignen .
  • Los clústeres de Service Fabric solo deben usar Microsoft Entra identificador para la autenticación de cliente.

Recursos adicionales

Consulte el artículo Opciones de configuración de clústeres administrados de Azure Service Fabric para obtener una lista de todas las opciones que tiene al crear y mantener el clúster.

Revise los aspectos básicos de la arquitectura de aplicaciones de Azure para obtener instrucciones sobre cómo desarrollar las cargas de trabajo. Aunque Service Fabric se puede usar únicamente como plataforma de hospedaje de contenedores, el uso de cargas de trabajo bien diseñadas aprovecha la funcionalidad completa de Service Fabric.

Pasos siguientes

Use estas recomendaciones a medida que cree el clúster administrado de Service Fabric mediante una plantilla de RESOURCE o a través del Azure Portal: