Cargas de trabajo críticas

Esta sección se esfuerza por abordar los desafíos del diseño de cargas de trabajo críticas en Azure. La guía se basa en las lecciones aprendidas de revisar numerosas aplicaciones de cliente y soluciones de primera entidad. En esta sección se proporcionan instrucciones accionables y autoritativas que aplican procedimientos recomendados bien diseñados como base técnica para crear y operar una solución altamente confiable en Azure a escala.

¿Qué es una carga de trabajo crítica?

El término carga de trabajo hace referencia a una colección de recursos de aplicación que admiten un objetivo empresarial común o la ejecución de un proceso de negocio común, con varios servicios, como API y almacenes de datos, trabajando juntos para ofrecer funcionalidades específicas de un extremo a otro.

El término crítico hace referencia a una escala de importancia crítica que cubre un costo financiero significativo (crítico para la empresa) o un costo humano (crítico para la seguridad) asociado a una falta de disponibilidad o un rendimiento inferior.

Por lo tanto, una carga de trabajo crítica describe una colección de recursos de aplicación, que deben ser altamente confiables en la plataforma. La carga de trabajo siempre debe estar disponible, resistente a errores y operativa.

Vídeo: Cargas de trabajo críticas en Azure

¿Cuáles son los desafíos comunes?

Microsoft Azure facilita la implementación y administración de soluciones en la nube. Sin embargo, la creación de cargas de trabajo críticas que son altamente confiables en la plataforma sigue siendo un desafío por estas razones principales:

  • El diseño de una aplicación confiable a escala es complejo. Requiere un amplio conocimiento de la plataforma para seleccionar las tecnologías adecuadas y configurarlas de forma óptima para ofrecer funcionalidad de un extremo a otro.

  • El error es inevitable en cualquier sistema distribuido complejo y, por tanto, la solución debe diseñarse para controlar los errores con impacto correlacionado o en cascada. Se trata de un cambio de mentalidad para muchos desarrolladores y arquitectos que entran en la nube desde un entorno local; la ingeniería de confiabilidad ya no es un tema de infraestructura, pero debe ser una preocupación de primera clase dentro del proceso de desarrollo de aplicaciones.

  • La operacionalización de cargas de trabajo críticas requiere un alto grado de rigor y madurez de ingeniería a lo largo del ciclo de vida de ingeniería de un extremo a otro, así como la capacidad de aprender de los errores.

¿Solo es crítico para la confiabilidad?

Aunque el enfoque principal de las cargas de trabajo críticas es confiabilidad, otros pilares del marco bien diseñado son igualmente importantes al compilar y operar una carga de trabajo crítica en Azure.

  • Seguridad: la forma en que una carga de trabajo mitiga las amenazas de seguridad, como los ataques de denegación de servicio distribuido (DDoS), tendrá un impacto significativo en la confiabilidad general.

  • Excelencia operativa: cómo una carga de trabajo puede responder eficazmente a los problemas operativos tendrá un impacto directo en la disponibilidad de las aplicaciones.

  • Eficiencia del rendimiento: la disponibilidad es más que el tiempo de actividad simple, pero en lugar de un nivel coherente de servicio de aplicaciones y rendimiento en relación con un estado correcto conocido.

Lograr una alta confiabilidad impone importantes inconvenientes de costos, lo que puede no ser justificable para cada escenario de carga de trabajo. Por lo tanto, se recomienda que las decisiones de diseño se basen en los requisitos empresariales.

¿Cuáles son las áreas de diseño clave?

La guía crítica dentro de esta serie se compone de consideraciones arquitectónicas y recomendaciones orientadas a estas áreas de diseño clave.

Áreas de diseño críticas

Las áreas de diseño están relacionadas entre sí y las decisiones tomadas dentro de una área pueden afectar o influir en las decisiones en todo el diseño. Se recomienda que los lectores se familiaricen con estas áreas de diseño, revisando las consideraciones y recomendaciones proporcionadas para comprender mejor las consecuencias de las decisiones abarcadas. Por ejemplo, para definir una arquitectura de destino, es fundamental determinar la mejor manera de supervisar el estado de la aplicación en los componentes clave. En este caso, el lector debe revisar el área de diseño de modelado de estado mediante las recomendaciones descritas para ayudar a tomar decisiones.

Área de diseño Resumen
Diseño de aplicación El uso de una arquitectura de unidad de escalado en el contexto de la creación de una aplicación muy confiable. También explora los patrones de diseño de aplicaciones en la nube que permiten el escalado y el control de errores.
Plataforma de aplicaciones Factores de decisión y recomendaciones relacionados con la selección, el diseño y la configuración de una plataforma de hospedaje de aplicaciones adecuada, dependencias de aplicaciones, marcos y bibliotecas.
Plataforma de datos Las opciones en las tecnologías del almacén de datos, informadas mediante la evaluación del volumen, la velocidad, la variedad, la veracidad.
Redes y conectividad Conceptos de topología de red en un nivel de aplicación, teniendo en cuenta la conectividad necesaria y la administración de tráfico redundante. Recomendaciones críticas destinadas a informar al diseño de una topología de red global segura y escalable.
Modelado de estado y observabilidad Procesos para definir un modelo de mantenimiento sólido, asignando estados de mantenimiento cuantificados de la aplicación a través de construcciones operativas y observabilidad para lograr la madurez operativa.
Implementación y pruebas Erradique el tiempo de inactividad y mantenga el estado de las aplicaciones para las operaciones de implementación, proporcionando consideraciones y recomendaciones clave destinadas a informar al diseño de canalizaciones de CI/CD óptimas para una aplicación crítica.
Seguridad Proteja la aplicación contra amenazas destinadas a poner en peligro directa o indirectamente su confiabilidad.
Procedimientos operativos La adopción de DevOps y los métodos de implementación relacionados se usa para impulsar procedimientos operativos eficaces y coherentes.

Ejemplos ilustrativos

Las instrucciones proporcionadas en esta serie se basan en un enfoque orientado a la solución para ilustrar las principales consideraciones y recomendaciones de diseño. Hay varias implementaciones de referencia disponibles que se pueden usar como base para el desarrollo de soluciones adicionales.

Paso siguiente

Empiece por revisar la metodología de diseño para escenarios de aplicaciones críticas.