• 5 min read

Presentación de Azure Functions 2.0

Nos complace anunciar hoy la disponibilidad general de Azure Functions 2.0. Se trata de un enorme hito repleto de varias funcionalidades, todas las cuales están centradas en permitirle compilar aplicaciones sin servidor altamente escalables con una facilidad nunca antes vista.

Nos complace anunciar hoy la disponibilidad general de Azure Functions 2.0. Se trata de un enorme hito repleto de varias funcionalidades, todas las cuales están centradas en permitirle compilar aplicaciones sin servidor altamente escalables con una facilidad nunca antes vista.

Azure Functions 2.0 está listo para producción y es capaz de administrar las cargas de trabajo más exigentes, con el respaldo de nuestro Acuerdo de Nivel de Servicio del 99,95 %. Es muy recomendable empezar cualquier desarrollo nuevo en la versión 2.0 y que los clientes actualicen sus aplicaciones existentes de la versión 1.0 a la versión 2.0 para que así puedan experimentar todas las ventajas de esta nueva versión. Para obtener instrucciones específicas, consulte la guía de actualización a la versión 2.0.

¿Qué hay en esta versión?

Functions 2.0 promueve el producto en términos de la experiencia del usuario, las funcionalidades del desarrollador y la solidez de la plataforma. Los cambios más importantes se hicieron en el entorno de ejecución del host, que ahora es portátil, multiplataforma y más eficaz. Esto permite una amplia variedad de opciones para que pueda compilar y ejecutar sus aplicaciones.

Más plataformas, más opciones

Azure Functions ahora se puede ejecutar en más entornos, los que incluyen el entorno local en su máquina Mac o Linux. Combine esta funcionalidad con la fantástica integración con VS Code para tener una experiencia de desarrollo sin servidor inmejorable en cualquier plataforma. El entorno de ejecución también funciona perfectamente si se hospeda fuera del servicio Azure Functions y está disponible para ejecutarse en cualquier lugar. Revise la compatibilidad con Azure Functions en Kubernetes y Azure Functions en IoT Edge. Incluso existen más opciones de hospedaje, así es que no olvide revisar la sección "Pasos siguientes" que aparece a continuación para obtener más información.

Desencadenador HTTP

Optimizado para el código

Functions 2.0 tiene un rendimiento nunca antes visto, lo que en parte se debe a las mejoras generales en el host, a la compatibilidad con entornos de ejecución de lenguajes modernos y a la capacidad de ejecutar código desde un archivo de paquete.

Los desarrolladores de .NET ahora pueden crear funciones mediante .NET Core 2.1. Esto no solo brinda una ganancia de rendimiento importante, sino que también significa que el usuario puede desarrollar y ejecutar funciones .NET en más lugares. También se hicieron cambios importantes en cómo funciona la resolución de ensamblado, lo que da a las funciones sus propios contextos de carga. Lo que esto significa es que no debería encontrarse con tantos conflictos pero, si lo hace, la mitigación es más sencilla que nunca.

Los lenguajes que no son .NET ahora funcionan a partir de un modelo de trabajo de lenguaje y en la primera pila en la que se pueden obtener ventajas es JavaScript. Functions 2.0 ahora admiten Node 8 y Node 10, y los usuarios deberán esperar para ver un mejor rendimiento en general. El enfoque de trabajo permite una mejor iteración y compatibilidad de versiones, y es la forma en que vamos a habilitar nuevos lenguajes en el futuro (si quiere conocer más detalles sobre lo que viene, no se pierda la sección "Pasos siguientes" de esta publicación).

v1vsv2

Modelo de programación eficaz

Si migra del entorno de ejecución 1.0, uno de los mayores cambios que verá es que modificamos el funcionamiento de los enlaces y las integraciones. Ahora, a excepción de la compatibilidad con el temporizador y HTTP central, todos los enlaces se proporcionan como extensiones. Estos son solo paquetes sencillos que se pueden instalar con las herramientas de Functions y que siguen proporcionando el mismo modelo de programación excelente al que el usuario está acostumbrado. El cambio a paquetes de extensión desacoplados permite el control de versiones de los enlaces (y sus dependencias) por separado del entorno de ejecución central. Esto significa que tiene más control sobre la aplicación y cómo se ejecuta, especialmente porque los servicios de los que depende la aplicación siguen en evolución.

