Over time, we have watched the levels of computing abstraction filter down to a mind-boggling degree. The virtual machine was the first step on the path, allowing us to take a single server and divide it into multiple machines, providing far more efficient use of the machine’s resources. This in turn opened the door to cloud computing itself, and it remains an important piece of cloud technology today.
Containers came along and brought the abstraction down another level, breaking those VMs into even smaller pieces. You could take what was once a monolithic application and break it into pieces, only serving those pieces when absolutely needed. This in turn led to the idea of abstracting away the server itself. That is the essence of so-called serverless computing.There is still infrastructure somewhere, of course. There has to be, but it becomes serverless from the developer’s perspective in that they no longer have to think about the underlying infrastructure. It instead becomes just a piece of the programmable puzzle. It only comes into play when needed, as triggered by a particular event.
For companies working with containers, the serverless idea is the next logical extension, especially if you are using Kubernetes, the immensely popular open source orchestration tool to manage your container lifecycle process. The orchestrator works like the conductor of an orchestra, but instead of telling the violin when it’s time to come in and when it’s time to stop playing, it’s telling the containers when to launch and when to shut down because its role in the bigger picture is complete.
The next logical step
While serverless can work with or without containers, it is particularly well suited to them. Your cloud provider’s serverless tool can trigger an action, based on certain conditions. That means as a developer, you have broad leeway to use the underlying infrastructure in creative ways without paying for server time you’re not using.
That’s because you only pay when a trigger event happens and your cloud provider takes care of the infrastructure requirements for you based on the number of resources required to run that event. This is also sometimes known as Functions-as-a-Service.
The cloud companies certainly have seen the potential of this whether AWS Lambda, Azure Functions, Google Cloud Functions, or IBM Cloud Functions. All of the cloud players are getting into the act because they see what’s coming like the rest of us.
Serverless computing is a pretty fascinating idea, and the ability to use an event to trigger an activity to run the exact amount of underlying infrastructure you need could completely change the way we think about computing. If you aren’t using it already, it is a trend that’s coming over the horizon, and chances are it will become part of your cloud arsenal in the not-too-distant future.
Photo: Ron Miller