Revisión del marco de trabajo bien diseñado de Azure: 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 por motivos de simplicidad. 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 costes
- Excelencia operativa
- Eficiencia del rendimiento
Requisitos previos
Comprender los pilares del marco bien diseñado puede ayudar a producir una arquitectura en la nube de alta calidad, estable y eficaz. Consulte la página de información general de Azure Well-Architected Framework para revisar los cinco pilares de excelencia arquitectónica.
Revisar los conceptos básicos de Azure Service Fabric y la arquitectura de microservicios puede ayudarle a comprender el contexto de los procedimientos recomendados que se proporcionan en este artículo.
Confiabilidad
En las secciones siguientes se tratan consideraciones de diseño y recomendaciones de configuración, específicas de Azure Service Fabric y 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, la arquitectura de carga de trabajo o 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 tome 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 mantiene la confiabilidad del clúster. Clúster estándar: un clúster administrado de SKU estándar proporciona el equivalente del 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 las cargas 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, la arquitectura de carga de trabajo o 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 las cargas de trabajo de Azure Service Fabric, consulte Seguridad de aplicaciones y servicios de Service Fabric.
Diseño de una lista de comprobación
A medida que tome 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 los puertos correctos están abiertos para la implementación y las cargas de trabajo de la aplicación.
- 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 de la implementación.
- Arquitectura de clúster: habilite la integración de Microsoft Entra 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 de clúster entre los usuarios para acceder al Explorador.
- Arquitectura de clúster: para la autenticación de cliente, use certificados de cliente de administrador y de solo lectura o autenticación de 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 desarrollo, almacenamiento provisional y 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 (exponiendo un sitio web directamente) y una subred back-end (accesible solo para front-end). |
Arquitectura de clúster: implemente certificados de 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 control de acceso (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 se desenfóen 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 adicional de seguridad. |
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 en el nivel de clúster y carga de trabajo. |
Arquitectura de carga de trabajo: autentique las aplicaciones de Service Fabric en recursos de Azure mediante la identidad administrada. | El uso de 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 al configurar Azure Service Fabric:
- Los clústeres de Service Fabric deben tener la propiedad ClusterProtectionLevel establecida
EncryptAndSign
en . Este es el valor predeterminado para los clústeres administrados y no se puede cambiar. Clúster estándar: asegúrese de establecer ClusterProtectionLevel enEncryptAndSign
. - Los clústeres de Service Fabric solo deben usar el identificador de Entra de Microsoft para la autenticación de cliente.
Todas las definiciones de directivas integradas relacionadas con Azure Service Fabric se enumeran 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 del 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, la arquitectura de carga de trabajo o 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 tome 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 discos temporales 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 tiene que ofrecer un disco temporal, considere la posibilidad de usar la compatibilidad con discos temporales para las cargas de trabajo sin estado. | Tome el máximo partido de los recursos 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, la arquitectura de carga de trabajo o ambas.
Diseño de una lista de comprobación
A medida que tome decisiones de diseño para Azure Service Fabric, revise los principios de diseño para la excelencia operativa.
- Arquitectura de clúster: prepare una solución de supervisión de clústeres.
- Arquitectura de clúster: revise las directivas de mantenimiento del clúster en el modelo de mantenimiento de Service Fabric.
- Arquitectura de carga de trabajo: prepare una solución de supervisión de aplicaciones.
- Arquitectura de carga de trabajo: revise las directivas de mantenimiento de la aplicación y del tipo de servicio en el modelo de mantenimiento de Service Fabric.
- Arquitecturas de clúster y carga de trabajo: prepare una solución de supervisión de infraestructura.
- Arquitecturas de clúster y carga de trabajo: diseñe el clúster con canalizaciones de compilación y versión para la integración e implementación continuas.
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: para 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 lo que está en riesgo en la infraestructura y a 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 eficacia 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, la arquitectura de carga de trabajo o 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
- Arquitectura de clúster: excluya los procesos de Service Fabric de Windows Defender para mejorar el rendimiento.
- Arquitectura de clúster: seleccione la SKU de máquina virtual adecuada.
- Arquitectura de carga de trabajo: decida qué modelo de programación usará para los servicios.
- Arquitecturas del clúster y la carga de trabajo: use el tamaño y el nivel de disco administrado adecuados.
Recomendaciones
Tenga en cuenta las siguientes recomendaciones para optimizar la configuración de Azure Service Fabric para mejorar la eficacia 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 la 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 acoplados de forma flexible para las cargas de trabajo cuando corresponda. | El uso de microservicios le permite sacar el máximo partido a 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 permite sacar el máximo partido a las características de Service Fabric. |
Arquitectura de la carga de trabajo: aproveche el procesamiento en segundo plano de las cargas de trabajo cuando corresponda. | El uso del procesamiento en segundo plano le permite sacar el máximo partido a 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
EncryptAndSign
en . Este es el valor predeterminado para los clústeres administrados y no se puede cambiar. Clúster estándar: asegúrese de establecer ClusterProtectionLevel enEncryptAndSign
. - Los clústeres de Service Fabric solo deben usar el identificador de Entra de Microsoft para la autenticación de cliente.
Recursos adicionales
Consulte el artículo Opciones de configuración de clúster administrado 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 de Azure Portal: