Serverless computing is the abstraction of servers, infrastructure, and OSs.
Azure takes care of managing the server infrastructure and allocation/deallocation of resources based on demand.
Serverless computing implemented in 3 ways:
Serverless computing abstracts the servers you run on.
Deploy your code, which then runs with high availability.
- Serverless computing is an excellent fit for workloads that respond to incoming events.
- Events include triggers by timers (for example, if a function needs to run every day at 10:00 AM UTC), HTTP (API and webhook scenarios), queues (for example, with order processing), and much more.
- Instead of writing an entire application, the developer authors a function, which contains both code and metadata about its triggers and bindings.
- The platform automatically schedules the function to run and scales the number of compute instances based on the rate of incoming events.
- Triggers define how a function is invoked and bindings provide a declarative way to connect to services from within the code.
Pay only for the time their code runs.
Azure has two implementations of serverless compute:
- Azure Functions, which can execute code in almost any modern language.
- Azure Logic Apps, which are designed in a web-based designer and can execute logic triggered by Azure services without writing any code.
They're commonly used when you need to perform work in response to an event, often via a REST request, timer, or message from another Azure service.
Azure Functions scale automatically based on demand
Azure Functions can be either stateless (the default), where they behave as if they're restarted every time they respond to an event, or stateful (called "Durable Functions"),
They are similar to Functions, both enable you to trigger logic based on an event.
Logic Apps execute workflows designed to automate business scenarios and built from predefined logic blocks.
You create Logic App workflows using a visual designer on the Azure portal or in Visual Studio. The workflows are persisted as a JSON file with a known workflow schema.