El despliegue serverless se ha vuelto una opción popular en muchos entornos cloud. Cada proveedor cuenta con varios servicios que conforman su oferta serverless, y Microsoft Azure no es la excepción.
En este blog repasamos los principales servicios serverless, entre ellos Azure Functions, Azure Logic Apps, Azure Event Grid, Azure Event Hubs, Azure Container Apps y Azure Cosmos DB.
Además, analizamos distintos marcos arquitectónicos y casos de uso, como el procesamiento de pedidos y las soluciones orientadas a eventos.
También se destacan las mejores prácticas para desplegar aplicaciones serverless en Azure, junto con las herramientas que facilitan el despliegue y las técnicas de optimización de costos para cada servicio.
Empecemos.
Introducción a la computación serverless en Azure
¿Qué es la arquitectura serverless?
El término "serverless" no implica que los servidores desaparezcan; se refiere a un modelo en el que los desarrolladores se concentran en escribir código en lugar de administrar la infraestructura subyacente que lo ejecuta. Bajo este enfoque, el proveedor cloud asume el aprovisionamiento, el escalado y la gestión automática de la infraestructura necesaria para que el código se ejecute correctamente.
El término "Serverless" engloba dos significados distintos: Backend as a Service (BaaS) y Functions as a Service (FaaS). Sin embargo, ambos comparten un principio común: ni los desarrolladores ni los ingenieros de DevOps tienen que desplegar, configurar ni administrar servidores.
- BaaS hace referencia a servicios cloud que aportan funcionalidades de backend, como bases de datos y almacenamiento. Estos servicios exponen APIs que permiten a las aplicaciones conectarse directamente con ellos.
- FaaS es un modelo en el que una función es un fragmento de código que se ejecuta dentro del entorno de hosting del proveedor cloud. Este modelo abstrae el código y los servidores subyacentes que ejecutan la función.
El siguiente diagrama ilustra la arquitectura en Azure de una aplicación diseñada para servir contenido estático mediante Azure Blob Storage e integrar una API a través de Azure Functions. Esta API recupera datos de Azure Cosmos DB y devuelve los resultados a la aplicación web.
Este ejemplo muestra los dos significados de BaaS y FaaS dentro de Azure: FaaS se materializa con Azure Functions y Azure Blob Storage funciona como ejemplo de BaaS.

https://learn.microsoft.com/en-us/azure/architecture/web-apps/serverless/architectures/web-app
Serverless tiene características con ventajas y desventajas. Entre las ventajas están:
- Costo — Solo pagas por los recursos que usas, sin cargos por recursos inactivos como servidores web o de middleware, y se reduce la pérdida en horas de baja actividad. Si conoces tus patrones de acceso, puedes ahorrar aún más comprando capacidad reservada.
- Menos mantenimiento — Como el proveedor cloud se encarga de la complejidad de administrar los servidores, los desarrolladores pueden concentrarse en construir la aplicación y sus funcionalidades.
- Escalabilidad — Los componentes serverless escalan automáticamente para responder a patrones de tráfico impredecibles o variables.
- Soporte — Hay una gran comunidad de soporte y la mayoría de los proveedores cloud ofrecen servicios que se integran o se apoyan en componentes serverless.
Algunas desventajas de la computación serverless:
- Rendimiento — Pueden surgir problemas de rendimiento en distintos puntos de una arquitectura serverless desacoplada, lo que dificulta identificar qué API o componente está provocando la lentitud. Además, si una función no se ha utilizado por un tiempo, puede sufrir un cold start. El cold start ocurre porque el proveedor debe asignar recursos para que la función se ejecute, lo cual demora unos instantes adicionales y se traduce en lentitud para la aplicación.
- Vendor lock-in — Por lo general, los servicios serverless son propietarios del proveedor, lo que vuelve compleja y costosa la migración fuera de la plataforma.
- Control limitado — el cliente puede toparse con limitaciones porque no controla la infraestructura subyacente. Si la aplicación depende de configuraciones de entorno específicas, podría no funcionar correctamente con serverless. Además, suele haber restricciones de tiempo de ejecución, número máximo de funciones y lenguajes de programación soportados.
- Seguridad — Como el proveedor es responsable del sistema operativo y la infraestructura subyacente del servicio serverless, la seguridad depende en gran medida de las medidas que él aplique. Esto puede generar vulnerabilidades, ya que cada función puede convertirse en un vector de ataque.
¿Por qué elegir Azure para serverless?
Si bien muchos proveedores de nube pública ofrecen marcos de arquitectura serverless, Azure se destaca por varias razones:
- Soporte para una mayor variedad de lenguajes: Azure admite un conjunto diverso de lenguajes de programación, lo que permite a los desarrolladores trabajar en sus entornos preferidos.
- Capacidades de depuración local: con herramientas como Visual Studio, Azure ofrece funciones que mejoran la productividad al facilitar la depuración local.
- Ecosistema integral: Azure permite crear soluciones serverless completas tanto para front-end como para backend, con servicios que trabajan en conjunto de forma eficaz y eficiente. También facilita el desarrollo de aplicaciones innovadoras que integran sin esfuerzo servicios de machine learning e IA.
Estas ventajas convierten a Azure en una opción muy atractiva para arquitecturas serverless.
Servicios serverless populares de Azure

