In today’s adventures with Learning Azure, I want to get you moving with a serverless solution in Azure called Azure Functions.
What are Azure Functions?
Azure Functions are not something you’ll see rendered on a front-end somewhere. They’re a serverless solution used for doing things in the back-end and the middle tier. These are some of the use cases for Azure Functions:
- Running scheduled tasks – think cronjobs in the cloud, running code on a schedule
- Respond to data – such as migrating data to Azure Cosmos DB, processing data with SignalR, or analyzing data from IoT devices
- Hosting a web API
- Building a pipeline of chained durable functions
- Process message queues
- … and more!
There are some key things to know about Azure Functions:
- These are pieces of code that run based on a single trigger.
- Triggers can be from a variety of sources.
- The connections between Azure Functions and their resources are bindings. Bindings can be sources of both input and output.
Read more about triggers and bindings.
What services work well with Azure Functions?
Azure Functions integrates with a variety of platforms for triggers and bindings, and they aren’t all just Azure. Some external services that work well with Azure Functions include:
Azure Functions connect well with many Azure services as well. These are some of the Azure services that can be connected to Azure Functions:
Since Azure Functions has evolved over the years, bindings have different support for different Azure Function runtime versions. If you are looking to see if your binding is supported, check out this Supported bindings matrix.
You can see how to connect from these services to Azure functions with this doc: How to connect to services.
What programming languages are used for developing Azure Functions?
You can use a variety of languages to run in these Azure-hosted environments. Azure Functions documentation includes examples for:
What tools do I need for deploying an Azure Function?
The tools that are supported for Functions deployment include:
- Visual Studio Code
- Visual Studio
- Command line
- Bicep templates
- ARM templates
- Azure Arc
How do I get started TODAY?
There are a great set of tutorials available in the docs, including references to Functions working with:
Check out their tutorials in the docs! I unfortunately can’t link directly to a tutorials master list. However, here’s how you can get there:
- Navigate to the Functions documentation.
- In the navigation menu on the left, expand Tutorials.
Do you recommend other resources?
Sure thing! Here are some other resources that might help you get started with Azure Functions TODAY!
- Azure Friday: Durable functions in Python for Azure Functions
- Azure Friday: Deploy OpenAPI enabled Azure Functions with .NET in Visual Studio
- Microsoft Learn: AZ-204: Implement Azure Functions (learning path)
- Microsoft Learn: Refactor Node.js and Express APIs to Serverless APIs with Azure Functions
- Microsoft Learn: Deploy Java serverless Functions on Azure using Maven
- Microsoft Learn: Develop, test, and deploy an Azure Function with Visual Studio
Bonus: Azure DevOps integration
This week, I showed a few ways to get started in Azure with Microsoft Docs and Microsoft Learn. I also included some hosting environments so that you can showcase your own code hosted in Azure. However, I didn’t get into the CI/CD this time. Here are some links for automating the deployment of these environments and projects:
- Microsoft Learn: Run quality tests in your build pipeline by using Azure Pipelines
- Microsoft Learn: Automate Azure Functions deployments with Azure Pipelines
- Microsoft Learn: Build serverless, full stack applications in Azure (learning path)
- Continuous deployment for Azure Functions
- Continuous deployment for Azure App Service
3 responses to “Serverless hosting with Azure Functions”
[…] Serverless hosting with Azure Functions (Sarah Dutkiewicz) […]
[…] Sarah Dutkiewicz continues a series on learning Azure. First up, Azure Functions: […]
[…] https://www.sadukie.com/2022/08/05/serverless-hosting-with-azure-functions/ […]