Recently the tech world has been ablaze with talk of serverless architectures. Whether serverless proves to be the future or a passing fad has yet to be seen (I’m in the “it’s the future” camp), but one thing is for sure it needs a new name.
Going “serverless” doesn’t mean that your application runs without a physical server, just that you don’t have to worry about the server. Serverless architectures rely on platform-as-a-service (PaaS) providers for their compute time. The platform is obviously made up of servers executing the tasks, but the developer doesn’t need to know the specifics.
The most well know provider is Amazon with the AWS Lambda platform. Lambda runs your code on demand and only charges you for actual compute time, it allows you to distribute your load and scale without worrying about infrastructure at all. This is an extremely powerful concept that will further reduce barriers to entry.
As serverless architectures mature expect to see more new frameworks that help abstract away to repetitive tasks and see new best practices around performance, scalability, and security spring up. In a way we’re looking at the next wave of microservices, but this time the service is reduced to an individual function and executed independent from the rest of the codebase. Developers adopting this new paradigm will be able to see the true cost of each and every function in their application and be able to tune them without impacting one another.
I’m excited to see serverless architectures take over the web, I just hope we can come up with a new name.