Azure Functions
Azure Functions
Azure Functions cumple el rol de la lógica de backend en aplicaciones serverless y constituye la base de Functions as a Service (FaaS). Ofrece escalabilidad y soporta una arquitectura orientada a eventos. Además, las funciones pueden invocar servicios externos —como procesadores de pago de terceros— para completar transacciones.
Incluye una amplia variedad de triggers y bindings orientados a eventos que conectan las funciones con otros servicios sin esfuerzo, eliminando la necesidad de código adicional.
El siguiente resumen describe el propósito y algunos casos de uso de Azure Functions:

https://learn.microsoft.com/en-us/azure/azure-functions/functions-overview
Azure Functions soporta varios lenguajes, lo que lo vuelve un recurso atractivo para la computación serverless. Los lenguajes soportados son los siguientes:

Azure Durable Functions amplía las capacidades de Azure Functions y te permite crear flujos de trabajo con estado y lógica de coordinación mediante un patrón orquestador. Esta extensión ayuda a desarrollar aplicaciones serverless de larga duración, escalables y confiables.
Técnicas de optimización de costos:
- Elige el Plan de Consumo para workloads orientados a eventos. Más información.
- Optimiza la asignación de memoria para reducir la facturación por GB-segundos. Mejores prácticas.
- Usa Durable Functions con criterio para evitar ejecuciones excesivas. Lee sobre Durable Functions.
- Plan Premium de Azure Functions: úsalo para workloads de alto rendimiento predecibles. Conoce los costos del Plan Premium.

Azure Logic Apps
Azure Logic Apps
Azure Logic Apps es una sólida solución de orquestación serverless pensada para desarrollar y administrar workloads complejos. Como plataforma de integración como servicio (iPaaS) en la nube de Microsoft, automatiza sin fricciones flujos de trabajo que conectan una gran variedad de servicios y aplicaciones.
Esta potente herramienta agiliza el proceso de integración: las organizaciones ganan eficiencia operativa, reducen las intervenciones manuales y responden con mayor rapidez a las nuevas necesidades del negocio.
Con plantillas y conectores predefinidos, los usuarios pueden crear rápidamente flujos de trabajo sofisticados que integran sistemas dispares, fomentando la innovación y la productividad general.
Estas son algunas características clave de Azure Logic Apps que la vuelven una opción a considerar para orquestar flujos de trabajo:
- Diseñador visual para crear procesos de negocio o flujos de trabajo automatizados
- Más de 1.400 conectores prediseñados con triggers y acciones
- Enfoque Low-Code/No-Code
- Alojado en Microsoft Azure, que se ocupa del hosting, escalado, gestión, monitoreo y mantenimiento de las soluciones construidas con estos servicios.
Combinar servicios es muy común en la computación serverless. Por ejemplo, puedes invocar funciones desde flujos de Logic Apps e invocar flujos de Logic Apps desde funciones. La siguiente tabla muestra algunas diferencias clave entre Azure Functions y Azure Logic Apps.

