Escenario de escalado entre nubes (datos locales)

Azure Stack Hub
Azure Virtual Machines
Azure Virtual Network
Azure VPN Gateway
Azure App Service

Esta solución muestra cómo crear una aplicación híbrida que aproveche las ventajas de:

  • La escalabilidad de la plataforma de nube pública de Azure.
  • Las ventajas de cumplimiento de la plataforma de nube privada de Azure Stack Hub.

Architecture

Diagrama que muestra una arquitectura para una aplicación híbrida que abarca Azure y Azure Stack Hub.

Descargue un archivo Visio de esta arquitectura.

Flujo de datos

  1. Los servidores de compilación de Azure Pipelines que están en el entorno local de Azure Stack Hub y la nube implementan la misma versión de la aplicación en sus respectivos entornos. El entorno en la nube no incluye un almacén de datos. Ambas instancias de la aplicación están configuradas para conectarse al mismo almacén de datos local.
  2. Las aplicaciones web se supervisan a fin de cargarse. Tras aumentar el tráfico de forma significativa, un programa manipula los registros DNS para redireccionar el tráfico a la nube pública. Si el tráfico deja de ser significativo, los registros DNS se actualizarán para dirigir el tráfico de vuelta a la nube privada.
  3. Un cliente envía una solicitud a la aplicación. Azure Traffic Manager procesa la solicitud y la enruta a uno de los entornos de aplicación.
  4. Con una carga normal, la solicitud de cliente se enruta a la instancia de la aplicación hospedada localmente en Azure Stack Hub.
  5. La aplicación local se conecta al almacén de datos local, según sea necesario.
  6. Con una carga elevada, Traffic Manager enruta las solicitudes a la instancia en la nube de la aplicación.
  7. La instancia de la aplicación en la nube procesa las solicitudes y se conecta al almacén de datos local según sea necesario a través de una conexión de seguridad mejorada.

Componentes

  • Azure App Service hace posible crear y hospedar aplicaciones web, aplicaciones de API RESTful y funciones de Azure.

  • Azure Virtual Network es el bloque de creación fundamental para las redes privadas en Azure. Virtual Network hace posible que muchos tipos de recursos de Azure, como las máquinas virtuales, se comuniquen con seguridad mejorada entre ellos, con Internet y con las redes locales. La solución también muestra el uso de componentes de red adicionales:

    • Subredes de puerta de enlace y aplicación.
    • Una puerta de enlace de red local.
    • Una puerta de enlace de red virtual que actúa como conexión de puerta de enlace de VPN de sitio a sitio.
    • Una dirección IP pública.
    • Una conexión VPN de punto a sitio.
    • Azure DNS para hospedar dominios DNS y proporcionar resolución de nombres.
  • Traffic Manager es un equilibrador de carga de tráfico basado en DNS. Puede usarlo para controlar la distribución del tráfico de los usuarios a los puntos de conexión de servicio de distintos centros de datos.

  • Application Insights es un servicio de Application Performance Management extensible para desarrolladores web que compilan y administran aplicaciones en varias plataformas.

  • Azure Functions hace posible ejecutar el código en un entorno sin servidor sin necesidad de crear antes una máquina virtual o publicar una aplicación web.

  • Azure Stack Hub es una extensión de Azure que puede ejecutar cargas de trabajo en un entorno local y proporcionar en él los servicios de Azure.

    • Puede usar Azure Stack Hub para proporcionar el mismo modelo de aplicación, el portal de autoservicio y las API que proporciona Azure. IaaS de Azure Stack Hub permite una amplia gama de tecnologías de código abierto para implementaciones de nube híbrida coherentes. En la solución se usa una máquina virtual de Windows Server para SQL Server, por ejemplo.
    • La solución usa Azure App Service en Azure Stack Hub para hospedar la aplicación web.
    • La red virtual de Azure Stack Hub funciona exactamente como Azure Virtual Network. Usa muchos de los mismos componentes de redes, incluidos nombres de host personalizados.
  • Azure DevOps es un conjunto de servicios para desarrolladores que permiten administrar todo el ciclo de vida de las aplicaciones y la infraestructura. Azure DevOps incluye seguimiento del trabajo, control de código fuente, compilación y CI/CD, administración de paquetes y soluciones de pruebas.

  • Azure Pipelines es un servicio que proporciona CI/CD. Puede usarlo para administrar definiciones y agentes de compilación y versión hospedados. La canalización de desarrollo puede usar varios repositorios de código, incluidos GitHub, Bitbucket, Dropbox, OneDrive y Azure Repos.

