Microsoft has released a version of its serverless service, Azure Functions, that can be run entirely behind the enterprise firewall.
The Azure Functions Runtime, packaged within a container running on Windows Server 2016 or Windows 10, offers a similar programming mode as its Azure counterpart, allowing developers to create components and run batch processing jobs without worrying about the requirements of the underlying infrastructure. Microsoft released a preview of the software for its Build user conference, being held this week.
The software could be valuable for, say, a business analyst who could run a large data analysis job with the service, drawing on data stored on the analyst’s own computer.
“The beauty of serverless is that it really helps you remove all the things that used to get in the way and lets you get straight to the business of solving your problem,” said Chris Anderson, Microsoft programming manager, in an interview with The New Stack.
The runtime has two components: The Management Role and the Worker Role. The Management Role serves as a portal, and distributes the work across the available workers, which can be dedicated servers or even desktop computers with spare capacity. The host machine will require either Windows Server 2016 or Windows 10 Creators Update.
APM Comes to Serverless
In addition to introducing an on-prem version of its serverless software, Microsoft is also equipping the cloud-based Azure Functions with more support tools to accommodate production usage of the technology.
The company has boosted its monitoring support for Azure Functions. The company’s Application Insights application performance monitoring (APM) service now fully supports monitoring of Azure Functions. Metrics can be viewed either through the Applications Insights portal, where it can stand alongside other services being monitored, or through the Azure Functions’ own portal.
Users can specify which performance metrics will be captured, and at what frequency. Metrics are reported on a near real-time basis. For job executions, Application Insights will capture the average duration of a job, the total number of jobs being executed, failures per second, and total resource consumption. The service will also report any exceptions thrown by the run-time.
Users can customize which metrics they see, compose queries against the metrics, set up traces that can be captured in a log, and even set up an alerting system. They can toggle between examining one job and all the jobs. As if right now, dependencies cannot be monitored.
Other supporting tools were also introduced at the show.
The company has released an extension in the Visual Studio Marketplace, called Azure Functions tools for Visual Studio 2017, for developers to write and debug Azure Function code within their normal typical Visual Studio 2017 development workflow.
Microsoft has also provided an “express option” for publishing Functions-based APIs directly inside PowerApps and Flow, both of which offer business users an easy way to build internal apps and workflows. This work follows earlier support efforts for exposing Functions through the OpenAPI (Swagger) API framework.
In addition, the company has also provided a set of templates that allows Functions to access data from Microsoft’s Common Data Servicev(CDS), which aggregates multiple sources of business data in one place. A developer could, for instance, write a function that draws data from CDS and can be evoked from PowerApps.
Azure Functions “commoditizes compute like our friends at Amazon commoditized storage with S3,” said Nir Mashkowski, Microsoft partner director of program management. “You can now be a start-up in your garage and build a cloud-scale distributed backend for cents on the dollar.”
Feature image via Pixabay.