Getting started with serverless on Azure
Serverless models abstract the underlying compute infrastructure, allowing developers to focus on business logic without needing extensive startup or maintenance cost to set up the solution. Serverless reduces overall costs since you only pay for the duration the code was executed, meaning an event-driven model is suitable for situations where an event triggers a defined action. For example, receiving an incoming device messages to store for later use, or a database update that needs some further processing.
There are many places to start when it comes to serverless computing, but let’s start with a CI/CD application frontend.
CI/CD for serverless application frontend on Azure
Serverless computing abstracts the servers, infrastructure, and operating systems, allowing developers to focus on application development. A robust CI/CD (or Continuous Integration/Continuous Delivery) of such applications allows companies to ship fully tested and integrated software versions within minutes of development. It provides the backbone of the modern DevOps environment.
But what does CI/CD actually mean?
- Continuous Integration allows development teams to integrate code changes in a shared repository almost instantaneously. This ability, coupled with automated build and testing before the changes are integrated, ensures that only fully functional application code is available for deployment.
- Continuous Delivery allows changes in the source code, configuration, content, and other artefacts to be delivered to production, and ready to be deployed to end-users, as quickly and safely as possible. The process keeps the code in a deployable state at all times. A special case of this is Continuous Deployment, which includes actual deployment to end users.
This tutorial discusses a CI/CD pipeline for the web frontend of a serverless reference implementation. This pipeline is developed using Azure services. The web frontend demonstrates a modern web application, with client-side JavaScript, reusable server-side APIs, and pre-built markup, alternatively called JAMstack. You can find the code in this GitHub repository. The readme describes the steps to download, build, and deploy the application, so be sure to follow along in setting up this serverless instance.
The following diagram describes the CI/CD pipeline used in this sample frontend:
Next Steps
You can create serverless apps using familiar tools right from your own developer environment and on your favourite operating system. Get first-class services to build, test and deploy functions, containers and Kubernetes-based applications.
CI/CD for serverless
- Get unlimited, cloud-hosted private git repos with Azure DevOps. Easily set up continuous integration/continuous delivery (CI/CD), add automatic package management, automatically trigger builds, and deploy to Kubernetes, Azure Functions, Azure Web Apps or any cloud.
App development tools
- Build, run and debug serverless applications with a comprehensive set of developer tools. Use emulators to develop your apps locally for advanced scenarios like Functions and Kubernetes, then easily target them to Azure when you’re ready to deploy.
Further Reading
- View Code walkthrough: Serverless application with Azure Functions on Microsoft Docs
- Create serverless applications on Microsoft Learn
- Create serverless logic with Azure Functions on Microsoft Learn
- Create a long-running serverless workflow with Durable Functions on Microsoft Learn