https://learn.microsoft.com/en-us/azure/azure-functions/functions-compare-logic-apps-ms-flow-webjobs
Técnicas de optimización de costos:
- Selecciona el Plan Estándar para precios predecibles. Compara los modelos de precios.
- Optimiza el diseño de los flujos de trabajo para minimizar acciones innecesarias. Patrones de diseño de Logic Apps.
- Implementa procesamiento por lotes para reducir el costo por acción. Estrategias de procesamiento.
- Conectores personalizados de Azure Logic Apps: reduce la frecuencia de llamadas a la API para bajar los costos de ejecución. Mejores prácticas.

Azure Event Grid
Azure Event Grid
Azure Event Grid es un servicio diseñado para agilizar el desarrollo de aplicaciones orientadas a eventos. Enruta eventos desde diversos servicios de Azure y fuentes personalizadas hacia suscriptores como Azure Functions, Logic Apps, webhooks o cualquier endpoint HTTP.
Es un servicio escalable y totalmente administrado que opera bajo el modelo publicar/suscribir (Pub/Sub) y soporta los protocolos MQTT v3.1.1 y v5.0, además de HTTP, lo que facilita la creación de pipelines de datos, integraciones de aplicaciones y arquitecturas serverless orientadas a eventos. También permite publicar y suscribirse a mensajes en soluciones de Internet de las Cosas (IoT), con métodos de entrega tanto push como pull.
Adicionalmente, Event Grid cumple con la especificación CloudEvents 1.0, lo que mejora la interoperabilidad entre distintos sistemas.
A continuación se muestra un diagrama general de Azure Event Grid.

https://learn.microsoft.com/en-us/azure/event-grid/overview
Las dos características principales de Azure Event Grid son:
- Mensajería MQTT: permite que dispositivos y aplicaciones IoT se comuniquen entre sí mediante MQTT. Event Grid puede aprovechar MQTT para enviar mensajes a servicios de Azure o endpoints personalizados con fines de análisis, visualización o almacenamiento.

Mensajería MQTT https://learn.microsoft.com/en-us/azure/event-grid/overview
- Distribución de datos con modos de entrega push y pull — En cualquier punto del pipeline de datos, las aplicaciones HTTP pueden consumir mensajes mediante APIs push o pull.

Mensajería de eventos https://learn.microsoft.com/en-us/azure/event-grid/overview
Técnicas de optimización de costos:
- Usa el Nivel Básico para enrutamiento de eventos a menor costo. Ver precios.
- Filtra los eventos antes de que lleguen a los suscriptores para reducir la sobrecarga de procesamiento. Guía de filtrado de eventos.
- Monitorea los intentos de entrega de eventos para evitar reintentos excesivos. Mejores prácticas de confiabilidad.

Azure Event Hubs
Azure Event Hubs
Azure Event Hubs es un servicio totalmente administrado de ingesta de datos en tiempo real que ofrece simplicidad, seguridad y escalabilidad. Soporta protocolos populares como AMQP, HTTPS y Apache Kafka, y puede ingerir millones de eventos por segundo.
Su capacidad de ingerir millones de eventos por segundo y analizar datos en tiempo real resulta especialmente útil en aplicaciones que requieren insights inmediatos y reaccionar ante patrones de datos cambiantes, lo que lo vuelve un componente esencial en arquitecturas modernas en la nube.
La integración con otros servicios de Azure es transparente, y permite obtener insights valiosos sobre los datos, e incluso microbatching sobre el mismo stream.
Azure Event Hubs habilita la creación de una solución de streaming serverless integral que se integra de forma fluida con Stream Analytics.
Algunos de los casos de uso descritos en la documentación de Azure son:
- Procesar datos de tu event hub con Azure Stream Analytics para generar insights en tiempo real.
- Analizar y explorar datos de streaming con Azure Data Explorer.
- Crear tus propias aplicaciones, funciones o microservicios nativos de la nube que se ejecuten sobre datos en streaming de Event Hubs.
- Transmitir eventos con validación de esquema usando el Azure Schema Registry integrado para asegurar la calidad y compatibilidad de los datos en streaming.

Arquitectura de Event Hub https://learn.microsoft.com/en-us/azure/event-hubs/event-hubs-about
Técnicas de optimización de costos:
- Elige el Nivel Básico para ingesta de telemetría ligera. Detalles de precios.
- Optimiza las Throughput Units (TUs) según la demanda. Guía de eficiencia de costos.
- Implementa auto-escalado para evitar el sobreaprovisionamiento. Recomendaciones de escalado.

