At first this sounds crazy, but Azure DevOps Pipelines are actually a Serverless compute engine. When you compare it to other Azure cloud services, it’s sort of a mixture of the features of Azure Functions and Azure Logic Apps mixed with Git source control integration.

At first glance, it might seem a bit far-fetched to consider Azure DevOps Pipelines as a Serverless compute engine, but when you dig deeper, the comparison starts to make sense.

What is Serverless Computing?

Serverless computing is a cloud computing execution model where the cloud provider dynamically manages the allocation of machine resources. The pricing is based on the actual amount of resources consumed by an application, rather than on pre-purchased units of capacity. It can be a cost-effective and scalable option for developers to run their code.

Azure DevOps Pipelines as Serverless

Azure DevOps Build Pipelines provide a cloud service for automating builds and deployments of your code. They are triggered by events such as a code commit, pull requests, or even manually. Once triggered, the pipeline executes a series of tasks defined in a YAML configuration file. This YAML configuration can include all sorts of supported task types, and command-line scripts, including the ability to build and execute source code contained within the source code repository.

The Azure DevOps Pipelines are executed on a “build agent”. Of which, Microsoft includes free support for some build agent use, or you can alternatively configure your own VMs as build agents for dedicated compute resources as well.

Comparison with Azure Functions and Logic Apps

Azure Functions is a serverless compute service that lets you run event-triggered code without having to explicitly provision or manage infrastructure. Similarly, Azure Logic Apps provides a way to automate workflows and business processes by integrating apps, data, systems, and services across enterprises or organizations.

Azure DevOps Build Pipelines share some commonalities with these services:

  • Event-Driven: Like Azure Functions, build pipelines are event-driven and can be triggered by various events such as code commits or pull requests.
  • Workflow Automation: YAML can be used to automate complex workflows, much like Azure Logic Apps, which can define input, actions, conditions, and output.
  • Integration: Azure DevOps Pipelines integrate with Git source control, and include support for many different build actions. These actions are similar to how Logic Apps integrates built-in actions.
  • Scalability: Hosted by build agents, Azure DevOps Pipelines can scale automatically to meet demand, similar to Azure Functions and Logic Apps, which can scale based on the number of incoming events.

Unique Advantages

While Azure DevOps Build Pipelines share characteristics with Azure Functions and Logic Apps, they also offer unique advantages:

  • Continuous Integration/Continuous Deployment (CI/CD): They are specifically designed for CI/CD, enabling developers to automate the testing and deployment of code, including built-in Git repository integration.
  • Rich Ecosystem: Azure DevOps provides a rich ecosystem of tasks and extensions that can be used to customize the build and deployment process.
  • Integration with Azure: They offer a great integration point with other Microsoft Azure services.

The Serverless Nature of Azure DevOps Pipelines

The serverless aspect of Azure DevOps Build Pipelines comes from the fact that you don’t need to manage any servers or infrastructure. The resources are managed by Microsoft with the hosted build agents, or you can provision your own VMs in Azure for dedicated built agents. This makes it an on-demand, scalable, and cost-effective solution for automating multiple pipelines of code that can be run.

Conclusion

While Azure DevOps Pipelines might not be the first thing that comes to mind when you think of serverless computing, they embody many of the same principles. They are event-driven, scalable, and allow developers to focus on writing code rather than managing infrastructure. Azure DevOps Pipelines stand out as a powerful serverless compute engine tailored for CI/CD, but can be used for so much more.

What do you think about this idea of using Azure DevOps Pipelines to run certain Serverless workloads, rather than Azure Functions or Logic Apps?

Chris Pietschmann is a Microsoft MVP, HashiCorp Ambassador, and Microsoft Certified Trainer (MCT) with 20+ years of experience designing and building Cloud & Enterprise systems. He has worked with companies of all sizes from startups to large enterprises. He has a passion for technology and sharing what he learns with others to help enable them to learn faster and be more productive.
Microsoft MVP HashiCorp Ambassador

Discover more from Build5Nines

Subscribe now to keep reading and get access to the full archive.

Continue reading