[su_dropcap style=”flat” size=”5″]T[/su_dropcap]oday 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.
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
The top UserVoice suggestion is for Visual Studio 2015 tooling support, which will be available as a preview shortly. 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.
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.
The true power of Azure Functions is realized through the application innovations of 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.
- 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