Azure Functions Live – July 2019

|  Posted: July 2, 2019  |  Categories: Azure

This month Azure Functions webcast was hosted by Jeff Hollan, Eduardo Laureano, and Eamon. They shared on the latest updates and what’s coming next in Azure Functions space. 

Transcribe Credits: Surya Venkatasubramanian and Nadeem Ahamed  

What’s new?

Microsoft.Azure.WebJobs.Extension.ServiceBus

This was in the top of user voice list for a certain period and is still one of the leading requests in GitHub. Azure Functions is great at allowing users to perform in order processing of a queue (Service Bus messages) even when they are scaled out across multiple consumers. So, this has been made live now but it’s not yet production extension yet, so users interested to install it must make sure to pull in the beta tag. For the ones using Java, Python or JavaScript can check out the nuget.org to know the right version to put into extension file.   

az functionapp devops- build

In Azure command line, the DevOps is now built on the function app which allows users to perform various customization without having to change the context and to set up a lot of steps manually as the CLI would guide users through the entire process. Refer to this link. 

New ARM APIs to get function key/details

This is one of the highly requested features which is now available. You can now retrieve the keys of published function app to generate either an event grid URL subscription or HTTP subscription through ARM API’s in ARM template.   

KEDA Triggers: AWS SQS, Redis, Google

A bunch of new triggers has been added which includes; 

  • AWS SQS- Allows users to send, store, and receive messages between software components at any volume, without losing messages or requiring other services to be available.  
  • Redis- It is an open-sourced, in-memory data structure store that can be used as a database, cache, and message broker. 
  • Google PubSub– Enable secure and highly available communication among independently written applications. 

So, the positive aspect here is that these new triggers were brought up by community folks and not by Microsoft 

Durable Function 1.8.3 

This is the new version of Durable Function which was released last week. It has some extraordinary capabilities like handling a scenario where if you want to return huge messages exceeding the default limit in a more graceful fashion. 

Powershell in Azure Function 

Earlier, Azure Functions did not have the ability to process event-based systems using a scripting-based language like PowerShell. Just before Build 2019, Powershell support was announced for Azure Function 2.x where users can take advantage of all the tooling and integrations. 

With the release of PowerShell support in Azure Functions, it is now possible to automate the operational tasks and take advantage of the native Azure integration to modernize the delivering and maintenance of services. 

Demo on PowerShell

A little bit of demo here on how to get started with PowerShell. PowerShell is a task-based command-line shell and scripting language built on .NET. PowerShell helps system administrators and power-users rapidly automate tasks that manage operating systems (Linux, macOS, and Windows) and processes. Powershell is similar to other languages like C# and JavaScript for authoring Azure Functions. On creating a PowerShell based Function App, the user can see all the standard triggers that support functions would show up for PowerShell based function as well.  

With one click on the HTTP trigger template, you will end up creating a PowerShell based function. The function would look something like the below image; 

With one click on the HTTP trigger, you will end up creating a PowerShell based function

You can write API’s using PowerShell and host it in API Management which allows you to expose it securely to the external systems.  

There is built-in integration with two types of eventing systems inside Azure. One such thing is Event Grid and the other is Azure Alerts. The Azure Event Grid allows you to automatically track changes that are happening across your Azure subscription. For Instance, you need to get alerted when someone deletes a VM in the subscription, for which you can subscribe to the Event Grid events which tracks every ARM change that happens inside Azure by default. By using a few lines of PowerShell scripts, you can notify the concerned person, update the monitoring system to troubleshoot them. 

Now, PowerShell has been added as one of the languages for authoring Azure Functions. In Azure Serverless community library, you can find a lot of interesting samples for PowerShell. 

interesting samples for PowerShell.

With the latest PowerShell launch, the user can manage modules in Azure. A new feature called managed dependency which resides within the host file of a Function App instructs PowerShell based functions to automatically process the requirements.psd1 file for the user. This file enables modules to be automatically managed by the Functions service. In addition, PowerShell supports managed Identities and provides security by leveraging the built-in security in Azure Functions. 

The version of PowerShell is v6 which is built on .Net core and the development can be done on all the three OS version like Windows, Linux, and MAC. 

Community Updates

Upcoming Events

Q&A Session

  1. How long does it take to install modules and how to do so?
    Ans: Make a directory to the PowerShell function app called modules and get modules from PowerShell gallery and save it to the modules folder.
  2. When do you want to hold a module from the PowerShell gallery? Is at the root of the app where you create a modules folder?
    Ans: They are at the root of the Function App.
  3. What modules does the managed dependency feature support?
    Ans: As of now only the AZ module is being supported.

You can watch the video here

Author: serverless360

Serverless360 is a comprehensive tool to operate, manage and monitor Azure Serverless Services related to Enterprise Integration. The blogs published under Serverless360 account is a collective effort by the team members.