New Tools Boost Serverless Computing in Visual Studio, Azure Cloud
Serverless computing is a hot topic in the dev world right now, and Microsoft is stepping up its efforts to stay current in the arena with two new offerings.
In serverless computing, server management and capacity planning decisions are handled by cloud host providers (Azure, in this case), letting developers concentrate on coding functions or code blocks that are triggered and executed automatically, often in response to events.
Among Microsoft's new initiatives is a new release -- emerging from a preview program -- of Azure Functions Tools for the newly launched Visual Studio 2017 Update 3.
The company said the tools provide benefits such as:
- Edit, build and run functions on a local development computer.
- Publish Azure Functions project directly to Azure.
- Use WebJobs attributes to declare function bindings directly in the C# code instead of maintaining a separate function.json for binding definitions.
- Develop and deploy pre-compiled C# functions. Pre-complied functions provide a better cold-start performance than C# script-based functions.
- Code functions in C# while having all of the benefits of Visual Studio development.
"The tools support building and publishing a class library as the implementation of your functions," Microsoft said in a blog post last week. "Configure bindings and triggers using attributes in your code, rather than a separate metadata file."
An associated release of Azure Functions Core Tools -- an npm package for local functions development, now only working on Windows -- was also announced.
"These are used by the Visual Studio tools when you run or debug a Function App locally," Microsoft said. "You can also use the Core Tools directly to retrieve app settings from Azure or publish your Function App. To learn more, see "Run locally using the Azure Functions Core Tools."
Other updates will happen after full .NET Standard 2.0 support is achieved.
"The Functions project type is a .NET Standard class library though it currently targets net461," Microsoft said. "This is because the Azure Functions runtime does not yet take a dependency on the .NET Standard 2.0 facades that enable full framework support. Now that .NET Standard 2.0 is RTM, we will make this update in a future release. See Support .NET Standard 2.0 class libraries #1792.
"Once we have completed the Azure Functions port to .NET Core 2.0, the .NET Standard 2.0 target will become much more important. At that time, we will change the default in the Visual Studio New Project dialog."
Microsoft also introduced Azure Event Grid, described as an event service for modern applications, especially those involving event-based programming, which the company said requires an increased focus on serverless platforms like Azure Functions.
"Today, I am excited to announce that we are making event-based and serverless applications even easier to build on Azure," Microsoft's Corey Sanders said in another blog post last week. "Azure Event Grid is a fully managed event routing service and the first of its kind. Azure Event Grid greatly simplifies the development of event-based applications and simplifies the creation of serverless workflows. Using a single service, Azure Event Grid manages all routing of events from any source, to any destination, for any application."
More details of the new offering listed by Microsoft include:
- Events as first-class objects with intelligent filtering: Azure Event Grid enables direct event filtering using event type, prefix or suffix, so applications will only need to receive the events developers care about. Whether developers want to handle built-in Azure events, like a file being added to storage, or they want to produce their own custom events and event handlers, Event Grid enables this through the same underlying model. Thus, no matter the service or the use case, the intelligent routing and filtering capabilities apply to every event scenario and ensure that apps can focus on the core business logic instead of worrying about routing events.
- Built to scale: Azure Event Grid is designed to be highly available and to handle massive scale dynamically, ensuring consistent performance and reliability for critical services.
- Opens new serverless possibilities: By allowing serverless endpoints to react to new event sources, Azure Event Grid enables event-based scenarios to span new services with ease, increasing the possibilities for your serverless applications. Both code-focused applications in Functions and visual workflow applications in Logic Apps benefit from Azure Event Grid.
- Lowers barriers to ops automation: The same unified event management interface enables simpler operational and security automation, including easier policy enforcement with built-in support for Azure Automation to react to VM creations or infrastructure changes.
For more information, developers can check out pricing and a quick start.
David Ramel is the editor of Visual Studio Magazine.