Aspectos básicos de la arquitectura de aplicaciones de Azure AD
Una aplicación diseñada para cargas de trabajo hospedadas en la nube aborda los requisitos empresariales de la solución e incorpora componentes nativos de nube y funcionalidad. Una aplicación en la nube bien diseñada aborda las consideraciones de confiabilidad, seguridad, costo, operaciones y rendimiento. Esas consideraciones están alineadas con los requisitos empresariales y con características específicas y funcionalidad proporcionada de la plataforma de hospedaje en la nube.
El diseño de aplicaciones para cargas de trabajo en la nube no requiere ningún estilo de aplicación específico, como microservicios. Sin embargo, el hospedaje en la nube hace que muchos patrones de diseño de aplicaciones sean más accesibles que las soluciones de hospedaje que no ofrecen de forma nativa una selección diversa de las opciones de la plataforma de datos &, las funcionalidades de escalado, los controles de seguridad y las opciones de mensajería. Para ello, las cargas de trabajo en la nube se benefician de las aplicaciones que se descomponen en servicios descentralizados más pequeños por diseño. Estos servicios se comunican a través de API o mediante el uso de eventos o de mensajería asincrónica. Las aplicaciones se escalan horizontalmente, agregando nuevas instancias, tal y como exigen las necesidades.
Las aplicaciones que aprovechan las plataformas de hospedaje de aplicaciones de la nube, las funcionalidades de mensajería y los servicios descomponidos están sujetas a preocupaciones comunes al sistema distribuido. El estado de las aplicaciones se distribuye. Las operaciones se realizan en paralelo y de forma asincrónica. Las aplicaciones deben ser resistentes cuando se produzcan errores. Las aplicaciones son continuamente el destino de actores malintencionados. Las implementaciones deben estar automatizadas y ser predecibles. La supervisión y la telemetría son fundamentales para obtener una visión general del sistema.
Diseño típico en las instalaciones
- Funcionalidad y datos monolíticos y colocados
- Diseñado para escalabilidad predecible o sobreaprovisionamiento
- Base de datos relacional
- Procesamiento sincronizado
- Diseño para evitar errores (MTBF)
- Recursos aprovisionados mediante funciones de TI
- Snowflake y servidores de mascotas
Diseño típico de nube
- Funcionalidad y datos distribuidos y descomponidos
- Diseñado para un escalado elástico
- Persistencia de Polyglot (combinación de tecnologías de almacenamiento)
- Procesamiento asincrónico
- Diseño para resistir mal funcionamiento (MTBF) y diseño para errores (MTTR)
- Recursos aprovisionados a través de la infraestructura como código según sea necesario
- Infraestructura inmutable y reemplazable
Diseño de aplicaciones para Azure
Los arquitectos de la nube deben diseñar aplicaciones para aprovechar específicamente el hospedaje en la nube y tomar decisiones estratégicas de compensación. Azure ofrece recursos específicamente para ayudar a los arquitectos a lograr un buen diseño y guiar a los equipos de desarrollo en su implementación. Para lograr el diseño de cargas de trabajo y aplicaciones, los arquitectos deben:
- alinearse con los estándares de adopción de la nube de la organización
- Diseño después del marco de buena arquitectura de Azure
- Comprender los estilos de arquitectura típicos ,, las cargas de trabajo ,y los procedimientos recomendados ,
- Uso de patrones de diseño para resolver problemas comunes e introducir compromisos estratégicos
- Tomar decisiones tecnológicas bien fundamentadas
- Evaluar arquitecturas de referencia
- Revisión de guías específicas del servicio
Azure se puede usar para hospedar y rehospedar aplicaciones que no se diseñaron específicamente para la nube. Aunque las aplicaciones de carga de trabajo se pueden ajustar para aprovechar la funcionalidad en la nube, el rehospedaje de una aplicación diseñada para recursos fijos y la escala no se consideran implementaciones nativas de la nube.
Alineación con los estándares de adopción de la nube de la organización
La aplicación forma parte de una carga de trabajo que probablemente esté sujeta a estándares y gobernanza de la organización. Las organizaciones de cualquier tamaño y madurez de la nube pueden usar Cloud Adoption Framework para Azure para formalizar su estrategia de adopción, preparación, innovación, administración, gobernanza y seguridad en toda Azure. Parte de ese enfoque consiste en estandarizar un método coherente a través de las cargas de trabajo, como el uso de zonas de aterrizaje de Azure. Las zonas de aterrizaje de Azure ofrecen una combinación de gobernanza de toda la organización, al tiempo que permiten que los equipos de cargas de trabajo y arquitectos democratizan el acceso a los recursos para cumplir los objetivos empresariales localizados. Como arquitecto que diseña aplicaciones, es fundamental comprender el entorno de macros y las expectativas en las que funcionará la carga de trabajo, como las zonas de aterrizaje de la aplicación.
La estrategia de adopción de su organización de Azure no debe afectar a la elección de estilo arquitectónico, pero podría poner restricciones en las opciones de tecnología o los límites de seguridad.
Diseño siguiendo el Azure Well-Architected Framework
Todas las cargas de trabajo se pueden evaluar en su diseño e implementación a través de varias lentes. Azure proporciona Azure Well-Architected Framework para ayudar a un arquitecto de cargas de trabajo a evaluar y alinear sus decisiones con los principios de diseño en cinco pilares clave de la arquitectura.
Por lo general, seguir estos principios y evaluar los inconvenientes entre estos pilares arquitectónicos produce un diseño que cumple los requisitos empresariales y es lo suficientemente duradero, fácil de mantener, proteger y optimizar los costos para ejecutarse en Azure. Estas decisiones deben afectar a la elección del estilo arquitectónico y colocar restricciones en las opciones de tecnología o los límites de seguridad en relación con las necesidades específicas de la carga de trabajo.
Es posible que el equipo u organización también tenga otros principios de diseño en los que se pueda evaluar la carga de trabajo, como sostenibilidad y ética.
Descripción de los estilos de arquitectura típicos
Una vez que comprenda el entorno organizativo en el que va a existir la aplicación y tenga la base general del buen diseño de arquitectura del marco de buena arquitectura de Azure, normalmente el primer punto que debe decidir es qué tipo de arquitectura está creando. Puede ser una arquitectura de microservicios, una aplicación con n niveles más tradicional o una solución de macrodatos. Se trata de estilos arquitectónicos distintos adecuados para diferentes resultados. Al evaluar los estilos de arquitectura, también está seleccionando modelos de almacenamiento de datos para gestionar el estado. Existen ventajas y desafíos para estas decisiones.
Evalúe los distintos estilos de arquitectura de y los modelos de almacén de datos de .
Cargas de trabajo en Azure Well-Architected Framework
El marco de buena arquitectura tiene una sección dedicada a diferentes clasificaciones o tipos de cargas de trabajo, llamadas cargas de trabajo del marco de buena arquitectura de Azure. Puede encontrar artículos que abarcan cargas de trabajo de misión crítica, inteligencia artificial y aprendizaje automático o de software como servicio (SaaS) en esta sección. Estos artículos específicos sobre carga de trabajo toman los cinco pilares básicos del Framework Well-Architected y los aplican al dominio específico. Si la aplicación forma parte de una carga de trabajo que se alinea con uno de estos patrones documentados, revise las instrucciones correspondientes para ayudarle a abordar el diseño siguiendo un conjunto de principios y recomendaciones de diseño específicos de la carga de trabajo en áreas de diseño comunes, como plataforma de aplicaciones, plataforma de datos, redes, etc. Algunos tipos de carga de trabajo pueden beneficiarse de seleccionar un estilo arquitectónico específico o un modelo de almacén de datos.
Procedimientos recomendados
Revise los Procedimientos recomendados en aplicaciones en la nube artículos para obtener información sobre varias consideraciones de diseño, como el diseño de API, el escalado automático, la creación de particiones de datos, el almacenamiento en caché, etc. Examínelos y aplique aquellos procedimientos recomendados que sean adecuados para su aplicación.
Usar patrones de diseño para resolver problemas comunes e introducir compensaciones estratégicas.
La aplicación tiene requisitos empresariales únicos, objetivos y medidas de éxito. Un arquitecto descompone esos requisitos funcionales y no funcionales en actividades discretas que funcionan conjuntamente para lograr una solución con la que usted y sus usuarios están satisfechos. Estas actividades suelen ser lo suficientemente comunes como para que hayan establecido patrones usados en todo el sector de software. Estos patrones de diseño de software se denominan y se aplican enfoques repetibles al procesamiento o al almacenamiento de datos que se han demostrado resolver problemas específicos con desventajas conocidas.
El catálogo de Azure de patrones de diseño en la nube aborda desafíos específicos en los sistemas distribuidos.
Tomar decisiones tecnológicas bien fundamentadas
Después de determinar el tipo de arquitectura que va a crear y los patrones de diseño que espera usar, puede empezar a elegir las partes de tecnología principales para la arquitectura. Las siguientes opciones tecnológicas son críticas:
Compute hace referencia al modelo de hospedaje para los recursos informáticos (plataforma de aplicaciones) en los que se ejecutan las aplicaciones. Para más información, vea Elección de un servicio de proceso.
- Azure también ofrece instrucciones especializadas para algunas plataformas de aplicaciones específicas, como Elegir un servicio de contenedor de Azure y opciones híbridas de Azure.
Los almacenes de datos incluyen bases de datos, pero también almacenamiento para archivos, cachés, registros y cualquier otra cosa que una aplicación pueda almacenar. Para más información, consulte Elegir un almacén de datos en Azure y Revise las opciones de almacenamiento.
Las tecnologías de mensajería permiten el envío de mensajes asincrónicos entre los componentes del sistema. Para más información, consulte Elección de un servicio de mensajería.
tecnologías de inteligencia artificial (IA) resuelven problemas que serían computacionalmente complejos para implementarlos en el código de aplicación tradicional. Para ayudar a guiar esas opciones, consulte Elección de una tecnología de servicios de Azure AI.
Probablemente tome otras opciones tecnológicas a lo largo del camino, pero estos cuatro elementos (proceso, datos, mensajería e inteligencia artificial) son fundamentales para la mayoría de las aplicaciones en la nube y determina muchos aspectos del diseño.
Evaluación de arquitecturas de referencia
El Centro de arquitectura de Azure es el hogar de ideas de solución, cargas de trabajo de ejemplo y arquitecturas de referencia. Estos artículos suelen incluir la lista de componentes comunes y consideraciones alineados con Azure Well-Architected Framework. Algunos de estos artículos incluyen una solución implementable hospedada en GitHub. Aunque es poco probable que cualquiera de estos escenarios sea exactamente lo que está creando, podría ser un buen punto de partida para que pueda adaptar las instrucciones a sus necesidades específicas.
Examine el catálogo de arquitecturas aquí en el Centro de arquitectura de Azure.
Revisión de guías específicas del servicio
Una vez que se selecciona la tecnología principal y se consultan las arquitecturas de referencia, es importante acceder a la documentación y las instrucciones específicas de los servicios de la arquitectura. Use los siguientes recursos para obtener instrucciones específicas del servicio.
Guías del servicio Azure Well-Architected Framework: El Framework Well-Architected contiene artículos que cubren muchos de los servicios ofrecidos en Azure, donde los cinco pilares de la arquitectura se aplican específicamente a cada servicio.
Buscar y leer la guía de servicio para todos los recursos que se consideran parte del diseño de la aplicación.
guías de confiabilidad de Azure: el centro de confiabilidad de Azure tiene artículos detallados que abordan específicamente las características de confiabilidad de muchos servicios de Azure. En estos artículos se documentan algunos de los temas de confiabilidad más críticos, como la compatibilidad con zonas de disponibilidad y el comportamiento esperado durante distintos tipos de interrupciones.
Buscar y leer la guía de confiabilidad para todos los recursos que se consideran parte del diseño de la aplicación.
¿Viene de otra nube?
Si está familiarizado con el diseño de aplicaciones en otro proveedor de nube, muchos de los mismos aspectos básicos se traducen. Por ejemplo, los estilos de arquitectura y los patrones de diseño de la nube son conceptualmente independientes de la nube. Examine los artículos de la guía de arquitectura y asignación de servicios pertinentes.