Let’s imagine you have been assigned a task to write a service which takes an input data, let’s say it’s date, and reformats it into a format that you desire and returns the output. Now let’s also imagine that you don’t exactly know how much you need to scale it as it is dependent on some customer action. But you have an idea of the peak demand.

Now you can either go with setting up your deployment infrastructure, running an appropriate server for your code, and pay for handling the peak case, set up monitoring services and so on. But is it really necessary to go through all this hassle for a service like the one mentioned above? Or you can go the serverless route where you’ll get following advantages:-

Server Management not required

Pay for what you use

It’s inherently scalable

Updates are quick

Code runs physically closer

Now let’s look at some disadvantages of going serverless:-

Testing and debugging will be a nightmare

Security concerns

Not built for long running/resource intensive processes

Warm start and Cold start

Vendor dependency

So should you go serverless?

So those were my two cents on going serverless. But at the end it boils down to your specific use case. What to do you think about serverless architecture? Will you ever go serverless?

I like solving problems.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store