Microsoft has released Azure Functions, a competitor to AWS Lambda, providing a way for you to create functions for the cloud without having to set up or manage the underlying infrastructure.


Azure Functions is a new service that you can use to set up functions that are activated when specific events happen. The event might be an HTTP request, an event from a queue, timer or SQL trigger – any event from another service can trigger a function. With HTTP support, Functions can react to events emitted in virtually any SaaS products that support Web Hooks.

You can write the functions in a range of languages including JavaScript, C#, Python, and PHP, as well as scripting options such as Bash, Batch, and PowerShell. You can set up the functions to run either on a trigger or on a schedule, defining the conditions for execution using Azure Functions browser-based user interface.

Azure Functions is built on the Azure WebJobs SDK, which has been around for a couple of years and provides a way to build backend processing jobs that trigger on a wide variety of event sources. The WebJobs SDK is set up for use by .NET C# code, so Azure Functions was started as a way to have a model that could be used from other languages. It uses the .NET WebJobs SDK runtime, layering on a new JSON description model for the metadata.


The other part of the development was the addition of support for WebHook requests. The Functions Runtime is packaged as a site extension that runs in root of a WebApp, so that it can expose a simple set of authenticated endpoints for WebHook functions. The developers also integrated the ASP.NET WebHooks library, so that the service can make use of WebHook providers supported by the library, enabling support for providers like GitHub, Slack, DropBox and Instagram. Changes in Azure Storage Blob containers, changes to Azure Queues, messages from Service Bus, and HTTP triggers have also been implemented to support it.

Azure Functions offers an alternative to Amazon Web Services Lambda, IBM BlueMix OpenWhisk and also to Google Cloud Functions (currently in private beta). The main advantage offered by all the options is that they provide a way for you to create functions for the cloud without you having to set up or manage the underlying infrastructure, i.e. a serverless solution The services scale seamlessly, so can cope with increasing workloads. However, while similar in some ways, functions for Azure Functions can be written in a wider range of languages. Azure Functions also has an open-source runtime, and no execution time limit.

The pricing for Azure Functions varies depending on the hosting plan. They can be hosted continuously on App Service Virtual Machines at regular VM pricing, or on-demand from the Dynamic Hosting plans. If this option is taken, compute is metered to the nearest 100ms. Azure Functions are also billed per execution, with the first 1 million executions free

Posted By: sunil srivastava