Microsoft Azure is an open, flexible and an enterprise-grade cloud offering of a computing platform for various ranges of customers. It is a growing collection of cloud services for building, deploying and testing your applications. It also provides you with the freedom to build and deploy your applications wherever you want on the Azure cloud for your usage.
Before understanding what Azure Functions are, we will try to clear the confusion around the terms that frequently round about in the Cloud space which aren’t that cloudy though.
IaaS (Infrastructure as a Service) – It is the provision of Virtual Machines and related infrastructure on demand
PaaS (Platform as a Service) – You develop your applications and deploy it on a platform where you are not really bothered about the Virtual Machines on which they are deployed. We pay for the service used and pretend not to worry about it as it is covered by Microsoft Azure’s offerings.
SaaS (Software as a Service) – Softwares like Microsoft Office 365 and the like, you pay a specific subscription and use the service to whatever time your subscription is alive.
With the necessary background on what various kinds of services are available on the Cloud platform, let us discuss a little bit on the “Serverless Computing”.
By name, it is very evident that few would be considering that there is no Server used for the required computing – to break the jinx, it is just that the Server exists but we don’t bother about it (as it is part of PaaS offering from Microsoft Azure).
With the required information on the Cloud services provided and also having a good understanding of what “Serverless Computing” is, it is the exact time for us to explore over Microsoft Azure Functions.
To put forward, Microsoft Azure Functions are an event-driven, on demand computation experience which builds on the Azure’s best offering (PaaS platform).
Azure Functions is an extension of the already available WebJobs infrastructure to enable you implementing code from a variety of choices of programming languages which act on the events generated by the Azure services.
This is the same when we use any of the other options available that compete with Azure offerings like the Amazon Lambda (just like Azure Functions) which allows you to upload some code and no time later, it starts running.
Alongside to that, you can have configured continuous Jenkins jobs, functions that can run on any of the triggered events etc.
If you want to try your hands on Azure Functions then you just can create a new account for yourself at the Azure site - https://functions.azure.com and create a new function.
In the earlier section, what we have seen is the basic introduction into Azure Functions.
Azure Functions provides support to event based on a timer using a Cron job syntax. For example, to execute code which runs every 60 minutes to clean up an audit table based on custom business requirements.
Azure Functions Timer Based Processing:
Azure Functions provides its support in triggering an event based on any activity that starts from an underlying Azure service. For example, execute a serverless code that reads all the newly created test log files in an Azure Blob storage container and transform these records into a row, inserts into an Azure SQL Database table.
SaaS Event Processing:
Azure Functions provides support in triggering events based on activity in a SaaS service (just like any other underlying Azure service). For example, to save an excel file in OneDrive, this triggers a function which invokes a Microsoft Graph API to modify the spreadsheet and then to create an additional chart.
Serverless Web Application Architectures:
Azure Functions has its ability, capability to power a single-page app. The app that we create using AngularJS or NodeJS calls Azure Functions using the WebHook URL to save the user data and decides what to display. Or, do simpler customizations, such as targeted ads by calling a function and passing the user profile information to it.
Real-Time Stream Processing:
For example, Internet of Things (IoT) devices send messages to Azure Stream Analytics, which then calls an Azure Function to transform the message. This function processes the data and creates a new record in an Azure SQL database.
Real-Time Bot Messaging:
We can use Azure Functions to customize any specific behavior of a bot using a WebHook URL. For example, we can create an Azure Function which processes a message using the Cortana Analytics and call this function using the Microsoft Bot Framework.
In this article, we have introduced the readers to Microsoft Azure and then with the necessary background also discussed in detail about Azure Functions. We have also listed out some of the things that can be easily done using Azure Functions. Hope the article is crisp and clear in providing the required information about Azure Functions.
Get Updates on Tech posts, Interview & Certification questions and training schedules