Alternativas

  • En el caso de las aplicaciones web, puede usar Azure Front Door. Azure Front Door funciona en la capa 7, la capa HTTP/HTTPS. Usa el protocolo de difusión con TCP dividido y la red global de Microsoft para mejorar la conectividad global. Según el método de enrutamiento, puede asegurarse de que Azure Front Door enrute las solicitudes de cliente al back-end de aplicación más rápido y disponible.
  • Puede usar Azure ExpressRoute en lugar de Azure VPN Gateway. ExpressRoute le permite conectar su red local directamente a recursos de Azure mediante una conexión de red privada dedicada.
  • Si el repositorio está en GitHub, puede usar acciones de GitHub en lugar de Azure Pipelines.

Detalles del escenario

Aprenda a compilar una aplicación híbrida que abarque Azure y Azure Stack Hub. Usa un único origen de datos local, que es un requisito de cumplimiento para algunas organizaciones.

Muchas organizaciones recopilan y almacenan enormes cantidades de datos confidenciales de los clientes. Con frecuencia se les impide almacenar datos confidenciales en la nube pública debido a las regulaciones corporativas o a la directiva gubernamental, pero es posible que quieran aprovechar la escalabilidad de la nube pública. La nube pública puede controlar los picos estacionales de tráfico, lo que permite a los clientes pagar exactamente por el hardware que necesitan y cuando lo necesitan.

La solución aprovecha las ventajas de cumplimiento de la nube privada, combinándolas con la escalabilidad de la nube pública. La combinación de la nube de Azure y la nube híbrida de Azure Stack Hub ofrece una experiencia coherente a los desarrolladores. Esta coherencia les permite aplicar sus aptitudes tanto a la nube pública como a los entornos locales.

La guía de implementación de soluciones permite implementar una aplicación web idéntica en una nube pública y privada. También puede acceder a una red enrutable sin conexión a Internet hospedada en la nube privada.

Posibles casos de uso

Esta solución es aplicable en escenarios como estos:

  • Su organización usa un enfoque DevOps o planea usar uno pronto.
  • Quiere implementar prácticas de integración continua y entrega continua (CI/CD) en una implementación de Azure Stack Hub y en la nube pública.
  • Quiere consolidar la canalización de CI/CD en entornos locales y de nube.
  • Quiere desarrollar aplicaciones mediante servicios locales y en la nube.
  • Quiere que las aptitudes necesarias para los desarrolladores sean las mismas en las aplicaciones locales y en la nube.
  • Usa Azure, pero tiene desarrolladores que trabajan en una nube de Azure Stack Hub local.
  • Sus aplicaciones locales experimentan picos de demanda durante fluctuaciones estacionales, cíclicas o imprevisibles.
  • Tiene componentes locales y deseo usar la nube para escalarlos sin problemas.
  • Quiere la escalabilidad de la nube, pero también quiere que la aplicación se ejecute en el entorno local tanto como sea posible.

Consideraciones

Estas consideraciones implementan los pilares del marco de buena arquitectura de Azure, que es un conjunto de principios guía que se pueden usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.

Confiabilidad

La confiabilidad garantiza que la aplicación pueda cumplir los compromisos contraídos con los clientes. Para más información, consulte Resumen del pilar de fiabilidad.

La implementación global presenta sus propios desafíos, como la conectividad de variable y la diferencia de las regulaciones gubernamentales según la región. Los desarrolladores pueden crear una sola aplicación e implementarla en varias regiones con requisitos diferentes. Implemente su aplicación en la nube pública de Azure y, a continuación, implemente instancias o componentes adicionales localmente. Puede administrar el tráfico entre todas las instancias mediante Azure.

Es importante pensar en cómo controlar las redes o los errores de energía. Para obtener información sobre cómo mejorar la resistencia, vea Resistencia y dependencias, Procedimientos recomendados y otras instrucciones de confiabilidad de Microsoft Azure Well-Architected Framework.

Seguridad

