Compartir a través de


Hospedaje de aplicaciones en Azure

Este artículo es la tercera parte de una serie de siete artículos que ayudan a los desarrolladores a empezar a trabajar con Azure.

Azure ofrece varias maneras de hospedar la aplicación. En este artículo se sugieren servicios que coincidan con sus requisitos. No es prescriptivo. Combine y combine servicios para satisfacer sus necesidades. La mayoría de los entornos de producción combinan servicios para satisfacer las necesidades empresariales y organizativas.

Los servicios que elija a menudo se reducen a dos consideraciones:

  • ¿Prefiere simplificar o controlar?
  • ¿Prefiere entornos nativos de nube (contenedores) o nativos de Azure (herramientas e integraciones adaptadas)?

En el vídeo siguiente se explica la primera consideración: simplicidad frente al control.

Simplicidad y control

Los servicios de hospedaje de Azure implican dos consideraciones clave:

  • Simplicidad frente a control
    • Las plataformas de hospedaje simples necesitan menos configuración y administración, pero proporcionan menos control sobre la infraestructura subyacente.
    • Las plataformas de hospedaje complejas necesitan más configuración y administración, pero proporcionan más control sobre la infraestructura subyacente.
  • Cloud-native frente a Azure-native
    • Nativo de la nube puede considerarse como portátil en la nube. Use cargas de trabajo de código abierto como contenedores y tecnologías como Dapr para poder implementar las aplicaciones que compile en cualquier proveedor de nube.
    • El nativo de Azure se centra en las herramientas y tecnologías específicas de Azure para administrar la infraestructura. Estos servicios incluyen contenedores, código primero, poco código e herramientas de infraestructura que enfatizan la integración entre los servicios de Azure.

Hospedaje simplificado

Azure administra completamente las soluciones de hospedaje simplificadas. Es responsable de la configuración de código y entorno. Azure administra el entorno de ejecución y la infraestructura subyacentes, incluidas las actualizaciones y las revisiones. El hospedaje simplificado es el enfoque nativo de Azure.

  • Logic Apps: crear y ejecutar flujos de trabajo automatizados con poco o nada de código.
  • Power Automate: automatice los procesos empresariales y los flujos de trabajo.
  • Azure Static Web Apps: implemente aplicaciones web estáticas creadas con marcos como Blazor o React.
  • Aplicaciones de Azure Functions: ejecute código o contenedores sin servidor.

Hospedaje equilibrado

Las soluciones de hospedaje equilibradas equilibran la necesidad de simplicidad con la necesidad de control. Es responsable de la funcionalidad, como el código y la configuración del entorno. Azure administra el entorno de ejecución y la infraestructura subyacentes, incluidas las actualizaciones y las revisiones. También puede traer su propio contenedor al servicio. El hospedaje equilibrado es nativo de Azure y nativo de la nube.

  • Azure App Service: hospedaje web de servicio completo, incluidos los entornos de ejecución de lenguaje, los contenedores y las cargas de trabajo de automatización.
  • Azure Container Apps: hospedaje de contenedores sin servidor.
  • Azure Spring Apps: Migra aplicaciones de Spring Boot a la nube de Azure.

Hospedaje controlado

Las soluciones de hospedaje controladas proporcionan control total sobre la infraestructura subyacente. Es responsable de las actualizaciones, revisiones, código, recursos y configuración del entorno. El hospedaje controlado es el enfoque nativo de la nube.

Hospedaje de cargas de trabajo de IA

Si la aplicación incluye modelos o agentes de inteligencia artificial, se aplican los mismos servicios de hospedaje. Los siguientes servicios son populares para hospedar cargas de trabajo de inteligencia artificial en Azure:

  • Azure Container Apps y Azure Kubernetes Service son opciones populares para hospedar puntos de conexión de inferencia de IA y orquestadores de agentes.
  • Azure Functions funciona bien para canalizaciones de IA controladas por eventos que responden a nuevos datos.
  • En el caso de las cargas de trabajo aceleradas por GPU, Azure Virtual Machines ofrece acceso a las instancias de GPU de NVIDIA.

