Introduction

The objective of this tutorial is to create a “Functions App” and then design “HTTP triggered function” in that app using “FaaS – Function as a Service”.
Let me introduce you to some basic concepts first.

Severless Computing

It is an execution model where the cloud provider (Azure, AWS, or Google) is responsible for executing a piece of code by the dynamic allocation of resources and charging only for the amount of resources used to perform this task.

Function Apps

It is basically a container that actually hosts the execution of multiple functions. This helps to logically group the functions in a unit for deployment, scaling, and sharing for the resource.
Create A Sever Less App Using Azure Function

Road Map

  1. Basic Concepts.
  2. Ways to create a Function App
  3. Creating a function app using Azure Portal
  4. Creating a Function.
  5. Select the trigger type.
  6. Define what the function will do.
  7. Taking it for a spin.

Basic Concepts

Let’s get to know about the things which we will use in this tutorial.
  1. Event
    It is an action that occurs as a result of the activities done by some user or any other source.

  2. Trigger
    It defines how a function can be revoked and a function must have exactly one trigger.

  3. Function
    It is a server-less computation service that enables us to run code on-demand without explicitly managing the underlying infrastructure.

Ways to create Function Apps

There are actually four methods by which we can create a Functions App.
In this tutorial, we’ll use the 1st method.

Creating a function app using Azure Portal

    1. Enter an app name: App name must be globally unique as it will serve as part of the base URL.
    2. Select a subscription: pick out one of the ones you have.
    3. Select a resource group: you can choose an existing resource group or create a new one.
    4. Select an OS: choices here are Windows or Linux; we opt for Windows.
    5. Select geography: well, select the region closest to you
    6. Runtimestack: this is the language you are going to be coding, so we select Node.js.
    7. Create a new storage account: let’s take an existing or create a new one.
Create A Sever Less App Using Azure Function
Now, hit the "Create" button.
You will see an HTML page on that URL.
Create A Sever Less App Using Azure Function

Creating a Function

Select trigger type

Select trigger type, select “Webhook + API” (the function will run as soon as a certain URL is hit).
Create A Sever Less App Using Azure Function
Now, click the “Create" button.

Define what the function will do

Add the following code to the index.js file.
  1. //Text to display
  2. var dadJokes = [
  3. "Did you hear about the restaurant on the moon? Great food, no atmosphere.",
  4. "What do you call a fake noodle? An Impasta.",
  5. "How many apples grow on a tree? All of them.",
  6. "Want to hear a joke about paper? Nevermind it's tearable.",
  7. "I just watched a program about beavers. It was the best dam program I've ever seen.",
  8. "Why did the coffee file a police report? It got mugged.",
  9. "How does a penguin build its house? Igloos it together."
  10. ];
  11. // Image URLs
  12. var punDogs = [
  13. "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQwYzSHjQje6Dr_XFDOlGv4ug2xrCJHqRkpgvyWZx-HOjL2a1kX",
  14. "https://cacm.acm.org/system/assets/0001/4295/123013_madlyjuicycom_laughs.large.jpg?1476779462&1388424919",
  15. "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSdq8KeoRbJAxaGER4LXGSAb8OE6IlM9WpovVliz_uiyNwQ8woC",
  16. "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSNsf6nFv99epdsEdEh-Nj_irTb75QYNJCmBnLUteagnONcT320",
  17. "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTBDZs1Jn2SEE8kioGYhFdvnV3Vv-3qhbf5P6qpL0USC8RwDVdR",
  18. "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQRg6oMicA9_df9RqJlmqL6tsmRAX-a2C2IadPYrnaFF-w2uyQq"
  19. ]
  20. //random number generator
  21. var newNumber = Math.floor(Math.random() * dadJokes.length);
  22. var dogImageUrl = Math.floor(Math.random() * punDogs.length);
And, answer with an HTML response.
  1. context.res = {
  2. status: 200,
  3. headers: {
  4. "Content-Type": "text/html"
  5. },
  6. body: '<h3>'+dadJokes[newNumber]+'</h3>' + '<br><img src="'+ punDogs[dogImageUrl] +'"/>' };
Now, click "Integrate" and select the authorization level to “anonymous” because we don’t want any restriction.
Create A Sever Less App Using Azure Function

Taking it for a spin

Now click on the “HttpTrigger1” and select “GetfunctionalURL”.
Create A Sever Less App Using Azure Function
Click "Copy" to copy the URL and paste it into the browser.
Create A Sever Less App Using Azure Function

Now, you will see the results like this.
Create A Sever Less App Using Azure Function
Create A Sever Less App Using Azure Function
Create A Sever Less App Using Azure Function

Use cases

  1. With Azure Functions, we can write function definition in a variety of languages - C#, F#, JavaScript, Bash, PowerShell, etc.
  2. The amount of code you write in Azure function will be less.
  3. Azure Functions only charge you for the resources you actively consume.
  4. Using Function as a Service (FaaS), you only care about the code, not the underlying infrastructure and platform.
  5. Helpful only when you need to perform work in response to events.
  6. It is highly scalable when traffic to the specific URL increases.
  7. Can be used in the development of backend of the website.
  8. There is no difference between compiled and interpreted languages.