What is Serverless?

What is Serverless?

Learn about the benefits of serverless

ยท

3 min read

How is serverless different than a normal server? What are the pros and cons?

Serverless is a new buzzword. It's a popular way to deploy your code in the cloud. You can use serverless to scale to millions of requests! Serverless can execute code or event host a database. This article is a high-level overview of what serverless is.

Table of Contents

๐Ÿฆ Follow me on Twitter if you would like to see more content like this! ๐Ÿฆ

What Is a Server?

"In computing, a server is a piece of computer hardware or software that provides functionality for other programs or devices, called "clients". This architecture is called the client-server model." - Wikipedia

A server is someone else's computer, although you can own/run your own. The server is where an application is deployed. Most developers deploy their code to a remote server where someone else handles maintaining the hardware and software. This blog runs on a server!

What Problem Does Serverless Solve?

Servers can be expensive. For small projects, it can be a big financial obstacle. Your server needs to be running 24 hours a day to be able to handle requests at any given time. These costs add up when you pay hourly!

Here comes serverless to the rescue! You only pay when your code is being executed. Your code will get run when it needs to. You are charged for the amount of time and memory used.

Please note, serverless doesn't mean there is an absence of a server. Serverless infrastructure is running on someone else's managed server. This means you don't have to worry about patching software, network security, or uptime. You only pay when it's being used. Sounds great! Right?

Scalability

When your application (running on a classical server) starts to slow down, there are two ways to speed it up. Get a bigger server (scale-up/vertically) or get more servers (scale-out/horizontal). Both can be expensive options. You either need to provision these new servers or use services that will scale up and down automatically.

In a serverless world, you can scale to millions of requests. No new infrastructure required! There is no need to provision new servers. Hence, serverless!

How Can You Use Serverless?

Execute your code in the cloud

Serverless Advantages

  • No servers to manage!
  • Scalability from the start
  • Cost-effective
  • Modular code
  • Easy to use deployment tools

Serverless Drawbacks

It's not all rainbows.

  • Cold starts - When your code has not been run recently there is latency
  • Requires proprietary tools
  • May result in redundant code
  • Complex caching
  • Debugging can tricky
  • Potential for costs to skyrocket due to buggy code or edge cases

Conclusion

In a world surrounded by servers, serverless infrastructure is coming to the forefront. Serverless can be leverage to be able to build infrastructure ready to scale from the start. You can also take advantage of the low cost to get started. Serverless is not a blanket solution. It is not perfect for all solutions. Yet, I strongly recommend you give it a try and decide for yourself.

Cheers! ๐Ÿป

Inspired By

Whats Serverless - Technically Substack

๐Ÿฆ Follow me on Twitter if you would like to see more content like this! ๐Ÿฆ

Did you find this article valuable?

Support Phillip Ninan's Blog by becoming a sponsor. Any amount is appreciated!