Mejora de Azure Functions para desarrolladores de Python y JavaScript

Publicado el 4 diciembre, 2018

Principal PM Manager, Azure Functions

Las tecnologías sin servidor permiten a los desarrolladores centrarse en la lógica de negocios que diferencia a sus aplicaciones en lugar de dedicarse a administrar la infraestructura. Después del anuncio de la disponibilidad general de Azure Functions 2.0, aprovechamos el nuevo entorno de ejecución host multiplataforma de Azure Functions para continuar atendiendo las necesidades de más desarrolladores, ofreciendo compatibilidad con más lenguajes y nuevas opciones de hospedaje para Azure Functions.

Hoy nos complace anunciar que la compatibilidad de Azure Functions con Python ya está disponible en versión preliminar pública y que puede publicar aplicaciones de función de Python en el nuevo plan Consumo para Linux y así disponer de una opción de hospedaje sin servidor de pago por ejecución. La opción de hospedaje Consumo para Linux está disponible también para aplicaciones de función de JavaScript. Con el fin de permitir a los desarrolladores de JavaScript organizar flujos de trabajo sin servidor mediante programación, anunciamos también la disponibilidad general de la extensión JavaScript Durable Functions de Azure Functions Runtime, que ya está lista para usarla en cargas de trabajo de producción. Si su solución es una API sin servidor, aproveche la funcionalidad de la plataforma para disponer de patrones de administración y diseño de API apropiados con el nuevo nivel Consumo de API Management. Con la ampliación constante de las características de Azure Functions, la reutilización de código en la comunidad puede resultar beneficiosa para la productividad, por lo que hemos creado Serverless Community Library para hospedar componentes de código abierto precompilados. Siga leyendo para conocer más detalles sobre estas nuevas características.

Hospede funciones en el nuevo plan Consumo para Linux (versión preliminar pública)

Azure Functions ofrece ahora hospedaje sin servidor para Linux en el plan Consumo, mientras que antes la implementación de soluciones en Linux solo se admitía en un plan de App Service. Con esta última versión, es posible implementar funciones para el sistema operativo Linux con escalado dinámico, gracias a una comprensión profunda de la actividad de eventos, y con la ventaja del modelo sin servidor de pago por ejecución. Los clientes que desarrollan soluciones en las plataformas Mac y Linux pueden cambiar sin problemas al hospedaje en Linux en la nube para evitar la traducción específica de la plataforma. El hospedaje en Linux implica también que las bibliotecas que solo están disponibles en Linux se puedan aprovechar ahora desde el código de una función.

Esta nueva opción de hospedaje también prepara el terreno para abstraer aún más los conceptos de infraestructura en el futuro, colocando aplicaciones de función en la plataforma con la máxima afinidad con el lenguaje de desarrollo. Por ejemplo, Python se hospedará en el nivel Consumo para Linux de forma predeterminada. Encontrará más información acerca del hospedaje en el nivel Consumo para Linux en la documentación.

Comience a desarrollar funciones con Python (versión preliminar pública)

¡Ya se pueden escribir funciones de Azure Functions con Python! Desde hoy, puede crear funciones con Python 3.6 (CPython) basado en Functions Runtime 2.0 y en una plataforma de hospedaje basada en Linux. Esto abre un amplio abanico de escenarios, incluidos el procesamiento de datos, las cargas de trabajo de aprendizaje automático y el scripting de automatización, que antes resultaban difíciles de implementar como soluciones sin servidor o FaaS.

El nuevo entorno de ejecución de Python comparte el modelo de programación exclusivo de Functions, que permite importar fácilmente sus scripts de Python y administrar todas las dependencias con el formato de requisitos estándar. Como siempre, la gran variedad de desencadenadores y enlaces le permitirán conectarse sin problemas a orígenes de datos y servicios de mensajería a escala de nube, como Azure Storage, Cosmos DB, Service Bus, Event Hubs y Event Grid, usando simplemente atributos de método para ello.

Ejemplo de código de Python

Como desarrollador de Python, puede compilar, depurar y probar sus funciones en el entorno local usando una máquina Mac, Linux o Windows. Con Azure Functions Core Tools (CLI), podrá comenzar a usar plantillas de desencadenador y a publicar directamente en Azure, mientras las herramientas se ocupan de administrar la configuración y la compilación por usted.

