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 solución nativa de la nube crea un nuevo valor empresarial mediante la creación de nuevas cargas de trabajo (aplicaciones) o la adición de nuevas características a las cargas de trabajo existentes. Tanto si está desarrollando una aplicación nueva como si va a agregar nuevas características a un sistema existente, el desarrollo nativo de la nube es un recorrido por el planeamiento, la creación, la implementación y la optimización de las cargas de trabajo. Este marco proporciona instrucciones integrales para asegurarse de que la aplicación nativa de la nube está alineada con los objetivos empresariales, bien diseñados y entregados con un riesgo mínimo.
Requisitos previos:zona de aterrizaje de Azure
Definición de objetivos empresariales para soluciones nativas de la nube
Comience con objetivos empresariales claros. Defina los resultados específicos que debe lograr la solución nativa de la nube, como habilitar un nuevo producto digital, entrar en un nuevo mercado, mejorar la experiencia del cliente o reducir los costos operativos. Use indicadores medibles como el crecimiento de los ingresos, la reducción del tiempo de comercialización o el volumen de vales de soporte técnico para cuantificar el éxito. Para las nuevas características, defina objetivos como mejorar la experiencia del cliente, reducir los costos operativos o aumentar la escalabilidad del sistema.
Identificar restricciones y criterios de éxito. Documente cualquier restricción empresarial, como presupuesto, cumplimiento o escalas de tiempo de entrega. Defina qué significa el éxito para cada objetivo. Por ejemplo, "inicie un nuevo portal de clientes para el T4" o "reduzca la latencia de finalización de compra en un 40%". Estos criterios guían la priorización y ayudan a evaluar los inconvenientes durante la planificación.
Validar la alineación de las partes interesadas. Confirme que todas las partes interesadas (empresariales y técnicas) están de acuerdo con los objetivos, las restricciones y el aspecto del éxito. Esta alineación puede implicar talleres o aprobaciones formales. La alineación temprana evita malentendidos más adelante y rehacer trabajo costoso, lo que garantiza que todos compartan las mismas expectativas desde el principio.
Definición de requisitos para soluciones nativas de la nube
Documente los requisitos funcionales. Documente las funcionalidades y características que el sistema debe proporcionar para satisfacer las necesidades del usuario. Cada requisito debe relacionarse con un objetivo de negocio, garantizando que el esfuerzo de desarrollo apoye directamente los resultados deseados. Use entrevistas de partes interesadas y documentos de estrategia empresarial para identificar resultados de alto valor. Priorice las características basadas en el valor empresarial y la viabilidad técnica. Haz un seguimiento de cada requisito hasta un objetivo empresarial medible para justificar su inclusión.
Establezca requisitos no funcionales. Los requisitos no funcionales definen los requisitos técnicos para cumplir los requisitos funcionales y la gobernanza. Establezca los atributos de calidad y los objetivos técnicos necesarios para admitir esas características. Defina métricas de confiabilidad de destino, como los objetivos de nivel de servicio (SLO) para el tiempo de actividad, los objetivos de punto de recuperación (RPO) y los objetivos de tiempo de recuperación (RTO). Establezca una línea base de seguridad. Cree un modelo de costo. Establezca los objetivos de rendimiento.
Controle el alcance de soluciones nativas de la nube. Defina claramente lo que está dentro del alcance y fuera del alcance para la versión inicial. Es tentador incluir más características "agradables de tener", pero el desenlazamiento del ámbito puede poner en peligro las escalas de tiempo y los presupuestos. Documente los límites de la solución e implemente un proceso de control de cambios para las nuevas solicitudes. Solo apruebe los cambios que admitan directamente los objetivos definidos y que se puedan entregar sin afectar a la programación o el presupuesto. Aplazar ideas de prioridad inferior a un trabajo pendiente futuro. La administración rigurosa del ámbito mantiene al equipo centrado en ofrecer primero la funcionalidad más valiosa dentro de las restricciones.
Planeamiento de las arquitecturas nativas de la nube
Una arquitectura bien planeada es fundamental para cumplir sus objetivos y requisitos. Cada decisión arquitectónica importante implica inconvenientes en la escalabilidad, la complejidad, el costo y la agilidad. Los siguientes pasos y puntos de decisión le ayudan a crear un diseño nativo de la nube alineado con los procedimientos recomendados:
Exploración de arquitecturas nativas de nube validadas
Revise los aspectos básicos de la arquitectura y los procedimientos recomendados. Antes de inventar una arquitectura desde cero, revise las arquitecturas de referencia validadas y los aspectos básicos del Centro de arquitectura de Azure. Entre los estilos arquitectónicos conocidos se incluyen explorar las arquitecturas de referencia validadas para cargas de trabajo comunes. Estas arquitecturas ayudan a acelerar las decisiones de diseño y reducir el riesgo.
Seleccione un estilo de arquitectura adecuado. Elija un estilo de arquitectura en función de las características de la carga de trabajo y las capacidades del equipo. Los estilos de arquitectura incluyen N niveles (monolíticos), microservicios, controlados por eventos (basados en mensajes), web-queue-worker. Por ejemplo, si necesita un desarrollo rápido para una aplicación relativamente sencilla, un monolito de N niveles bien estructurado podría ser suficiente. Para una aplicación a gran escala o en rápida evolución con dominios distintos, los microservicios o los enfoques controlados por eventos ofrecen flexibilidad (a costa de la complejidad). En la práctica, muchos sistemas terminan con un estilo híbrido. Por ejemplo, hay un núcleo de microservicios con algunos servicios compartidos o un subsistema controlado por eventos. La clave es comprender las ventajas y desventajas de cada estilo y seleccionar el enfoque que mejor se adapte a sus requisitos de escalabilidad, resistencia y agilidad.
Aplicar los procedimientos recomendados de diseño. Independientemente del estilo que elija, siga los aspectos básicos de la arquitectura en la nube y los procedimientos recomendados. El Centro de Arquitectura de Azure proporciona un catálogo de patrones de diseño para la nube (Reintento, Circuit Breaker, CQRS) que abordan los desafíos comunes de las cargas de trabajo distribuidas. La integración de estos patrones en el diseño puede mejorar la confiabilidad y el rendimiento.
Integre los cinco pilares en las decisiones de diseño. Use Well-Architected Framework para guiar las decisiones sobre confiabilidad, seguridad, eficiencia del rendimiento, optimización de costos y excelencia operativa. Estos cinco pilares deben informar a todas las decisiones de diseño. Por ejemplo, al elegir una base de datos, considere la confiabilidad (redundancia, copia de seguridad), el rendimiento y el costo juntos para alcanzar el equilibrio adecuado. Documente dónde se realizan equilibrios entre pilares, como un mayor costo para un mayor rendimiento. Estas notas son valiosas para futuras revisiones y gobernanza.
Planeamiento de integraciones con sistemas existentes
Inventario de todos los sistemas y servicios dependientes. Las nuevas soluciones nativas de la nube rara vez funcionan de forma aislada, a menos que seas una startup en etapa inicial. Tenga en cuenta cómo encaja la nueva carga de trabajo o característica en el entorno. Asigne flujos de datos y garantice la compatibilidad con los estándares. Cree una lista completa de todos los sistemas con los que interactúa la carga de trabajo. En esta lista se incluyen las API internas, las bases de datos, los proveedores de identidades (Id. de Microsoft Entra), las herramientas de supervisión, las canalizaciones de CI/CD y los sistemas locales a los que se accede a través de VPN o ExpressRoute. Use diagramas de arquitectura y mapas de dependencias para visualizar estas relaciones.
Clasifique los tipos de integración y los protocolos. Clasifique cada punto de integración por tipo (autenticación, intercambio de datos, mensajería) y protocolo (REST, gRPC, ODBC, SAML, OAuth2). Esta clasificación ayuda a identificar los requisitos de compatibilidad y los posibles cuellos de botella.
Valide la integración de identidades y acceso. Asegúrese de que la solución se integra con el proveedor de identidades de la organización. Por ejemplo, use Microsoft Entra ID para la autenticación y autorización en lugar de introducir un nuevo sistema de identidad. Confirme la compatibilidad con el inicio de sesión único (SSO), el control de acceso basado en rol (RBAC) y las directivas de acceso condicional.
Evalúe la conectividad de red y la seguridad. Revise cómo se conecta la carga de trabajo a otros sistemas. Valide las reglas de firewall, la resolución DNS y las rutas de enrutamiento. En escenarios híbridos, confirme que las configuraciones de ExpressRoute o VPN están en vigor y probadas. Use Azure Network Watcher para supervisar y solucionar problemas de conectividad.
Garantizar la compatibilidad y el cumplimiento del flujo de datos. Planificar los flujos de datos entre sistemas. Confirme los formatos de datos, los esquemas y los requisitos de transformación. Garantizar el cumplimiento de las directivas de residencia, cifrado y retención de datos.
Pruebe los puntos de integración de forma temprana y continua. Realice pruebas de integración durante las primeras fases de desarrollo. Use objetos ficticios o códigos auxiliares para sistemas no disponibles. Automatice estas pruebas en la canalización de CI/CD mediante herramientas como Azure DevOps o Acciones de GitHub. Supervise la latencia, el rendimiento y las tasas de error. Por ejemplo, quiere evitar que una API de la que depende su aplicación no admita la carga requerida o que un firewall de red bloquee su servicio.
Contratos de integración de documentos y Acuerdos de Nivel de Servicio. Defina y documente el comportamiento esperado, la disponibilidad y el rendimiento de cada punto de integración. Incluya lógica de reintento, configuración del tiempo de espera y mecanismos de contingencia. Alinearse con acuerdos de nivel de servicio (SLA) de sistemas dependientes.
Selección de los servicios y niveles de servicio de Azure adecuados
Use guías de decisión para seleccionar servicios que coincidan con los requisitos de carga de trabajo. Azure proporciona varias opciones para ejecutar el código de la aplicación, cada una con ventajas y desventajas. Revise la introducción a las opciones de tecnología para identificar los servicios que se alinean con sus requisitos funcionales y no funcionales. Priorice las opciones de plataforma como servicio (PaaS) porque estos servicios reducen la sobrecarga operativa mediante el control de la administración de infraestructuras, la aplicación de revisiones y el escalado automáticamente.
Defina los patrones de uso y los requisitos de rendimiento para seleccionar los niveles de servicio. La selección del nivel de servicio afecta tanto al costo como a la funcionalidad. Documente los volúmenes de transacciones esperados, las cargas simultáneas de usuarios, los requisitos de almacenamiento y los objetivos de rendimiento, como los tiempos de respuesta y el rendimiento. Use estas métricas para seleccionar un nivel de servicio inicial (SKU) que cumpla los requisitos de línea base sin un aprovisionamiento excesivo significativo. Planee ajustar los niveles en función de los patrones de uso reales después de la implementación.
Valide la compatibilidad de características en los niveles de servicio seleccionados. Las características críticas, como las funcionalidades de seguridad avanzada, las opciones de alta disponibilidad o las API de integración varían según el nivel de servicio. Cree una matriz de características que asigne las funcionalidades necesarias a las SKU disponibles. Asegúrese de que el nivel seleccionado admite todas las características necesarias para evitar migraciones costosas o cambios arquitectónicos más adelante. Consulte la documentación específica del servicio para confirmar la disponibilidad y las limitaciones de las características.
Selección del número de regiones que se van a usar
Evalúe las desventajas de las implementaciones de varias regiones. Las arquitecturas de una sola región son más sencillas y más baratas, pero una interrupción regional reduciría la aplicación. Las implementaciones de varias regiones pueden lograr una mayor disponibilidad (una región puede producir un error y los usuarios se sirven desde otra) y también pueden mejorar el rendimiento al atender a los usuarios de la región más cercana. El compromiso es un aumento de la complejidad en la implementación y sincronización de datos. Debe controlar la replicación de datos entre regiones con posibles problemas de coherencia, enrutamiento de tráfico global y mayores costos. Deje que los requisitos de confiabilidad impulsen esta decisión.
Use los objetivos de confiabilidad para guiar la estrategia regional. Defina objetivos de nivel de servicio (SLO), objetivos de punto de recuperación (RPO) y objetivos de tiempo de recuperación (RTO) para determinar los requisitos regionales.
Confirme el cumplimiento de las regulaciones sobre la ubicación de los datos. Trabaje con equipos legales y de cumplimiento para garantizar que las opciones regionales cumplan las obligaciones normativas.
Arquitecturas de documentos
Cree un diagrama de arquitectura detallado y un documento de diseño. La documentación admite la implementación, revisión y mantenimiento futuro. Incluya servicios de Azure seleccionados, SKU, flujos de datos e interacciones del usuario. Asegúrese de que el diagrama proporciona una representación visual clara de la arquitectura para admitir la implementación y las revisiones.
Registre decisiones clave de diseño y compensaciones. Documente el fundamento de las opciones arquitectónicas, incluidos los requisitos no funcionales, como la confiabilidad, la seguridad y el rendimiento. Resalte las ventajas y desventajas realizadas para equilibrar las prioridades de competencia.
Planeamiento de la estrategia de implementación nativa de la nube
Al implementar la solución nativa para la nube en producción, siga una estrategia planificada en lugar de una implementación improvisada. Un plan de implementación sólido minimiza los efectos en los usuarios y proporciona maneras de recuperarse si algo va mal.
Planear prácticas de desarrollo e implementación
Las prácticas de desarrollo e implementación garantizan una entrega coherente y la preparación operativa en todos los entornos. Estas prácticas reducen el riesgo de implementación y mejoran la coordinación del equipo.
Establezca procedimientos de DevOps para la automatización de la implementación. Los procedimientos de DevOps alinean los equipos de desarrollo y operaciones mediante la automatización, el control de versiones y las canalizaciones de CI/CD. Use herramientas como Azure DevOps o Acciones de GitHub para automatizar flujos de trabajo de compilación, prueba e implementación. Este enfoque reduce los errores manuales, acelera los ciclos de versión y proporciona procesos de implementación coherentes entre entornos.
Planifique la preparación operativa para soportar las actividades de despliegue. La preparación operativa incluye procedimientos de supervisión, alertas y respuesta a incidentes para escenarios de implementación. Documentar runbooks de implementación y scripts de automatización que cubren procedimientos de reversión, verificación de salud y pasos de solución de problemas. Almacene estos recursos en una ubicación central, como Wiki de Azure DevOps o GitHub, para garantizar la accesibilidad durante las actividades de implementación.
Defina prácticas de desarrollo que admitan implementaciones confiables. Use estándares de codificación, revisiones del mismo nivel y pruebas automatizadas para garantizar la calidad del código y la preparación de la implementación. Incorpore estas prácticas en la canalización de CI/CD para aplicar criterios de calidad antes de la implementación. Incluya pruebas específicas de la implementación, como pruebas de integración, pruebas de humo y validación de rendimiento para comprobar la preparación del sistema para producción.
Planeación de la implementación de nuevas cargas de trabajo
Use la exposición progresiva para limitar el impacto. Para una nueva aplicación (greenfield) sin usuarios existentes, conviene realizar un lanzamiento suave. Implemente en producción, pero exponga solo a usuarios internos o a un grupo piloto inicialmente. Este enfoque es una implementación piloto para una nueva carga de trabajo. Si es realmente nuevo y aislado, es posible realizar una implementación única en producción completa, pero se recomienda una exposición progresiva para detectar cualquier problema de una manera controlada. No implementes el sistema al 100% de los usuarios el primer día sin una validación previa en el mundo real. Para obtener más información, consulte WAF: Adopción de un modelo de exposición progresiva.
Documente procedimientos operativos y rutas de escalación. Cree una documentación clara para reiniciar servicios, acceder a los logs, manejar problemas comunes y escalar incidentes. Almacene esta documentación en un repositorio compartido, como SharePoint o GitHub, para garantizar la disponibilidad de los equipos de soporte técnico.
Planeación de la implementación de nuevas características
Planee la nueva integración de características mediante la administración de cambios. Siga el proceso de administración de cambios de su organización para controlar y documentar los cambios de producción. Defina procedimientos de reversión, como revertir las versiones de la aplicación o restaurar copias de seguridad de base de datos. Proteja la aprobación de las partes interesadas antes de la implementación para garantizar la alineación con los objetivos empresariales. Para obtener más información, consulte Administración del cambio en CAF.
Use actualizaciones in situ para cambios menores o con compatibilidad con versiones anteriores. Implemente actualizaciones directamente en el entorno de producción mediante actualizaciones graduales o marcas de características. Comience con un pequeño porcentaje de usuarios o instancias. Supervise las métricas y los registros del sistema para validar la estabilidad antes de la implementación completa.
Use implementaciones paralelas (azul-verde) para cambios importantes o de alto riesgo. Implemente la nueva versión en un entorno independiente. Enrutar una pequeña parte del tráfico activo a la nueva versión para validar el comportamiento. Si tiene éxito, traslade todo el tráfico a la nueva versión. Si surgen problemas, revierta el tráfico a la versión original para garantizar la continuidad.
Planifique la transferencia operativa para las nuevas cargas de trabajo. Identifique el equipo responsable de operar y apoyar la solución después de la implementación. Defina el modelo de soporte (soporte 24/7 de guardia o soporte en horario comercial) y asegúrese de que todas las partes interesadas entiendan sus funciones.
Defina las responsabilidades de propiedad y soporte técnico. Confirme que el equipo de operaciones está preparado para admitir la nueva característica. Actualice la documentación y las rutas de escalación para reflejar nuevas responsabilidades y garantizar una respuesta rápida a los incidentes.
Definición del plan de reversión para soluciones nativas de la nube
Un plan de reversión permite a los equipos revertir rápidamente los cambios cuando se produce un error en una implementación o se produce un riesgo. Un plan bien definido minimiza el tiempo de inactividad, limita el impacto empresarial y mantiene la confiabilidad del sistema. Establezca siempre criterios y procedimientos de reversión antes de iniciar cualquier migración o implementación.
Definir implementación fallida. Colabore con las partes interesadas de la empresa, los propietarios de cargas de trabajo y los equipos de operaciones para decidir qué se considera un despliegue fallido. Algunos ejemplos son las comprobaciones de estado con errores, el rendimiento deficiente, los problemas de seguridad o las métricas de éxito no cumplidas. Esta definición garantiza que las decisiones de reversión se alineen con la tolerancia al riesgo de su organización. Incluya condiciones específicas que desencadenen una reversión en el plan de implementación, como límites de uso de CPU, umbrales de tiempo de respuesta o tasas de error. Esta evaluación hace que las decisiones de reversión sean claras y coherentes durante los incidentes.
Automatice los pasos de rollback en los pipelines de CI/CD. Use herramientas como Azure Pipelines o Acciones de GitHub para automatizar los procesos de reversión. Por ejemplo, configure canalizaciones para volver a implementar una versión anterior si se produce un error en las comprobaciones de estado.
Cree instrucciones de retroceso específicas para la carga de trabajo. Desarrolle pasos de reversión que coincidan con el tipo de carga de trabajo, el entorno y el método de implementación. Por ejemplo, las implementaciones de infraestructura como código requieren volver a aplicar plantillas anteriores. Las reversiones de aplicaciones implican volver a implementar una imagen de contenedor anterior. Adjunte scripts de reversión, instantáneas de configuración y plantillas de infraestructura como código en su plan de reversión. Estos recursos permiten una ejecución rápida y reducen la dependencia de la intervención manual.
Procedimientos de reversión de pruebas. Simular fallos de implementación en un entorno de preproducción para validar la efectividad de la reversión. Identificar y resolver brechas en la automatización, los permisos o las dependencias. Confirme que la reversión restaura el sistema a un estado estable, conocido como correcto.
Mejora de las estrategias de reversión Después de cada evento de implementación o reversión, realice una retrospectiva para evaluar lo que funcionó y lo que no. Actualice los criterios de reversión, los procedimientos y la automatización en función de las lecciones aprendidas, los cambios arquitectónicos o las nuevas herramientas. Mantenga la documentación para asegurarse de que las estrategias de reversión sigan siendo actuales y eficaces.