Si alguna vez escuchaste serverless y pensaste que era solo marketing, entendible. El nombre confunde porque los servidores siguen existiendo, simplemente dejás de encargarte de ellos. Azure Functions es el servicio serverless de Microsoft y en 2026 es uno de los más usados para construir backends event-driven, APIs livianas, pipelines de datos y, cada vez más, herramientas para agentes de IA.
Qué resuelve Azure Functions
El modelo tradicional para desplegar código en la nube implica provisionar un servidor o contenedor, configurarlo, mantenerlo activo aunque no haya tráfico, y pagar por ese tiempo aunque esté idle. Funciona bien para aplicaciones con tráfico constante, pero es ineficiente para tareas que se ejecutan cuando pasa algo: llega un archivo, alguien hace un request HTTP, se cumple un horario, llega un mensaje a una cola.
Azure Functions invierte ese modelo. Escribís el código, definís qué lo dispara, y Azure se encarga de ejecutarlo cuando eso pasa. No pagás cuando no corre. No configurás servidores. No pensás en escalado porque el servicio escala solo en respuesta a la demanda.
El modelo tiene un nombre técnico más preciso: Functions as a Service (FaaS). Serverless es el paraguas más amplio, pero FaaS es lo que Azure Functions implementa concretamente.
Lenguajes soportados
Azure Functions soporta C#, Java, JavaScript, TypeScript, Python y PowerShell de forma oficial. También tiene soporte para Go y Rust, aunque con menos integración nativa. Si venís del mundo web y trabajás con JavaScript o TypeScript, podés empezar con lo que ya sabés.
Ahora, los dos conceptos que tenés que entender bien
Antes de escribir una sola línea de código, hay que tener claros dos conceptos que van a aparecer en toda la documentación.
Los triggers son los eventos que hacen correr tu función. Una función tiene exactamente un trigger. Algunos ejemplos: un request HTTP llega a una URL, se cumple un horario definido, llega un mensaje a una cola de Azure Storage, se sube un archivo a un blob container, o llega un evento de Azure Event Grid o Event Hubs.
Los bindings son declaraciones que conectan tu función con otros servicios de Azure sin que tengas que escribir el código de esa conexión a mano. Hay bindings de entrada para leer datos y de salida para escribir datos. Un ejemplo concreto: tenés una función que se dispara cuando llega un archivo a Blob Storage, lee ese archivo, lo procesa, y escribe el resultado en una tabla de Cosmos DB. En lugar de escribir el SDK de Blob y el SDK de Cosmos DB dentro de la función, declarás esas conexiones como bindings y Azure se encarga de la autenticación y la inyección de los datos.
const { app } = require("@azure/functions");
app.http("miPrimeraFuncion", {
methods: ["GET", "POST"],
authLevel: "anonymous",
handler: async (request, context) => {
context.log("Función ejecutada");
const nombre = request.query.get("nombre") || "mundo";
return { body: `Hola, ${nombre}` };
},
});
HTTP trigger básico en JavaScript usando el nuevo modelo de programación de Azure Functions.
Los planes de hosting y cuál elegir hoy
Esta es la parte donde más gente se pierde porque la documentación lista muchas opciones y no siempre queda claro cuándo usar cada una. En 2026, Microsoft recomienda explícitamente el Flex Consumption plan para nuevos proyectos serverless.
Si encontrás documentación que habla del in-process model de .NET como si fuera la opción vigente, ese material está desactualizado. El modelo in-process está programado para retirarse en noviembre de 2026. El modelo correcto hoy es el isolated worker model.
| Plan | Características principales |
|---|---|
| Consumption | Free grant de 1M de ejecuciones y 400k GB-s por mes. Sin VNet, límite de 10 min, cold starts de 2-7s en .NET aislado. Retiro del plan Linux en septiembre de 2028 |
| Flex Consumption | Recomendado para nuevos proyectos. Cold starts más rápidos, integración con VNet, escalado por función individual, concurrencia configurable. Free grant de 250k ejecuciones y 100k GB-s por mes. SLA 99.95% |
| Premium | Elimina cold starts con instancias pre-calentadas. Mínimo ~146 USD/mes. Justificable solo si los cold starts afectan la experiencia de usuarios reales |
| Dedicated | Corre en un App Service existente. Tiene sentido si ya tenés infraestructura pagada, pero pierde gran parte del valor de serverless |
Durable Functions para cuando una ejecución no alcanza
Azure Functions tiene un límite de tiempo de ejecución. Si necesitás orquestar un flujo de trabajo más largo, como procesar miles de archivos en secuencia, coordinar múltiples llamadas a APIs externas, o manejar aprobaciones que pueden tardar horas, existe Durable Functions.
Durable Functions es una extensión que permite escribir workflows con estado en un entorno serverless. El runtime maneja checkpoints, reintentos y recuperación automáticamente. Si una instancia falla en el medio de un workflow, el sistema retoma desde donde estaba.
import azure.durable_functions as df
def orchestrator_function(context: df.DurableOrchestrationContext):
resultado1 = yield context.call_activity("ProcesarDatos", "input1")
resultado2 = yield context.call_activity("EnviarEmail", resultado1)
return resultado2
main = df.Orchestrator.create(orchestrator_function)
Orquestación básica con Durable Functions en Python.
Azure Functions y agentes de IA en 2026
Una tendencia en 2026 es usar Azure Functions como infraestructura serverless para agentes de IA. El soporte para servidores MCP (Model Context Protocol) alcanzó disponibilidad general con autenticación OBO (On-Behalf-Of), lo que permite que agentes de IA accedan a herramientas y datos externos de forma segura usando identidades de Microsoft Entra ID.
En términos prácticos, esto significa que podés deployar un servidor MCP en Azure Functions y que agentes de GitHub Copilot, Microsoft 365 Copilot u otros clientes compatibles puedan invocar las herramientas que exponés, con autenticación empresarial incluida y sin gestionar infraestructura propia.
"La curva de entrada de Azure Functions es más suave de lo que parece. Si sabés escribir una función en cualquier lenguaje y entendés qué es un evento, ya tenés lo necesario para empezar."
- Carlos José Castro Galante
Para cerrar
La cuenta gratuita de Azure incluye créditos y el free grant del Consumption plan cubre ampliamente el uso de aprendizaje. Para el Flex Consumption plan, las primeras 250,000 ejecuciones del mes no tienen costo.