Azure siempre está agregando servicios nuevos y el modelo de paquete también nos permite integrarnos rápidamente con ellos. Un elemento que se agregó recientemente es el servicio Azure SignalR, un servicio completamente administrado que permite que el usuario se centre en crear experiencias web en tiempo real sin tener que preocuparse de la configuración, el hospedaje, el escalado ni el equilibro de carga del servidor SignalR. Azure Functions ahora tiene una extensión para este servicio, un enlace de código abierto que Microsoft Azure hospeda en este repositorio GitHub, y el usuario puede consulte la referencia de enlace del servicio SignalR Service en la documentación para empezar a compilar aplicaciones sin servidor en tiempo real hoy mismo.

Desarrollo más sencillo

Azure Functions tiene eficaces herramientas nativas en Visual Studio, VS Code, VS para Mac y una CLI que se pueden ejecutar junto con cualquier experiencia de edición de código. Si todavía no explora estas opciones, le recomendamos echarles un vistazo porque tendrán un impacto inmediato en su productividad.

Las aplicaciones sin servidor pueden implicar varios componentes distintos y rápidamente resultan difíciles de observar y supervisar. En Functions 2.0, expandimos nuestra integración con Azure Application Insights para brindar más visibilidad del seguimiento distribuido. Se hace un seguimiento automático de las dependencias y las conexiones entre recursos se correlacionan automáticamente en diversos servicios, de los cuales pronto habrá más. Todos estos se visualizan en el mapa de aplicación, lo que le permite comprender cómo interactúan los componentes y profundizar en las ejecuciones individuales para diagnosticas problemas.

FunctionsAppMap

Con Azure Functions 2.0, también invertimos en perfeccionar la experiencia de DevOps. El nuevo Centro de implementación incluye un paso en esta dirección, en el que se agregan opciones de compilación e implementación en una experiencia unificada. Puede acceder al Centro de implementación en "Características de la plataforma" de Function App y configurar de manera sencilla el origen que prefiera para que el código se implemente de inmediato en Functions.

Centro de implementación

Esta creciente atención en las experiencias de DevOps empieza con la creación de su primera función. La experiencia de introducción en Azure Portal ahora resalta las opciones de desarrollo e implementación y lo ayuda a configurar todo. Simplemente cree una nueva aplicación de función en el portal y se le guiará por todos los pasos necesarios para implementar su primera función 2.0.

Azure Functions

Pasos siguientes

También nos entusiasma brindar cierta visibilidad de nuestra hoja de ruta a corto plazo. Azure Functions 2.0 sienta las bases para varias innovaciones importantes y, a continuación, echamos un vistazo rápido a lo que viene próximamente en relación con las opciones de hospedaje y la compatibilidad con el lenguaje.

Linux sin servidor

Como parte de nuestro compromiso de expandir las pilas de desarrollo y las opciones de hospedaje para Azure Functions, invertimos en hospedaje de Linux sin servidor (con tecnología de Service Fabric Mesh), empezando con una versión preliminar del plan de consumo para Functions basado en Linux OS. Esto brinda a los desarrolladores centrados en Linux (y Mac) una ruta de acceso directa y natural al hospedaje en la plataforma con la mayor afinidad con su pila de desarrollo, mientras se aprovechan al máximo las ventajas sin servidor. Para ser de los primeros en probarlo y compartir sus comentarios, regístrese para obtener la versión preliminar de Linux.

Compatibilidad de Python

Estamos creando activamente compatibilidad con Python 3.6 con base en el entorno de ejecución de Functions 2.0, el nuevo modelo de trabajo de lenguaje, y la plataforma de hospedaje de Linux. Las funciones de Python son ideales para los escenarios de scripting, automatización, aprendizaje automático y manipulación de datos. La creación sin servidor de estos escenarios puede eliminar la carga de administrar la infraestructura subyacente para que pueda moverse más rápido y centrarse en solucionar problemas empresariales. Actualmente, esta funcionalidad está en versión preliminar privada. Lo invitamos a probarla y a que nos comparta sus comentarios.

¡Manténgase en contacto!

Con la enorme cantidad de lanzamientos actuales y los que se vienen, de verdad nos encantaría recibir sus comentarios. Puede comunicarse con el equipo en Twitter y en GitHub. Además, supervisamos activamente StackOverflow y UserVoice. No olvide comunicarse con nosotros e indicarnos qué característica de Functions 2.0 prefiere y, si asiste esta semana a Microsoft Ignite, pase a saludarnos en persona.