Pero lo más emocionante de todo es poder usar la extensión de Azure Functions para Visual Studio Code, con la que disfrutará de una experiencia de GUI perfectamente integrada que le ayudará a crear, depurar, administrar e implementar sus funciones, todo desde el propio editor de código. Combine todo esto con la extensión de creación de Python para VS Code y disfrutará de una experiencia única de desarrollo sin servidor para Python, ¡en cualquier plataforma!

Extensión de creación de Python para VScode

Para comenzar, siga este tutorial para crear y publicar su primera función de Python sin servidor. También vamos a celebrar un seminario web donde veremos paso a paso la experiencia de desarrollo de Azure Functions con Python y los escenarios que ahora son posibles. No olvide registrarse hoy mismo.

Esta característica está ahora en versión preliminar, así que le invitamos a seguir la conversación en GitHub para compartir sus comentarios y obtener más información sobre las próximas mejoras y características.

Organice los flujos de trabajo sin servidor de JavaScript con Durable Functions (disponible con carácter general)

Organice sus flujos de trabajo sin servidor mediante programación usando la extensión Durable Functions de Azure Functions Runtime, que ya admite con carácter general el uso de JavaScript para cargas de trabajo de producción. Con Durable Functions, los desarrolladores pueden simplificar problemas complejos de coordinación con estado en aplicaciones sin servidor, definiendo los flujos de trabajo en el código en lugar de usar esquemas de JSON o un diseñador visual. Con esta versión, se habilitan nuevos escenarios para los desarrolladores de Node.js y JavaScript representando patrones de desarrollo, como el encadenamiento de funciones, la distribución ramificada de entrada y de salida (sigue un ejemplo) o la interacción con personas. Siga esta guía de inicio rápido para comenzar y cree cargas de trabajo con estado usando JavaScript con Durable Functions.

Cargas de trabajo con estado usando JavaScript con Durable Functions

Administre API sin servidor con API Management

Una situación habitual entre nuestros clientes es la creación de API sin servidor con Azure Functions como base para los puntos de conexión, aprovechando el uso de desencadenadores HTTP o controlados por eventos y una integración más sencilla con los servicios de datos y mensajería mediante enlaces. Cuando se crean API, hay una gran número de aspectos que deben tenerse en cuenta, como la autenticación y autorización de solicitudes, la imposición de cuotas y límites de frecuencia, la transformación de solicitudes y respuestas, el registro y el seguimiento, o la administración de versiones.

Azure API Management puede controlar todas estas tareas que conlleva la mediación de solicitudes de API, pero, hasta ahora, tenía costos fijos que no coincidían con el modelo de pago por ejecución que tanto gusta a los clientes de Azure Functions para sus soluciones.

Desde hoy, puede elegir el nuevo nivel Consumo cuando cree una instancia nueva de API Management. Este nuevo nivel es básicamente una variante de API Management diseñada e implementada en torno a los principios de la informática sin servidor de pago por solicitud y escalabilidad automática. Encontrará más información acerca del nuevo nivel Consumo en esta entrada de blog para comenzar a disfrutar de las ventajas de API Management para su back-end sin servidor basado en Azure Functions.

Desarrolle soluciones con Serverless Community Library

Serverless Community Library es un conjunto de componentes de código abierto precompilados basados en casos de uso comunes de Azure Functions y Logic Apps. Estos ejemplos ya están compilados y listos para implementarlos en la suscripción de Azure que se desee, de modo que los desarrolladores pueden conectar mediante Plug-and-Play y usar esos componentes precompilados sin necesidad de configurarlos, lo que ahorra tiempo de programación y aumenta la productividad. Consulte los ejemplos disponibles, como el control de pagos con Stripe o la incorporación de inteligencia con Cognitive Services, en Serverless Community Library y aporte sus propios componentes en GitHub.

Serverless Library

Resumen

No deje de probar estas nuevas características y díganos su opinión. Nos encantaría conocer sus ideas para nuevas características de Azure Functions en la sección de UserVoice para Functions. Atendemos con gusto los problemas de Azure Functions recogidos en el repositorio de Azure Functions en GitHub y siempre puede ponerse en contacto con el equipo de Azure Functions en Twitter: @AzureFunctions.