Para más información sobre la creación de aplicaciones de inteligencia artificial en Azure, consulte Introducción al desarrollo de aplicaciones de IA.

Hospedaje de código fuente

Los desarrolladores que no estén familiarizados con Azure y que quieran iniciar un nuevo desarrollo pueden usar el siguiente gráfico para encontrar la solución de hospedaje sugerida.

Un diagrama muestra sin código y poco código en la primera caja, código en la segunda caja y contenedor en la tercera caja, con servicios recomendados para cada una.

Nada o poco código

Azure admite soluciones sin código como parte de su enfoque en la nube.

  • Logic Apps: Use un diseñador visual con operaciones predefinidas para desarrollar un flujo de trabajo para la empresa y los escenarios de empresa a empresa.
  • Power Automate, como Power Apps: úselo cuando necesite automatizar los procesos y flujos de trabajo empresariales dentro de la organización de Microsoft 365.

Código versus contenedor

Las soluciones de hospedaje con poco código están diseñadas para permitirle incorporar la funcionalidad del código sin tener que administrar la infraestructura de la aplicación.

  • Azure Static Web Apps: implemente aplicaciones web estáticas generadas.
  • Azure Functions: implemente funciones de código en lenguajes admitidos sin administrar la infraestructura de aplicaciones.

Código primero soluciones de alojamiento que te permiten implementar directamente en el servicio.

Las soluciones de alojamiento de Container-first están diseñadas para alojar contenedores. El servicio proporciona características y opciones de configuración específicas del contenedor. Usted es responsable de la computación utilizada dentro del contenedor. Los servicios que hospedan contenedores pasan del control administrado a la plena responsabilidad, por lo que solo asume la cantidad de administración de contenedores que desee.

El alojamiento de orquestación centrado en Kubernetes incluye:

Servicio Enfoque Usar
Azure Kubernetes Service Nativo de la nube Se usa para clústeres de Kubernetes con un enfoque declarativo mediante archivos de configuración y artefactos externos.
Azure Service Fabric Nativo de Azure Use un enfoque imperativo para implementar microservicios en clústeres de máquinas. Proporciona un modelo de programación que permite a los desarrolladores escribir código que describe el estado deseado del sistema y el tiempo de ejecución de Service Fabric se encarga de hacer que el sistema se ajuste a ese estado.

El hospedaje de contenedores preconfigurado significa que las opciones de orquestación están preconfiguradas para usted. La capacidad de comunicarse entre contenedores o clústeres de contenedores podría requerir un servicio adicional, como Dapr.

Servicio Usar
Azure App Service Hospedaje web de servicio completo
Azure Spring Apps Aplicaciones de Spring Boot
Azure Container Apps Hospedaje de contenedores sin servidor
Azure Container Instances Alojamiento sencillo de contenedor único

Azure proporciona un registro de contenedor para almacenar y administrar las imágenes de contenedor o puede usar un registro de contenedor de terceros.

Servicio Usar
Azure Container Registry Se usa al compilar y hospedar sus propias imágenes de contenedor, que se pueden desencadenar con confirmaciones de código fuente y actualizaciones de imágenes base.

Sin servidor

Las soluciones de hospedaje sin servidor están diseñadas para ejecutar código sin estado, que incluye un nivel de precios basado en el consumo que se reduce a cero cuando no se usa.

Servicio Usar
Azure Container Apps Hospedaje de contenedores
Funciones de Azure Hospedaje de código o contenedor

Microservicios

Los microservicios que hospedan soluciones ejecutan servicios pequeños e independientes que funcionan juntos para formar una aplicación más grande. Normalmente, los microservicios se implementan como contenedores.

