What Is Serverless?

The word Serverless can be used to refer to different things. Although they’re all related, it is better to differentiate between the different terms. These are the different things the word serverless is referring to:

The main characteristic of all that involves the term Serverless is that all server processes are running somewhere (usually a third-party cloud services provider) instead of on-premises.

Serverless Computing and Serverless Architecture

Although serverless computing and serverless architecture are often used interchangeably, the first one is usually used for a cloud provider, which runs the servers and manages the allocation of computing resources; while the second term is often used for the applications that are designed following a serverless approach, this is, a cloud provider to run the server processes.

Some cloud providers are:

Serverless Frameworks

There are several frameworks for building and deploying serverless applications on the most common cloud providers, such as AWS, Google Cloud Platform, Azure, etc.

Some of them are:

Serverless Applications

A serverless application is an application that uses third-party services to do tasks traditionally managed by servers. Despite the word serverless, a serverless application needs a server on which to run the code.

The main difference is that a traditional application consists of a Client communicating with a server that handles most of the application logic; while in a serverless approach, the client communicates with third-party services triggering specific functions, breaking up the application logic in several API calls to the services managed by the cloud provider.

Useful Resources

Here are two different tutorials to build serverless applications:

Sources