A serverless architecture can be an attractive option when building applications, as it allows you to focus on writing code rather than worrying about allocating and maintaining infrastructure. While many development tools now offer some kind of serverless architecture, Microsoft Azure offers a highly customizable solution with its Azure Functions framework.
In this guide, we’ll show you how to implement and create Azure Function App, including how to integrate it with other services, such as Logic Apps and the Event Grid.
Azure Functions summary
Azure Functions basically cloud-based functions that you write in a programming language of your choice, and can run without any knowledge or management from you. You can use them for everything from simple tasks such as storing Azure blobs to more complex tasks like computing derivatives or big data workloads.
Because they’re event-driven, you can configure them to be triggered by web requests, on-premises systems, database updates—almost anything that generates an event. And unlike running code on virtual machines, they scale automatically based on how much demand there is at any given time.
We think Azure Functions will open up a whole new world of opportunities for developers building applications at large organizations.
What can you do with it
Azure functions are small bits of code that you can run in response to an event, either on a schedule or in response to an HTTP request. For example, you could create a function that gets triggered every time an image is uploaded to Azure Blob storage. They’re also great for automating tasks or integrating with other services.
Benefits of Azure functions
As an Azure Functions developer, you get to work with some of the best products in cloud computing today. The platform is still evolving, but it provides a number of benefits that make developing with Azure Functions very attractive. Consider these five key benefits:
• Automation: Azure Functions are fully programmable—from triggering events and conditional response logic to fine-tuning billing. This capability makes it easy to automate repetitive tasks or tailor experiences around specific activities.
• Focus on code rather than configuration: To deploy functions, you simply push your code into GitHub or BitBucket and let Visual Studio build them for you behind the scenes. This allows developers and engineers alike to focus more on what they’re building instead of how they’re building it.
• Pay per use: Serverless functionality allows developers to bill their applications only for active usage. You pay by consumption based on storage, compute resources used, API calls, and data transfer, Microsoft takes care of managing those systems, scaling automatically when needed, patching security issues as soon as they become known.
• Scalability control: Unlike traditional apps running on servers under your physical control in an on-premises environment, Azure Functions operate via many interconnected servers across Microsoft data centers worldwide. Microsoft manages all of that infrastructure, handling automatic scaling and deployment while minimizing network latency.
• Variety of languages/frameworks: From .NET Core 2.0 onward almost every major technology framework has been ported over to support hosting on Azure Functions (including NodeJS, Python 3, PHP 7) all within single projects written in whatever language best matches your needs.
Task 1: Creating Function App
- Login to your Azure portal and search for Function App in the search bar.
- In Function App section click on + Create.
- In the Basics Tab, configure the following settings and give a unique Function App name.
- Check all the settings and click Review + Create and then select Create to finally validate and deploy your first Azure Functional App.
- Wait for the notification to appear as Your deployment is complete. Now click on Go to Resource.
- Now you can check the running status of newly created Function App. Alternatively, you can go back to Function App section to check running resources.
Task 2: Create a HTTP triggered function and test
- Open your newly created Function App by clicking on it.
- Now select Functions from the left sidebar and click on + Create.
- A create function pop-up will appear. Select Http trigger from templates. Click on Create.
- . In HttpTrigger1 section, select Code + Test under Developer. The code is generated to return Hello message with the username.
- Review the auto generated code. (This code is designed to run the Http Request and log Information.)
- . Select Get Function URL from the top bar of the function code editor.
- Check the key drop-down value should be Default and copy the function URL.
- You will get a message as “This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.”For example,
https://demo-123.azurewebsites.net/api/HttpTrigger1?code=0smgMLiBx0Vk6QYSsIyDqoqXKh5Sf00MYUcimabZfxjKafKvboxiJA==&name=user10. Run the URL. Output will be shown as on the browser tab:Each time the function runs, its invocation is traced. You can check each trace by selecting Monitor in Developer inside HttpTrigger1 section.Append &name=yourname at the end of theURL.
Congratulations, you have successfully configured your first Function App to display hello message triggered by HttpRequest.
When to use Azure Functions?
Use Azure Functions when you need to run a piece of code (also known as a function) in response to an event, like a web request or file change. You can also use it for running short-lived jobs, called micro-tasks.
This makes Azure Functions useful in scenarios like serverless computing, when your application runs on shared infrastructure and you only pay for what you use. Azure Functions can also be used with other Azure services such as Event Grid, Stream Analytics and Cosmos DB.
Azure functions are incredibly powerful and useful. They can easily replace any task that would normally be carried out by a full-time server. And, if you’re looking to build a serverless architecture, they offer an incredible advantage over other services because of their rapid deployment capabilities.
You don’t need to go through a whole application-deployment process or spend tons of time making sure your application is secure. Just turn it on, watch it run and enjoy!
Happy cloud computing..