Azure Functions is the serverless computing service hosted on the Microsoft Azure public cloud. Azure Functions and serverless computing in general are designed to speed up and simplify application development.
Developing traditional applications requires consideration of the underlying IT infrastructure. For cloud computing, an IT team must create, monitor and pay cloud computing instances — regardless of how much work that instance actually does for the business.
The idea behind serverless computing, also known as function as a service, is to eliminate these infrastructure considerations for the user. With serverless, a user can simply create and upload code, then define the triggers or events that will run the code. Triggers can come from a wide variety of sources, including another user’s app or other cloud services, such as databases and event and notification hubs.
Once a trigger or event occurs, it is the cloud provider responsibility for loading the code into an appropriate runtime environment, executing the code, and then releasing the compute resources. Servers are still involved, but the user no longer needs to provision or manage compute instances. Additionally, rather than paying for these compute instances and other associated resources each month, users pay for serverless computing based on how long a function runs in a given billing cycle.
Azure Functions uses
Serverless computing functions are generally not complete and complete applications. Instead, functions handle specific, short-lived tasks. Most functions involve some form of data processing, such as processing images or commands, as well as maintaining files or collecting data from Internet of Things (IoT) devices.
Here are some examples of how an IT team uses Azure Functions:
- Azure Event Hub can provide various events that trigger functions related to cloud environment conditions or a user account.
- A generic web hook can process HTTP requests, allowing triggers to come from websites or GitHub deposits.
- Message traffic can trigger functions. For example, messages that arrive in an Azure Storage queue can trigger functions.
- Timers can also trigger functions, allowing users to run regular tasks, such as file cleanups, on a regular schedule.
Users can also chain functions together or combine them together to create more comprehensive application program interfaces (APIs) and microservices applications.
Azure Functions integrates with Azure software as a service (SaaS) offerings, including Azure Cosmos DB, Azure Mobile Apps, and Azure Service Bus.
Developing code for Azure Functions
Azure Functions reduces the need to provision, manage, and pay for long-term compute resources in the cloud, allowing organizations to focus more on code development. This makes many Azure Functions features beneficial to software developers.
Developers can code Azure Functions directly in the Azure portal, but can also manage continuous integration (CI) and deploy code through GitHub, Microsoft Visual Studio Team Services, and other developer tools, such as Xcode, Eclipse, and IntelliJ IDEA.
Security is needed to ensure that only valid requests from authorized users or triggers will drive functions. Azure Functions secures external HTTP triggers with OAuth systems, such as Azure Active Directory, Microsoft account credentials, etc.
Azure Functions pricing, limits, and requirements
Enterprises can currently choose between two pricing plans for Azure Functions: Consumption and Azure App Service. In the consumption pricing plan, users pay for the actual running time of each function. The other plan is for users who are already using Azure App Service to run web, mobile, and API-based apps. These users can run Azure Functions at no additional cost.
Azure Functions has no limits on payload size, deployment package size, and code or dependency size. However, each Azure Functions host instance is limited to 1.5 GB of memory and the default execution time limit is 5 minutes, although users can increase it to 10 minutes.
Azure Functions requires an Azure Storage account which must support Azure Blob, Queue, and Table storage services. Azure Functions uses Azure Storage to manage triggers and log function execution. Storage requests for Azure Functions may incur an additional cost for users.
Azure Functions competes with other serverless computing offerings, including Amazon Web Services Lambda and Google Cloud Features.