Developers want to code. Hence Serverless.

How serverless is fulfilling the original promise of cloud

In this article, I am not going to define what serverless is. I am not even going to expand on the economic and architectural benefits of serverless that we have all heard about — reduced infrastructure ops, event-driven instant scale and low costs.

Instead I want to make a case for why serverless is the thing that all developers should care about, whether or not their bosses care for it, YET.

Starting with a personal story of course…

I have never done any web development”. The double-quotes here are not meant to poke fun at the concept but to signify my ignorance about what it actually means. For the longest time I didn’t know the difference between a service, tier, Apache, IIS, ASP, JSP, JS, CSS or any of those other acronyms. As a software developer, I had either written C++ code building desktop applications for Windows or C code building server management applications for Linux. I always thought that is what the cool kids ought to do and all the “web stuff” was for lesser programmers.

The more I stayed away from web, the more enigmatic it became for me. Things like REST, JSON, WebAPI etc. popped up in every second internet article. People building mobile apps were talking of building “web services backends” for their apps, which confused me. It didn’t help that the next hottest thing in town — “the cloud” — borrowed almost all its characteristics from the “web stuff”. If you wanted to build applications in “the cloud”, either you had to understand the “web stuff” really well or you had to be deep on Virtual Machines, Containers and those other virtualization related technologies. I had avoided both of them long enough that they had acquired a certain aura in my mind. Till I landed in a job where I was forced to learn all of that. THANKFULLY!

But what has any of that got to do with Serverless?

Lots.

Serverless makes cloud accessible to all developers by taking away its aura

These developers can take heart from the fact that all they need to do, to have applications running in “the cloud”, is to just write their business logic. Before serverless, their transition might have meant learning a lot of technologies which were all logistical in nature, mostly just doing undifferentiated heavy lifting. With serverless, their programming skills are all they need. What programmer doesn’t like the prospect of focusing on programming only?

Serverless provides a canvas for easy experimentation

Serverless focuses on developer productivity, not on sophistication

The bigger point I am trying to make here is that there are competing technologies even in the cloud, that allow you to do similar things. There are multiple scenarios in which VMs, containers, or serverless will provide similar outputs. However serverless will probably be the only one that optimizes for developer productivity by providing an experience focused on developer’s currency — which is not virtual machines, containers, orchestrators, or instances, but CODE. The problem of productively handling code (even the code meant for cloud) has been solved by world class IDEs like Visual Studio (try this).

Is serverless a panacea? No. Does it have issues? Sure. We have all heard of cold-start, lack of state, limits on duration, memory and so on. Are these deal-breakers? In most cases, No. The productivity benefits outweigh these issues already. Are these problems insurmountable? Not at all. The cloud vendors have seen enough merit and promise in this technology that they are sufficiently motivated to fix these issues soon.

In summary, serverless presents a great tool that all developers need to have in their toolbox.

Product Marketing Leader

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