Servicio Usar
Azure Container Apps Se usa para microservicios contenedorizados sin servidor.
Funciones de Azure Se usa para microservicios contenedorizados o de código sin servidor.

Borde de la nube

Cloud Edge es un término para indicar si el servicio en la nube se encuentra para beneficiar al usuario (cliente) o a la aplicación (servidor).

Computación del cliente

El cómputo del cliente se ejecuta en el cliente fuera de Azure. La computación del cliente se usa normalmente para la representación y el procesamiento del lado cliente, como en aplicaciones móviles o aplicaciones basadas en navegador.

Servicio Usar
Azure Static Web Apps Se usa para aplicaciones web estáticas que usan la representación del lado cliente, como React, Angular, Svelte, Vue y Blazor.

Disponibilidad de cliente

Servicio Usar
Azure Front Door Se usa para todas las aplicaciones orientadas a Internet para proporcionar una red global en caché y segura a los activos estáticos y dinámicos, incluida la protección contra DDoS, el cifrado TLS de un extremo a otro, los firewalls de aplicaciones y el filtrado geográfico.

Capacidad de cómputo del servidor

Los recursos de proceso del servidor son archivos procesados por el servidor antes de ser servidos al cliente. Los activos dinámicos se desarrollan usando el procesamiento del servidor back-end, integrándose opcionalmente con otros servicios de Azure.

Servicio Usar
Azure App Service Use este servicio para el hospedaje web típico. Esto admite un amplio conjunto de puntos de conexión de API funcionales, aplicaciones completas y tareas en segundo plano. Este servicio incluye numerosos entornos de ejecución para lenguajes de programación y la capacidad de implementar su propia pila, lenguaje o carga de trabajo desde un contenedor.
Funciones de Azure Use este servicio para proporcionar su propio código en los lenguajes admitidos para puntos de conexión HTTP o desencadenadores basados en eventos de los servicios de Azure.
Azure Spring Apps Se utiliza para implementar aplicaciones de Spring Boot sin cambios de código.
Azure Container Apps Se usa para hospedar microservicios administrados y aplicaciones contenedorizadas en una plataforma sin servidor.
Azure Container Instances Utilice esto para escenarios de contenedores simples que no requieren orquestación de contenedores.
Azure Kubernetes Service Use este servicio cuando necesite un clúster de Kubernetes. El plano de control para administrar el clúster se crea y se proporciona sin coste adicional.

Administración de puntos de conexión de servidor

La administración de puntos de conexión de servidor permite administrar puntos de conexión de servidor a través de una puerta de enlace que agrega control de versiones, almacenamiento en caché, transformación, directivas de API y supervisión.

Servicio Usar
Azure API Management Utilice este servicio cuando productice sus API REST, OpenAPI y GraphQL con un gateway de API, incluidos los límites de cuotas y tasa de solicitudes, la autenticación y la autorización, la transformación, y las respuestas en caché.
Azure Application Gateway Se usa para el equilibrio de carga regional (capa 7 de OSI). Se puede usar para enrutar el tráfico en función de la ruta URL o los encabezados de host, y admite la descarga de SSL, la afinidad de sesión basada en cookies y las funcionalidades de Web Application Firewall (WAF).
Azure Front Door Se usa para el equilibrio de carga global (capa 7 de OSI) para proporcionar una red global almacenada en caché y segura a los activos estáticos y dinámicos, incluida la protección contra DDoS, el cifrado TLS de un extremo a otro, los firewalls de aplicaciones y el filtrado geográfico.
Administrador de Tráfico de Azure Se usa para distribuir el tráfico mediante DNS (capa 7 de OSI) a las aplicaciones orientadas al público en las regiones globales de Azure. Traffic Manager usa DNS para dirigir las solicitudes del cliente al punto de conexión de servicio adecuado en función de un método de enrutamiento del tráfico. Admite varios métodos de enrutamiento de tráfico, como prioridad, rendimiento y enrutamiento geográfico. Es ideal para administrar el tráfico entre varias regiones o centros de datos.

