What does “serverless computing” really mean?

“Serverless computing” might sound impossible, and that’s because it is. There will always be servers hanging around somewhere. Serverless computing doesn’t refer to the total absence of servers. Instead it refers to how developers think about servers, namely, that they don’t have to think about them.

As Chad Arimura, CEO of the startup Iron.io and vocal advocate of serverless computing, told Infoworld, “What we’ve seen is that the atomic unit of scale has been changing from the virtual machine to the container, and if you take this one step further, we’re starting to see something called a function… a single-purpose block of code. It’s something you can conceptualize very easily: Process an image. Transform a piece of data. Encode a piece of video.”

Serverless computing has less to do with the physicality of servers, and more to do with the modern developer’s perspective. Developers can effectively grab functions from a library without having to consider server infrastructure as they create an application.

One of the most well-known examples of serverless computing is Amazon’s AWS Lambda is the best-known example of serverless computing. When a developer uploads code into Lambda, the service takes care of everything required to make it run scale. Issues like capacity, scaling, patching, and administration of the infrastructure disappear. You can even set up your code to automatically trigger from other AWS services or call it directly from any web or mobile app.

Serverless systems allow developers to build complex systems much more quickly and ensures that they are spending most of their time focusing on core business issues rather than infrastructure based and administrative duties. These systems can scale, grow and evolve without developers or solution architects having to patch a web server ever again.

Serverless computing is most importantly about developer efficiency. It allows developers to forget about infrastructure concerns and let’s them refocus once again on the heart of their jobs: writing code.

It should be noted that while serverless computing is pretty amazing, there are certain limitations, and not all applications today can be implemented the serverless way, especially when it comes to legacy systems and public cloud services. However, when utilized in conjunction with the right business, it can take efficiency to a new level.

//