La seguridad proporciona garantías contra ataques deliberados y el abuso de datos y sistemas valiosos. Para más información, consulte Introducción al pilar de seguridad.

  • Cumplimiento geográfico y soberanía de los datos. Azure Stack Hub permite ejecutar el mismo servicio en varios países o regiones como si usara una nube pública. La implementación de la misma aplicación en centros de datos de cada país o región permite el cumplimiento de los requisitos de soberanía de datos. Esta capacidad garantiza el mantenimiento de los datos personales dentro de las fronteras de cada país o región. Consulte Cumplimiento normativo en Well-Architected Framework para obtener más instrucciones.

  • Posición de seguridad de Azure Stack Hub. La seguridad requiere un proceso de mantenimiento sólido y continuo. Por esta razón, Microsoft invirtió en un motor de orquestación que aplica revisiones y actualizaciones sin problemas en toda la infraestructura. Gracias a las asociaciones con los asociados fabricantes de equipo original (OEM) de Azure Stack Hub, Microsoft amplía la misma posición de seguridad a componentes específicos de OEM, como el host de ciclo de vida de hardware y el software que se ejecuta en él. Esta asociación garantiza que Azure Stack Hub tenga una posición de seguridad uniforme y sólida en toda la infraestructura. A su vez, puede compilar y proteger las cargas de trabajo de la aplicación.

  • Uso de entidades de servicio a través de PowerShell, la CLI y Azure Portal. Para proporcionar acceso a los recursos a un script o una aplicación, configure una identidad para la aplicación y autentíquela con sus propias credenciales. Esta identidad se conoce como una entidad de servicio. Puede usar entidades de servicio para:

    • Asignar permisos a la identidad de aplicación que sean diferentes a los de los usuarios y se limiten, precisamente, a las necesidades de la aplicación.
    • Usar un certificado para la autenticación al ejecutar un script desatendido. Para más información sobre la creación de la entidad de servicio y el uso de un certificado para las credenciales, consulte Uso de una identidad de aplicación para acceder a recursos.
  • Una solución de administración de identidades única y coherente. Azure Stack Hub funciona con Microsoft Entra ID y Servicios de federación de Active Directory (AD FS). Funciona con Microsoft Entra ID en escenarios conectados. En los entornos sin conectividad, puede usar AD FS como solución desconectada. Las entidades de servicio se usan para conceder acceso a las aplicaciones, permitiéndoles implementar o configurar recursos a través de Azure Resource Manager.

Excelencia operativa

La excelencia operativa abarca los procesos de las operaciones que implementan una aplicación y la mantienen en ejecución en producción. Para más información, consulte Introducción al pilar de excelencia operativa.

  • Un enfoque de desarrollo único y coherente. Azure y Azure Stack Hub permiten usar un conjunto coherente de herramientas de desarrollo en toda la organización. Esta coherencia facilita la implementación de CI/CD. Muchas aplicaciones y servicios que están implementados en Azure y Azure Stack Hub son intercambiables y se pueden ejecutar en cualquier ubicación.

    Una canalización de CI/CD híbrida puede ayudarle a:

    • Iniciar una nueva compilación basada en confirmaciones en su repositorio de código.
    • Implementar automáticamente el código recién compilado en Azure para llevar a cabo las pruebas de aceptación del usuario.
    • Una vez que el código haya pasado las pruebas, implementar automáticamente la aplicación en Azure Stack Hub.

Consulte instrucciones adicionales en la sección Ingeniería de versiones de Azure Well-Architected Framework.

Eficiencia del rendimiento

La eficiencia del rendimiento es la capacidad de la carga de trabajo para escalar con el fin de satisfacer de manera eficiente las demandas que los usuarios hayan ejercido sobre ella. Para obtener más información, vea Resumen del pilar de eficiencia del rendimiento.

Azure y Azure Stack Hub respaldan las necesidades de las empresas distribuidas globalmente.

  • Nube híbrida fácil de administrar. Microsoft ofrece una integración de los recursos locales con Azure Stack Hub y Azure en una solución unificada. Esta integración acaba con los inconvenientes de administrar varias soluciones específicas y una combinación de los proveedores de nube. Con el escalado entre nubes, solo tiene que conectar Azure Stack Hub a Azure con ráfagas de nube para que los datos y las aplicaciones estén disponibles en Azure.

    • Elimine la necesidad de crear y mantener un sitio de recuperación ante desastres secundario.
    • Ahorre tiempo y dinero mediante eliminando la copia de seguridad en cinta. Almacene hasta 99 años de datos de copia de seguridad en Azure.
    • Migre cargas de trabajo de Hyper-V, físicas (en versión preliminar) y VMware (en versión preliminar) en ejecución a Azure para aprovechar la economía y elasticidad de la nube.
    • Ejecute análisis o informes intensivos de proceso en una copia replicada de su recurso local en Azure, sin que ello afecte a las cargas de trabajo de producción.
    • Irrumpa en la nube y ejecute cargas de trabajo locales en Azure, con plantillas de proceso más grandes si es necesario.
    • Cree entornos de desarrollo de varios grados. Replique los datos de producción en vivo en el entorno de desarrollo y pruebas para mantenerlos casi sincronizados en tiempo real.
  • Economía del escalado entre nubes con Azure Stack Hub. La principal ventaja de la ráfaga de nube es que ahorra dinero. Solo paga por los recursos adicionales cuando hay una demanda de ellos. No es necesario gastar dinero en capacidad adicional innecesaria ni intentar predecir picos y fluctuaciones de la demanda.

  • Procesamiento en la nube. Puede usar el escalado entre nubes para reducir las cargas de procesamiento. La carga se distribuye moviendo aplicaciones básicas a la nube pública, liberando recursos locales para aplicaciones críticas para la empresa. Puede implementar una aplicación en la nube privada y convertirla en la nube pública según sea necesario para satisfacer la demanda.

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.

Autor principal:

Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.

Pasos siguientes