Introducción a Azure Functions
Azure Functions es una solución sin servidor que le permite escribir menos código, mantener menos infraestructura y ahorrar costos. En lugar de preocuparse por implementar y mantener servidores, la infraestructura en la nube proporciona todos los recursos actualizados necesarios para mantener las aplicaciones en ejecución.
Céntrese en el código que más le importa, en el lenguaje más productivo y Azure Functions se encarga del resto.
A menudo, se crean sistemas para que reaccionen a una serie de eventos críticos. Independientemente de si compila una API web, responde a cambios en una base de datos, procesa flujos de datos de IoT o incluso si administra colas de mensajes, cada aplicación necesita una forma de ejecutar código a medida que se producen estos eventos.
Para ello, Azure Functions ofrece "proceso a petición" de dos maneras significativas.
En primer lugar, Azure Functions permite implementar la lógica del sistema en bloques de código fácilmente disponibles. Estos bloques de código se denominan "funciones". Se pueden ejecutar distintas funciones cada vez que necesite responder a eventos críticos.
En segundo lugar, a medida que aumentan las solicitudes, Azure Functions satisface la demanda con tantos recursos e instancias de función como se necesiten, pero solo cuando sea necesario. A medida que disminuyan las solicitudes, todos los recursos e instancias de la aplicación adicionales se descartarán automáticamente.
¿De dónde proceden todos los recursos de proceso? Azure Functions proporciona tantos recursos de proceso como sea necesario para satisfacer la demanda de la aplicación.
Proporcionar recursos de proceso a petición es la esencia de la informática sin servidor en Azure Functions.
Escenarios
En muchos casos, una función se integra con una matriz de servicios en la nube para proporcionar implementaciones con numerosas características.
A continuación se incluye un conjunto de escenarios habituales de Azure Functions, si bien no están reflejadas todas las posibilidades.
Si desea... | entonces... |
---|---|
Crear una API web | Implemente un punto de conexión para las aplicaciones web mediante el desencadenador HTTP |
Procesar cargas de archivos | Ejecute código cuando se cargue o se cambie un archivo en el almacenamiento de blobs |
Compilar un flujo de trabajo sin servidor | Creación de un flujo de trabajo controlado por eventos a partir de una serie de funciones mediante Durable Functions |
Responder a cambios en una base de datos | Ejecute una lógica personalizada cuando se cree o actualice un documento en Azure Cosmos DB |
Ejecutar tareas programadas | Ejecución de código en intervalos de tiempo predefinidos |
Crear sistemas de cola de mensajes confiables | Procese colas de mensajes mediante Queue Storage, Service Bus o Event Hubs |
Analizar flujos de datos de IoT | Recopile y procese datos de dispositivos IoT |
Procesar datos en tiempo real | Use Functions y SignalR para responder a los datos en el momento. |
Estos escenarios permiten crear sistemas controlados por eventos mediante patrones arquitectónicos modernos.
Al compilar las funciones, dispone de las siguientes opciones y recursos:
Usar el lenguaje que prefiera: escriba funciones en C#, Java, JavaScript, PowerShell o Python, o use un controlador personalizado para usar prácticamente cualquier otro lenguaje.
Automatizar la implementación: desde un enfoque basado en herramientas hasta el uso de canalizaciones externas, dispone de una enorme cantidad de opciones de implementación.
Solucionar problemas de una función: use herramientas de supervisión y estrategias de pruebas para obtener información sobre las aplicaciones.
Opciones de precios flexibles: con el plan de Consumo, solo pagará mientras se ejecuten las funciones, mientras que los planes Premium y App Service ofrecen características para necesidades especializadas.