An introduction to Azure Functions

Learn about Azure Functions, Microsoft's serverless computing service for building scalable, event-driven applications effortlessly.

Saartje Ly

Data Engineering Intern

April 2, 2024

Introduction

An Azure Function is a serverless computing service provided by Microsoft Azure, which allows developers to build and deploy event-driven, scalable applications without having to manage the underlying infrastructure. Put simply, an Azure Function is a simple way to run small pieces of code (“functions”) in the cloud, which are executed in response to specific events or triggers.

Azure functions are triggered by events such as HTTP requests, timer schedules, database changes, message queue messages, file uploads, or custom events. Additionally, Azure Functions seamlessly integrate with other Azure services and resources through what are called bindings. Bindings serve as connectors between your functions and external resources, handling input and output operations. They eliminate the need for writing extra code to interact with these services.


Choices of programming languages:
  • C#

  • Java

  • JavaScript

  • Python

  • PowerShell

  • TypeScript

  • Go/Rust



Choice of hosting

Consumption plan

This plan is optimized for serverless and event-driven workloads. It contains automatic scaling based on demand, and only charges for the resources used during execution. There is a time limit for 5 minutes for each function invocation.

App Service plan

Fully isolated and dedicated environment suitable for workloads that need large SKUs or need to co-locate Web Apps and Functions. You pay monthly for the compute resources used. There is no time limit for each function invocation. 

Premium plan

Offers faster performance, enhanced security options, reserved instances, and serverless automatic scaling capabilities. This plan is ideal for workloads running continuously. Billing for the Premium plan is based on the number of core seconds and memory allocated across instances.


Automatic scaling is a feature of cloud computing services that allows resources to adjust automatically based on the current workload or demand. 

Alternatively, you can also run Azure Functions in a Docker container on premises/in any cloud provider, and you can run Azure Functions locally.


Development Environment choices

Azure Portal is great for learning and quick experiments, however for most applications you will want to use Visual Studio/Visual Studio Code. Maven is also an option if you are using Java.



Introduction

An Azure Function is a serverless computing service provided by Microsoft Azure, which allows developers to build and deploy event-driven, scalable applications without having to manage the underlying infrastructure. Put simply, an Azure Function is a simple way to run small pieces of code (“functions”) in the cloud, which are executed in response to specific events or triggers.

Azure functions are triggered by events such as HTTP requests, timer schedules, database changes, message queue messages, file uploads, or custom events. Additionally, Azure Functions seamlessly integrate with other Azure services and resources through what are called bindings. Bindings serve as connectors between your functions and external resources, handling input and output operations. They eliminate the need for writing extra code to interact with these services.


Choices of programming languages:
  • C#

  • Java

  • JavaScript

  • Python

  • PowerShell

  • TypeScript

  • Go/Rust



Choice of hosting

Consumption plan

This plan is optimized for serverless and event-driven workloads. It contains automatic scaling based on demand, and only charges for the resources used during execution. There is a time limit for 5 minutes for each function invocation.

App Service plan

Fully isolated and dedicated environment suitable for workloads that need large SKUs or need to co-locate Web Apps and Functions. You pay monthly for the compute resources used. There is no time limit for each function invocation. 

Premium plan

Offers faster performance, enhanced security options, reserved instances, and serverless automatic scaling capabilities. This plan is ideal for workloads running continuously. Billing for the Premium plan is based on the number of core seconds and memory allocated across instances.


Automatic scaling is a feature of cloud computing services that allows resources to adjust automatically based on the current workload or demand. 

Alternatively, you can also run Azure Functions in a Docker container on premises/in any cloud provider, and you can run Azure Functions locally.


Development Environment choices

Azure Portal is great for learning and quick experiments, however for most applications you will want to use Visual Studio/Visual Studio Code. Maven is also an option if you are using Java.



Introduction

An Azure Function is a serverless computing service provided by Microsoft Azure, which allows developers to build and deploy event-driven, scalable applications without having to manage the underlying infrastructure. Put simply, an Azure Function is a simple way to run small pieces of code (“functions”) in the cloud, which are executed in response to specific events or triggers.

Azure functions are triggered by events such as HTTP requests, timer schedules, database changes, message queue messages, file uploads, or custom events. Additionally, Azure Functions seamlessly integrate with other Azure services and resources through what are called bindings. Bindings serve as connectors between your functions and external resources, handling input and output operations. They eliminate the need for writing extra code to interact with these services.


Choices of programming languages:
  • C#

  • Java

  • JavaScript

  • Python

  • PowerShell

  • TypeScript

  • Go/Rust



Choice of hosting

Consumption plan

This plan is optimized for serverless and event-driven workloads. It contains automatic scaling based on demand, and only charges for the resources used during execution. There is a time limit for 5 minutes for each function invocation.

App Service plan

Fully isolated and dedicated environment suitable for workloads that need large SKUs or need to co-locate Web Apps and Functions. You pay monthly for the compute resources used. There is no time limit for each function invocation. 

Premium plan

Offers faster performance, enhanced security options, reserved instances, and serverless automatic scaling capabilities. This plan is ideal for workloads running continuously. Billing for the Premium plan is based on the number of core seconds and memory allocated across instances.


Automatic scaling is a feature of cloud computing services that allows resources to adjust automatically based on the current workload or demand. 

Alternatively, you can also run Azure Functions in a Docker container on premises/in any cloud provider, and you can run Azure Functions locally.


Development Environment choices

Azure Portal is great for learning and quick experiments, however for most applications you will want to use Visual Studio/Visual Studio Code. Maven is also an option if you are using Java.



SHARE