Five Things About Azure Functions - Short version

I like The Five Things series on MSDN Channel 9. It  has informal answers by Microsoft experts to interesting questions on all things web, all in about 5 minutes along with some no holds barred, light banter.

Here is the short version of Five Things About Azure Functions

1. Azure Functions is free as long as you're within its generous monthly limits

2. It supports JavaScript, both Node 8 and 10, Python 3.6, C#, F#, Java

3. Can you run functions locally or do you have to be in the Cloud all times?
The run time.. the thing that runs your code & triggers it... that's completely open source and you can run it all locally, you can debug it all locally

4. Visual Studio Code has an extension using which you can create Functions, deploy your Functions & even stream logs

5. Bindings is this nice construct inside of functions where if you need to communicate with other services like, hey, at the end of this function, I need to send a text message or I want to drop something into Cosmos DB..bindings let you do that without writing code for it, without having to
figure out that SDK. You just go into your metadata of your function locally or in the Cloud and say, "Hey, I want to bind a Twilio, I want to bind the Cosmos DB to queues, to topics, to storage...and you pretty much just set a variable in your function and we'll do the heavy lifting.

Some other interesting points from the official documentation -

By default, functions have a timeout of 5 minutes. This timeout is configurable to a maximum of 10 minutes. If your function requires more than 10 minutes to execute, you can host it on a VM.

* Function apps may use one of two types of service plans. The Consumption service plan provides automatic scaling and bills you when your functions are running. Azure App Service plan allows you to manage the app resources the function runs on, so this is technically not a serverless plan. However, it may be a better choice if your functions are used continuously or if your functions require more processing power or execution time than the Consumption plan can provide.

* Functions are event driven, which means they run in response to an event. The type of event that starts the function is called a trigger. You must configure a function with exactly one trigger.

* Bindings are a declarative way to connect data and services to your function. Each binding has a direction - your code reads data from input bindings and writes data to output bindings. Each function can have zero or more bindings to manage the input and output data processed by the function.

* A trigger is a special type of input binding that has the additional capability of initiating execution.

* There are some use cases of serverless that need to be stateful—such as long-running workflows, human approved processes, and e-commerce shopping cart applications. Durable Functions is an extension to the Azure Functions runtime that brings stateful and orchestration capabilities to serverless functions. Bindings for Azure Event Hub and Azure Event Grid helps developers build event-driven microservices.

* Azure Functions offers built-in integration with Azure Application Insights and Azure Monitor, allowing you to easily diagnose issues and better understand how your functions are used.


Related reading:

Comments