Today organizations are turning to the cloud not only to accelerate – but to transform – their business. Platform as a Service (PaaS) enables businesses to innovate at a scale that fuels their business transformation – with a focus on application innovation rather than infrastructure management and maintenance. Microsoft Azure has led the way with PaaS in alignment with our decades long commitment to enable developers with world class tools and services. Part of the Azure PaaS portfolio, Azure Functions, offers a serverless compute experience for rapid application development and operational agility. Released in preview in March 2016, we’re excited to announce the general availability of Azure Functions today.

Functions supports the development of event driven solutions on a serverless architecture, enabling on demand scaling and you pay only for the resources you consume. Today, Functions support for both C# and JavaScript is generally available and F#, PowerShell, PHP, Python, CMD, BAT and Bash are in preview. Functions uniquely offers integrated tooling support, out of the box Azure and third-party service bindings and continuous deployment to improve developer productivity.

Building with the community

Azure Functions is built in the open with the community on GitHub. The Functions team has actively engaged in customer discussions as feedback has been shared. In the preview period, over 900 GitHub issues were raised and addressed helping us deliver a high quality, production-ready service. We want to continue this dialogue with our customers and we maintain a backlog of features in UserVoice where you can provide suggestions.

Integrated tooling support

We now have support for creating, running, and debugging Functions locally on Windows, with the beta Azure Functions CLI. For JavaScript Functions on NodeJS, the CLI integrates with Visual Studio Code and sets up debug targets automatically. While the CLI currently only works on Windows, we’re working on support on Mac and Linux.

Our top UserVoice suggestion is for Visual Studio 2015 tooling support, which will be available as a preview shortly. (We’ll update this post with a download link when it’s ready). This preview tooling will enable developers to create and develop new Function Apps, debug them locally or remotely, and publish them to Azure.

Bind to services

Unlike other comparable services in the market, Azure Functions enables developers to configure bindings to services with just a few clicks. Bindings can be set for services to trigger a function and the object is passed into the function at runtime. There is support for Azure services such as Blob Storage, Event Hub, Service Bus, Storage Tables and external services like OneDrive and DropBox. For example, a binding configured to Azure Storage could trigger a function when a new file is uploaded. This results in less code for developers to maintain as the binding implementations are managed by the service. Developers who use their own tool chain can also edit the functions.json file directly to configure bindings.

The SendGrid, Twillio, Box, DropBox and Google Drive preview bindings were built in-house based on a binding extensibility framework that we will launch in preview early next year. This framework will allow developers to create their own service bindings and allow ISVs to contribute to the extension ecosystem.

Pay only for what you use

With Azure Functions, there is no need to reserve resources and you will only be charged for the time your function runs and memory consumed. Azure Functions pricing includes a permanent free grant of 400,000 Gigabyte Seconds (GB-s) execution time and one million total executions each month. For usage exceeding the monthly free grant, customers are billed based on GB-s and executions consumed. Azure Functions charges execution per msec, with a 100 msec minimum. For existing Azure App Service Basic/Standard/Premium customers, Functions consumption is incorporated into the cost of the plan. Azure Functions is currently available in 12 Azure Regions with more on the way and the full price billing will start January 1, 2017. For more information check out the pricing page.

Increased operational efficiency

Azure Functions can scale up and down on demand so you don’t need to build infrastructure for the largest scale scenario and pay for resources you don’t use. You can also set a maximum daily spending cap to prevent runaway functions. There is also no more worrying about patching and maintaining frameworks, the operating system or infrastructure. Functions takes care of the underlying infrastructure for you.

Our customers

The true power of Azure Functions is realized through the application innovations of our early adopter customers like Accuweather and Plexure. Both customers are using Azure Functions in their production applications.

Accuweather: “Azure Functions has allowed us to move CRON workloads to the Cloud in an easy and efficient way. They provide powerful functionality without complicated setup, and allow us to quickly and easily implement event driven processes and workflows that are critical to our business.” Chris Patti, CTO at Accuweather.

“Azure Functions has allowed us to move CRON workloads to the Cloud in an easy and efficient way. They provide powerful functionality without complicated setup, and allow us to quickly and easily implement event driven processes and workflows that are critical to our business.” Chris Patti, CTO at Accuweather. Plexure: “As a software vendor it can be hard to completely solve a client problem where the software only meets ninety percent of their needs. Functions lets the team rapidly release small auto scaling units of logic that fill these gaps and unlocking significant value in our product to our customers. By building this into our software architecture it allows the teams to rapidly evolve the software to fill gaps unique to a customer but still keeping product standardization.” David Inggs, CTO at Plexure

What next?

So, what are you waiting for? Today we are announcing the Azure Functions Challenge. Come learn for FREE how to use Azure Functions by following a set of coding challenges and earn badges you can brag to your friends about.