Since two years Microsoft is working to create Serverless services in Azure by building and releasing quickly Azure Logic Apps, Azure Function and Azure Event Grid. Let’s do a recap of main serverless announcements of MSBuild 2018!
Runtime and languages
It exists actually two Azure Function runtimes:
- V1: Based on .net Framework (runs only on Windows)
- V2: Based on .net Core, cross Platform. This version is actually in Preview
Python is now available in the V2 runtime. The Python language can be really useful for machine learning scenarios. It can be used for example to treat cognitive services api outputs easily, besides Azure Function running Python code can be containerized and run in IOT devices for IOT edges scenarios.
Durable Azure Function
Native integration with Application Insight
When creating a new Azure Function App, an Azure Application Insight instance is automatically created and all functions telemetry will be sent into this instance. For existing functions, the old monitor paned can be still used but it’s now possible to link an Application Insight instance the Azure Function App.
The monitor pane of the functions shows now telemetry coming from Application Insight:
A feature like live streaming helps to visualize in real time how functions are scaling and runtime exceptions. It’s also possible to use the application insight portal to query in a SQL like way logs produced by functions:
Availability of Azure App Service Diagnostics
Some weeks ago, Microsoft release a smart bot to diagnose easily Azure App Services issues. It’s now available to monitor Azure Function.
It can be used from the « platform features » pane on the Azure Function view:
Azure Event Grid
Availibity on new regions
Event Grid is now available in following new regions:
- Australia (East and South East)
- Japan (East and West)
Support for custom schema (input mapping)
When working with Event Grid some application can publish events which do not match one of the target Event Grid schema. It’s now possible to map a custom schema with a target schema waited by Event Grid. This feature is now in preview and the « eventgrid » extension for Az CLI 2.0 must be installed to be able to use it.
New manual endpoint validation
Some third party services can’t easily post a validation code to event grid to validate the subscription. To insure that all applications can validate their Event Grid subscription a manual GET validation endpoint is now available. This validation URL is a part of event data as the validation code. Like the « Input binding » feature, it’s now in preview and the « eventgrid » extension for Az CLI 2.0 must be installed to be able to use it.
New event producers and handlers
Azure Media Service can now produce a « JobState » event and 2 new handlers are available:
- Azure Storage Queue
- Azure Relay Hybrid connection: it allows to open a web socket to receive the event. Target applications are applications behind a firewall who can’t expose a public endpoint to consume the event.
Management and client Sdk in Java are now available in beta version.
Support for CloudEvents
Event-driven architecture is becoming more and more popular and Microsoft provide an integration between its serverless and messaging services. To improve interoperability between cloud providers, Event Grid supports now CloudEvents. CloudEvents is an open specification which define standard to describe event data. That means that Event Grid can consume and publish messages using CloudEvents standard. CloudEvents is an initiative of the CNCF (Cloud Native Computing Foundation), it’s a cloud software foundation focusing on making cloud native computing universal.
Serverless services integration with Azure Services
Microsoft wants to make its serverless services usage as easy as possible, in that way it improves integration with other Azure Services like Azure Storage. The goal is to easily link Azure Services with Serverless services with almost no configuration. The first integration was made in the storage account service where we can now create event subscriptions or link a storage account to a logic app or an Azure Function with few clicks:
Happy serverless coding in Azure 🙂