Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Una aplicación diseñada para cargas de trabajo hospedadas en la nube aborda los requisitos empresariales de la solución e incorpora componentes y funcionalidades nativos de la nube. Una aplicación en la nube bien diseñada aborda las consideraciones de confiabilidad, seguridad, costo, operaciones y rendimiento. Estas consideraciones se alinean con los requisitos empresariales, las características específicas de la plataforma de hospedaje en la nube y la funcionalidad que proporciona la plataforma.
No es necesario usar un estilo de aplicación específico, como microservicios, para diseñar una aplicación para cargas de trabajo en la nube. 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 proporcionan de forma nativa una selección diversa de opciones de aplicación y plataforma de datos, funcionalidades de escalado, controles de seguridad y opciones de mensajería. 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 cuando aumenta la demanda.
Las aplicaciones que usan las plataformas de hospedaje de aplicaciones de la nube, las funcionalidades de mensajería y los servicios descomponidos están sujetas a problemas comunes para los sistemas distribuidos. En estos sistemas, el estado de la aplicación se distribuye y 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 cruciales para obtener información sobre el sistema.
En las columnas siguientes se enumeran algunas características comunes del diseño local y el diseño en la nube.
Diseño típico en las instalaciones
- Funcionalidad y datos monolíticos y colocados
- Diseñado para una escala predecible o está sobreaprovisionado
- Base de datos relacional
- Procesamiento sincronizado
- Diseñado para evitar fallos y mide el tiempo medio entre fallos (MTBF)
- Los recursos se aprovisionan mediante funciones de TI
- Servidores de Snowflake y servidores de mascotas
Diseño típico de nube
- Funcionalidad y datos distribuidos y descomponidos
- Diseñado para la escala elástica
- Persistencia políglota mediante una combinación de tecnologías de almacenamiento
- Procesamiento asincrónico
- Diseñado para resistir fallos y mide el MTBF
- Preparado para fallos y mide el tiempo medio de reparación
- Los recursos se aprovisionan según sea necesario mediante la infraestructura como código
- Infraestructura inmutable y reemplazable
Diseño de aplicaciones para Azure
Los arquitectos de la nube que tienen experiencia en el hospedaje en la nube y pueden tomar decisiones estratégicas de compensación deben diseñar aplicaciones en la nube. Azure proporciona recursos para ayudar a los arquitectos a desarrollar aplicaciones y guiar a los equipos de desarrollo para implementarlas. Para lograr un buen diseño de aplicaciones y cargas de trabajo, los arquitectos deben:
- Alinee con los estándares de adopción de la nube de la organización.
- Asegúrese de que el diseño sigue a Azure Well-Architected Framework.
- Comprenda los estilos de arquitectura, las cargas de trabajo y los procedimientos recomendadostípicos.
- Use patrones de diseño para resolver problemas comunes e introducir compromisos estratégicos.
- Tome decisiones de tecnología informadas.
- Evaluar arquitecturas de referencia.
- Revise las guías específicas del servicio.
Puede usar Azure para hospedar y rehospedar aplicaciones que no están diseñadas para la nube. Puede ajustar las aplicaciones de carga de trabajo para usar la funcionalidad en la nube, pero migrar una aplicación diseñada para recursos fijos y una escala fija no se considera una implementación nativa 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 necesite cumplir los estándares y la 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 en toda Azure, preparación, innovación, administración, gobernanza e iniciativas de seguridad. Parte de ese enfoque es estandarizar un enfoque coherente entre cargas de trabajo, como el uso de zonas de aterrizaje de Azure. Las zonas de aterrizaje de Azure proporcionan gobernanza para toda la organización y proporcionan a los equipos de cargas de trabajo y arquitectos el acceso democratizado a los recursos para cumplir los objetivos empresariales localizados. Como arquitecto que diseña aplicaciones, es fundamental que comprenda el macroentorno y las expectativas de las operaciones de cargas de trabajo, como las zonas de aterrizaje de aplicaciones.
La estrategia de adopción de Azure de la organización no debe afectar al estilo arquitectónico que elija, pero podría restringir las opciones tecnológicas o los límites de seguridad.
Siga el marco Well-Architected
Puede evaluar el diseño y la implementación de cualquier carga de trabajo a través de varias lentes. Use Well-Architected Framework para evaluar y alinear sus decisiones con los principios de diseño en estos cinco pilares arquitectónicos clave:
Siguiendo estos principios y evaluando los inconvenientes entre estos pilares arquitectónicos, puede generar un diseño que cumpla los requisitos empresariales y sea lo suficientemente duradero, fácil de mantener, proteger y optimizar los costos para ejecutarse en Azure. Estas decisiones deben informar a su elección de estilo arquitectónico y ayudar a restringir las opciones de tecnología o los límites de seguridad a medida que se relacionan con las necesidades específicas de la carga de trabajo.
Es posible que su equipo u organización tenga otros principios de diseño, como la sostenibilidad y la ética, que puede usar para evaluar la carga de trabajo.
Descripción de los estilos de arquitectura típicos
Después de comprender el entorno organizativo en el que existirá la aplicación y la base de una buena arquitectura basada en el marco Well-Architected, debe decidir qué tipo de arquitectura se va a construir. Puede ser una arquitectura de microservicios, una aplicación con n niveles más tradicional o una solución de macrodatos. Estos estilos arquitectónicos son distintos y están diseñados para resultados diferentes. Al evaluar los estilos arquitectónicos, también debe seleccionar modelos de almacenamiento de datos para abordar la gestión del estado.
Evalúe los distintos estilos de arquitectura y los modelos de almacén de datos para comprender las ventajas y los desafíos que presenta cada opción.
Cargas de trabajo en Well-Architected Framework
En el artículoWell-Architected Cargas de trabajo de Framework se describen diferentes tipos o clasificaciones de cargas de trabajo. Puede encontrar artículos sobre cargas de trabajo críticas, cargas de trabajo de inteligencia artificial y aprendizaje automático o cargas de trabajo de software como servicio. Estos artículos específicos de la carga de trabajo aplican los cinco pilares básicos del Marco de buena arquitectura 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 respectivas 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 la plataforma de aplicaciones, la plataforma de datos y las redes. 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
Para obtener más información sobre varias consideraciones de diseño, incluido el diseño de API, el escalado automático, la creación de particiones de datos y el almacenamiento en caché, consulte Procedimientos recomendados en aplicaciones en la nube. Revise estas consideraciones y aplique los procedimientos recomendados adecuados para la aplicación.
Usar patrones de diseño para resolver problemas comunes e introducir compensaciones estratégicas.
La aplicación tiene requisitos empresariales, objetivos y medidas específicos del éxito. Debe descomponer esos requisitos funcionales y no funcionales en actividades discretas que funcionan conjuntamente para lograr una solución que cumpla sus expectativas y las de sus clientes. Estas actividades suelen seguir patrones que el sector de software ha establecido. Los patrones de diseño de software son enfoques denominados y repetibles que se pueden aplicar al procesamiento o al almacenamiento de datos. Estos patrones han demostrado ser efectivos para resolver problemas específicos con los inconvenientes ya conocidos.
El catálogo de patrones de diseño en la nube de Azure aborda desafíos específicos en los sistemas distribuidos.
Tomar decisiones de tecnología informadas
Después de determinar el tipo de arquitectura que desea compilar y los patrones de diseño que espera usar, puede elegir los componentes de tecnología principales para la arquitectura. Las siguientes opciones tecnológicas son esenciales:
Compute hace referencia al modelo de hospedaje de los recursos informáticos o a la plataforma de aplicaciones en el que se ejecutan las aplicaciones. Para más información, vea Elija un servicio de cómputo. Consulte instrucciones especializadas, como Elegir un servicio de contenedor de Azure y opciones híbridas de Azure, para plataformas de aplicaciones específicas.
Los almacenes de datos incluyen bases de datos y almacenamiento para archivos, cachés, registros y cualquier otra cosa que una aplicación pueda conservar en el almacenamiento. Para más información, consulte Clasificación del almacén de datos y Revisión de las opciones de almacenamiento.
Las tecnologías de mensajería permiten la mensajería asincrónica entre los componentes del sistema. Para obtener más información, consulte Opciones de mensajería asincrónica.
Las tecnologías de inteligencia artificial resuelven problemas que son computacionalmente complejos para implementarlos en el código de aplicación tradicional. Para más información, consulte Elección de una tecnología de servicios de Azure AI.
Probablemente tome otras decisiones tecnológicas a lo largo del proceso, pero el proceso, los datos, la mensajería y la inteligencia artificial son fundamentales para la mayoría de las aplicaciones en la nube y determinar muchos aspectos del diseño.
Evaluación de arquitecturas de referencia
El Centro de arquitectura de Azure es el hogar de artículos sobre ideas de solución, cargas de trabajo de ejemplo y arquitecturas de referencia. Estos artículos suelen enumerar los componentes y consideraciones comunes que se alinean con Well-Architected Framework. Algunos de estos artículos incluyen una solución que se puede implementar hospedada en GitHub. Aunque es poco probable que cualquiera de estos escenarios sea exactamente lo que está creando, son un buen punto de partida. Puede adaptar las instrucciones a sus necesidades específicas.
Examine el catálogo de arquitecturas en el Centro de arquitectura de Azure.
Revisión de guías específicas del servicio
Después de seleccionar la tecnología principal y consultar las arquitecturas de referencia, revise 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 de servicio deWell-Architected Framework: En Well-Architected Framework se proporcionan artículos sobre muchos servicios de Azure. Los artículos aplican los cinco pilares de la arquitectura a cada servicio.
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.
¿Viene de otra nube?
Si está familiarizado con cómo diseñar aplicaciones en otro proveedor de nube, se aplican muchos de los mismos aspectos básicos. Por ejemplo, los estilos de arquitectura y los patrones de diseño de la nube son conceptualmente independientes de la nube. Para más información, vea los siguientes artículos de la guía de asignación y arquitectura de servicios: