Serverless computing solutions
This section will cover the following exam objective: describe the benefits and usage of serverless computing solutions, including Azure Functions and Logic Apps.
Before we look closer at the serverless computing solutions that are part of the exam objectives, we will create a knowledge foundation and baseline to build from. This also aims to build an understanding of the bigger picture of how the different compute solutions are positioned and interrelated for both technical and business personas.
As we learned in Chapter 1, Introduction to Cloud Computing, serverless computing arose due to the evolution of cloud computing platforms and is an architectural shift in the compute layer. This evolution moves IT professionals in a new direction, away from infrastructure in the deployment, scale, and management layers and toward the business logic layer. This is the new unit of deployment, scale, and management; it extends and evolves the PaaS cloud computing services model.
The term serverless is a misnomer; there are still servers and an infrastructure to execute your code or workflow on. The concept is about not needing to create, manage, or pay for the underlying infrastructure so that you can execute your code or workflow. The term serverless just means that Microsoft abstracts this entirely (removes it from your concern and control) and provides this cloud-hosted serverless code and workflow execution environment to the customer as a service.
In serverless, we say that the runtime and languages are abstracted; when we say abstracted, we mean that this requirement is removed from us and provided back to us as a service by the platform provider. When we compare serverless to the other Azure platform compute services, we can say that PaaS is about abstracting the compute, while IaaS is about abstracting the hardware. The following diagram visualizes the serverless compute service’s position:

Figure 5.1 – Serverless positioning
In the preceding diagram, we can see that our focus has shifted away from infrastructure, compute, and runtimes so that you can focus on the code and logic; the lower layer’s needs for runtimes, compute, and infrastructure are not our concern and not under our control; they have been abstracted. You can now focus your effort on the code and logic. The serverless approach, referred to as cloud-native, is a modern and new way of thinking and adopting the cloud mindset we looked at in Chapter 1, Introduction to Cloud Computing. This requires applications and solutions to be rebuilt and rearchitected to take advantage of these cloud-native benefits. This means that it won’t be a suitable answer to some questions and is best suited to event-based solutions. However, it provides another way that applications and solutions can be delivered to best suit the demands of an organization.
The following are the key takeaways to answer why serverless may be chosen as the compute service for a workload:
- Reduced Development and Operations resources and their costs (time to deliver software and systems using a DevOps culture)
- Reduced time to market
- Per-action billing
To cover the exam objectives, we will look at the following two components of the Azure serverless category:
- Azure Functions: Serverless compute service
- Azure Logic Apps: Serverless workflow service
This section introduced serverless solutions. In the next section, we will look at Azure Functions.