Cómputo automatizado

El proceso automatizado se automatiza mediante un evento como una programación programada u otro servicio de Azure y normalmente se usa para el procesamiento en segundo plano, el procesamiento por lotes o los procesos de larga duración.

Servicio Usar
Power Automate Úselo cuando necesite automatizar los procesos y flujos de trabajo empresariales.
Funciones de Azure Úselo cuando necesite ejecutar código en función de una programación programada o en respuesta a eventos de otros servicios de Azure.
Servicios de contenedores (Azure Container Instances, Azure Kubernetes Service, Azure Container Apps) Se usa para cargas de trabajo automatizables estándar
Azure Batch Úselo cuando necesite automatización de alto rendimiento.

Nube híbrida

La nube híbrida es un entorno informático que conecta los servicios de nube privada local de una empresa y la nube pública de terceros en una sola infraestructura flexible para ejecutar las aplicaciones y cargas de trabajo de la organización.

Servicio Usar
Azure Arc Úselo cuando necesite administrar todo el entorno, tanto en la nube como en los recursos locales, incluida la seguridad, la gobernanza, el inventario y la administración.

Si no necesita mantener su propia infraestructura, use Azure Stack HCI para ejecutar máquinas virtuales locales.

Informática de alto rendimiento

La informática de alto rendimiento (HPC) es el uso del procesamiento paralelo para ejecutar programas avanzados de aplicaciones de forma eficaz, confiable y rápida. El término se aplica especialmente a los sistemas que funcionan a más de un teraflop o 10^12 operaciones de punto flotante por segundo.

Servicio Usar
Azure Batch Azure Batch permite crear y administrar un conjunto de nodos de proceso (máquinas virtuales), instalar las aplicaciones que desea ejecutar y programar trabajos para que se ejecuten en los nodos. Los desarrolladores pueden usar Batch como un servicio de plataforma para compilar aplicaciones SaaS o aplicaciones cliente en las que se requiere una ejecución a gran escala.
Instancias de Azure Baremetal Use cuando necesite ejecutarse en un entorno no virtualizado con acceso de nivel raíz al sistema operativo, el almacenamiento y la red.
Área de trabajo de Azure Quantum Úselo cuando necesite desarrollar y experimentar con algoritmos cuánticos.
Microsoft Genomics Se usa para el procesamiento genómico compatible con HIPAA y con certificación ISO.

Para más información, consulte Informática de alto rendimiento en Azure.

Computación basada en eventos

El proceso basado en eventos es el proceso desencadenado por un evento como una programación programada u otro servicio de Azure. El proceso basado en eventos normalmente se usa para el procesamiento en segundo plano, el procesamiento por lotes o los procesos de larga duración.

Servicio Usar
Microsoft Copilot Studio Úselo cuando necesite crear bots de chat con una interfaz sin código.
Funciones de Azure Úselo cuando necesite ejecutar código en función de una programación programada o en respuesta a eventos de otros servicios de Azure.
Mensajería de Azure Service Bus Úselo cuando necesite desacoplar aplicaciones y servicios.

Cómputo de CI/CD

El recurso de cálculo de CI/CD es el recurso que se utiliza para compilar e implementar tu aplicación.

Servicio Descripción
Azure DevOps Use Azure DevOps para una integración estrecha con la nube de Azure, incluida la autenticación y la autorización a los agentes hospedados, que compilan e implementan la aplicación.
Acciones de GitHub Use GitHub Actions para compilar e implementar sus aplicaciones de repositorio de GitHub. Use la CLI de Azure para acceder de forma segura a Azure dentro de la acción.
Máquinas Virtuales de Azure Si usa otro sistema de CI/CD, puede usar Azure Virtual Machines para hospedar el sistema de CI/CD.

Recursos de Java

Recursos adicionales