Azure Container Apps
Azure Container Apps
Azure ofrece dos servicios clave para trabajar con contenedores: Azure Container Apps (ACA) y Azure Kubernetes Service (AKS). Aunque nuestro foco principal será Azure Container Apps, conviene entender las diferencias y saber cuándo elegir cada opción.
ACA propone una solución única "centrada en la app", ideal para desarrolladores que prefieren concentrarse en construir aplicaciones en lugar de lidiar con la complejidad de la orquestación de contenedores. Su arquitectura orientada a eventos, sumada a la capacidad de escalar las aplicaciones hasta cero, la vuelve una opción especialmente rentable.
Por su parte, Azure Kubernetes Service suele verse como una opción "centrada en el clúster", con más control y flexibilidad. Está pensado para aplicaciones complejas que requieren personalizaciones específicas, sobre todo en equipos con experiencia en Kubernetes.
Si necesitas más orientación para simplificar tu despliegue con AKS, no dudes en contactar a DoiT.
Azure Container Apps se posiciona como una plataforma serverless avanzada, pensada para que las aplicaciones en contenedores funcionen de forma fluida y eficiente. Al quitar de en medio la gestión de servidores, este servicio le permite a los desarrolladores concentrarse en crear y desplegar sus aplicaciones sin preocuparse por la infraestructura.
La plataforma simplifica la orquestación y el despliegue de contenedores, y permite gestionar configuraciones, escalar operaciones y asignar recursos sin complicaciones. Con funcionalidades como escalado automático según la demanda, capacidades de red integradas y herramientas de monitoreo incorporadas, Azure Container Apps brinda a las empresas la flexibilidad necesaria para adaptarse rápidamente a las condiciones cambiantes del mercado.
Apoyarse en esta plataforma también permite acelerar los ciclos de innovación y mantener una alta eficiencia operativa en un entorno cloud dinámico. Así, las empresas pueden aprovechar nuevas oportunidades con mayor agilidad, optimizar el uso de recursos y mejorar el rendimiento general de sus aplicaciones.
Algunos casos de uso habituales de Azure Container Apps:
- Desplegar endpoints de API
- Hospedar tareas de procesamiento en segundo plano
- Procesamiento orientado a eventos
- Ejecutar microservicios
Una ventaja de construir aplicaciones sobre Azure Container Apps es la posibilidad de escalar según los siguientes criterios:
- Tráfico HTTP
- Procesamiento orientado a eventos
- Carga de CPU o memoria
- Cualquier scaler compatible con KEDA

Ejemplos de Azure Container Apps: https://learn.microsoft.com/en-us/azure/container-apps/overview
Técnicas de optimización de costos:
- Usa el Plan de Consumo para precios de pago por uso. Más información.
- Configura scale-to-zero para workloads inactivos. Estrategias de escalado.
- Optimiza la asignación de réplicas para equilibrar costo y rendimiento. Gestión de recursos en Container Apps.

