What is serverless?

What is serverless and why should I care?

Serverless is a term used to identify a specific way of running a program that does not involve managing your own server.

You create aFeatures, Place it somewhere in the cloud server, all you have is a URL to call.

When you call the URL, the function will be executed.

Others manage servers, extensions, security. No need to worry about kernel updates or moving to the next LTS version of the Linux distribution.

From the perspective of the pricing model, serverless is also very convenient. Traditionally, you might rent a VPS (Virtual Private Server) every month and then pay monthly, regardless of your actual usage.

If the number of users surges due to someone sharing your website in a popular place, the server may not be able to satisfy all requests unless you upgrade to a larger server.

With serverless,You pay for the requestInstead of paying for the server. If no one uses your service, you don’t need to pay anything. If a total of 100.000 people jump to your site, the functionality will be expanded because the company that manages the functionality for you already has all the elements to handle traffic and automatically devotes more resources to your functionality. You pay for the resources you use, not for certain resources that you might use in the future.

If done correctly, it also proves to be very liberating from a mental point of view for developers who carry out projects from the developers themselves. You are not responsible for the server that powers the application, so you cannot be on standby at any timetwenty four7Resolve any problems that may occur. You don't have to be a system administrator or devops expert to run your application.

It sounds like a dream world, where is the harvest?

First, serverless is still in its infancy. All participants have different implementations of its implementation, and the tools surrounding it also vary in quality.

The smart pricing approach is that if the traffic is predictable and the server can be purchased at a lower price (for example, by keeping an instance on AWS), it may not make sense to you.

You also do not control the server, which means you must rely on the available infrastructure for logging, monitoring, and debugging, and it is difficult to replicate settings locally.

What are the main players in the market?

AWS Lambda is probably the most famous and commonly used one, and currently allows you to create serverless functions using Java, Go, PowerShell, Node.js, C#, Python, and Ruby.

AWS Lambda is the basic service used by the product, designed to simplify the serverless service provided to developers:

They have a great FAQhttps://aws.amazon.com/lambda/faqs/I recommend reading.