Glossary of terms

Serverless Computing

Serverless computing is a type of cloud computing model, an approach to software development and execution where a company does not have to deal with infrastructure issues. In cloud computing, a cloud service provider manages the computing infrastructure, such as servers, storage, and networks, providing access to organizations and users over the Internet. The cloud provider is responsible for maintaining, updating, and securing the service, and the client can consume cloud resources on demand, paying for them as they are used. In serverless computing, the cloud provider is responsible for both the cloud infrastructure and application scaling. Serverless applications are typically deployed in containers that can run in any computing environment and be launched on demand upon request. Serverless allows developers to focus on the functionality of their applications without spending time managing infrastructure, making it especially popular for microservice architecture and web programming.

The serverless model can be used anywhere. However, there are several cases where it is easier and safer to start using it. These are cases of deferred or background tasks. For example:

  • creating additional copies of an image after it is uploaded to the site;
  • creating a scheduled backup;
  • asynchronous sending of notifications to the user (push, email, SMS);
  • various exports and imports.

Serverless functions are widely used in the parts of the application with which the user interacts and for which response time is important, for example:

  • chatbots;
  • backends for IoT applications;
  • manipulation of requests to your main backend (for example, to identify a user by User-Agent, IP, and
  • other data, or to get information about their geo-position by IP);
  • even as completely independent endpoint APIs.

These definitions summarize the three main features of what is called Serverless:

Abstraction.

The user does not control the server that runs the program. He knows nothing about it at all, all the nuances of the operating system, updates, network settings, and so on are hidden. This is done so that companies can focus on developing useful functionality rather than server administration.

Elasticity.

The Serverless service provider automatically provides you with more or less computing resources, depending on how heavy the load is on your application.

Effective cost.

If your application is idle, you pay nothing, because it does not use computing resources at that moment. You pay only for the time your app is actually running.

Limited life cycle.

Your application is launched in a container, and after a short time, from tens of minutes to several hours, the service automatically stops it. Of course, if the application needs to be called again, a new container will be launched.

Blog