Azure Cosmos DB
Azure Cosmos DB
Azure Cosmos DB es un servicio de base de datos avanzado y totalmente administrado que soporta varios modelos de datos, incluidos NoSQL, relacional y bases de datos vectoriales. Esta plataforma flexible está diseñada para entregar tiempos de respuesta excepcionales —generalmente en milisegundos de un solo dígito— y garantizar una experiencia de alto rendimiento. Su arquitectura escala con facilidad sin sacrificar el rendimiento, sin importar el tamaño o la demanda del sistema.
Además, Azure Cosmos DB asegura una sólida continuidad del negocio con un Acuerdo de Nivel de Servicio (SLA) que garantiza tiempo de actividad e incluye medidas integrales de seguridad de nivel empresarial para proteger datos sensibles y cumplir con los requisitos regulatorios.
Azure Cosmos DB es un servicio totalmente administrado que automatiza tareas como la gestión, las actualizaciones y la aplicación de parches. Ofrece opciones serverless rentables para gestionar la capacidad, con escalado automático que se adapta a las necesidades de la aplicación, asegurando que la capacidad acompañe a la demanda.
Con su alta disponibilidad garantizada, su throughput, su baja latencia y su consistencia ajustable, Azure Cosmos DB es ideal para distintos tipos de aplicaciones: IA, retail y marketing, IoT y telemática, gaming y personalización para plataformas sociales.
Las aplicaciones que se enumeran a continuación funcionan especialmente bien con Azure Cosmos DB, ya que pueden integrarse y aprovechar de forma efectiva las capacidades avanzadas de esta plataforma, lo que se traduce en mejor rendimiento y escalabilidad en distintos escenarios.
- Esquema flexible para desarrollo iterativo. Las aplicaciones suelen buscar prácticas de DevOps flexibles y modernas para acelerar los plazos de despliegue de funcionalidades.
- Workloads sensibles a la latencia. Hablamos de workloads como la gestión de estado de dispositivos IoT y telemetría, que requieren manejar grandes volúmenes de datos de forma eficiente.
- Workloads altamente elásticos. Un ejemplo es una plataforma de reserva de conciertos, que debe adaptarse a una demanda fluctuante.
- Workloads de alto throughput. Workloads como la gestión de estado de dispositivos IoT y telemetría, que requieren manejar grandes volúmenes de datos de forma eficiente.
- Workloads de misión crítica con alta disponibilidad. Las aplicaciones web de cara al cliente son un caso paradigmático: deben mantenerse disponibles y confiables para atender a los usuarios.
Las siguientes aplicaciones no se consideran apropiadas para Azure Cosmos DB:
- Workloads analíticos (OLAP), que abarcan análisis interactivos, de streaming y por lotes orientados a Data Scientists y Data Analysts. Microsoft Fabric puede ser una alternativa interesante.
- Aplicaciones altamente relacionales, como soluciones de CRM white-label. En estos casos, conviene evaluar Azure SQL, Azure Database for MySQL o Azure Database for PostgreSQL.
Técnicas de optimización de costos:
- Usa el Modo Serverless para workloads poco frecuentes. Detalles de precios.
- Optimiza las estrategias de indexación para minimizar el consumo de unidades de recursos (RU). Mejores prácticas de indexación.
- Implementa la replicación multi-región de forma estratégica para reducir los costos de transferencia. Gestión de costos de replicación.
- Si Azure Cosmos DB se ajusta a tus necesidades, puedes obtener descuentos significativos de hasta el 63% mediante la opción de Capacidad Reservada.
También están disponibles las siguientes opciones gratuitas:
- El nivel gratuito de por vida de Azure Cosmos DB ofrece 1.000 Request Units RU/s de throughput y 25 GB de almacenamiento sin costo.
- Azure AI Advantage ofrece 40.000 RU/s de throughput durante noventa días (equivalente a hasta $6.000) a clientes de Azure AI o GitHub Copilot.
- Prueba Azure Cosmos DB gratis durante treinta días sin necesidad de crear una cuenta de Azure; sin compromiso al finalizar el período de prueba.
Conclusión:
En resumen, el modelo de computación serverless de Azure ofrece una solución sólida para los desarrolladores que buscan simplificar el desarrollo de aplicaciones y reducir los desafíos de la gestión de infraestructura. Apoyándose en servicios como Azure Functions, Azure Logic Apps y Azure Cosmos DB, las organizaciones pueden construir aplicaciones escalables y orientadas a eventos que se adaptan rápidamente a las nuevas necesidades de los usuarios.
Si bien Azure aporta beneficios como ahorro de costos, menor mantenimiento, escalabilidad y una sólida comunidad de soporte, conviene tener presentes los desafíos potenciales: problemas de rendimiento, vendor lock-in, control limitado y riesgos de seguridad.
En última instancia, la amplia oferta serverless de Azure permite a los desarrolladores enfocarse en innovar y construir nuevas funcionalidades en lugar de administrar infraestructura, lo que convierte a Azure en una opción atractiva para las empresas que quieren sacar partido del cloud computing. A medida que más organizaciones avanzan en su transformación digital, serverless en Azure ofrece un enfoque visionario para construir aplicaciones resilientes y eficientes que se adapten con facilidad a las necesidades futuras.
Saca el máximo provecho a tu plataforma Azure: agenda hoy mismo una demo y una llamada con nuestro equipo dedicado para descubrir cómo DoiT Cloud Intelligence puede llevar tu experiencia al siguiente nivel y generar resultados.