Serverless technology is based on the following principles:
- Lower cost: Cost is based on the actual consumption of computing resources and power. There is no cost if there is no consumption.
- Unlimited scalability: With serverless, there is no need to perform either manual or automatic scaling operations. All scaling up and down is handled directly by the Azure platform. The platform ensures that enough servers are provisioned to support the serverless deployment whether there are a few hundred users or millions of users; this scaling happens transiently without any interference or knowledge of the organization deploying the serverless components.
- Event-driven: Serverless functions should be able to execute based on certain events happening. The event should trigger the execution of the function. In other words, serverless should allow functions to decouple themselves from other functions and instead rely on the firing of certain events in which they are interested.
- Single responsibility: Serverless should implement a single functionality and responsibility and it should do that well. Multiple responsibilities should not be coded or implemented within a single function.
- Execute quickly: Serverless functions should not take a long time to complete a job. They should be able to execute quickly and return back.