Evolutionary changes in technology happen almost every day. However, revolutionary changes only happen about once a decade. If you think back to early personal computers, it was revolutionary when DOS enabled personal computers to be used by consumers. Even though the software was limited and came on giant floppy discs, it offered new functionality that users had not experienced before.
Evolutionary changes in technology happen almost every day. However, revolutionary changes only happen about once a decade.
A little less than a decade later came Windows. This gave computers a graphical interface that could run more than one program simultaneously. Over time, Windows had evolutionary changes as it went from versions 1, 2, 3, 95, 98, and so on.
The internet has gone through similar changes. It was a revolutionary technology with evolutionary increments along the way. However, we’re now embarking on the latest revolutionary change, known as serverless technology.
Serverless technology is a product of the cloud movement. I wrote about cloud’s turning point in a previous article, but cloud computing is also one of those revolutionary industry shifts as it opened the door for companies to create applications faster, cheaper and more focused on specific industry problems.
Serverless is a concept that can be hard to wrap your brain around at first. Traditionally, software is server-based. It’s either hosted on owned, local servers or in the cloud using rented third-party servers. Either way, those servers are expensive. For servers owned by companies specifically, the upfront cost is one thing, but there are also on-going costs in hardware maintenance, co-location hosting, energy and of course staff time.
Server-based software has always been riddled with “hidden” costs as they often get buried in IT budgets as fixed/sunk costs. But for SaaS providers, these costs have to be considered variable costs to deliver a product to end users.
With serverless tech, or what I call “service-based” technology, you are only paying for the compute time necessary to serve each request — not the additional overhead and idle time of the server. This on-demand cost model equates to costs about 1/10th that of server-based computing. This is game changing in general, but especially for SaaS application providers.
A simple analogy would be office space, especially in the time of COVID when many people are working from home. You typically lease office space in multiple year contracts. You’re paying for that office space whether you use it or not. But what if you could lease only what you need on an hourly basis. One day you might need 250 offices and the next day only one. Your on-demand cost would be a fraction of the contracted cost. This is how serverless technology works to change the cost model.
When software is server-based, it’s deployed to servers running day and night regardless of actual usage. Because there is a limit to the number of concurrent users per server, you end up sizing for peak usage even though the server will remain quiet all night, just like an office.
With serverless, adding more compute power happens in fractions of a second as the server layer is abstracted from the software and delivered as a service. Scaling up or down happens instantly — because your software runs across thousands of servers, as a service. Rather than paying the high costs of keeping servers running 24/7/365, you only pay for the processing power you need to serve the next request. At Qrvey, we’ve been able to reduce AWS infrastructure costs up to 90% compared to our competition using serverless-based software versus server-based.
At this point, server-based computing is not sustainable in the long run. The environmental cost is enormous. Building data centers, filling it with hardware that needs replacement in just a couple years, and the cost (and waste) of heating and cooling is just too much. With the extreme rise in demand for computing power, how many of these data centers can the earth support where servers sit idle much of the time?
With the revolutionary nature of serverless technology, software architecture will evolve as well. To truly realize the value of serverless, software architecture needs to adopt a microservices-based approach as these services will run in fractions of a second, but only as needed. The challenge for established software companies is that existing systems can’t be migrated to serverless tech, it requires a long term commitment as the system will need a complete rewrite from the ground up. Product reinvention is risky, but will become necessary for everyone at some point.
The competitive landscape for software companies will also evolve. Those that embrace serverless technology to take advantage of microservices are far ahead of traditional software providers. A few companies, like Qrvey, are leveraging serverless technology to build a next generation analytics product that scales extremely efficiently, is more cost-effective than traditional software and maximizes performance.
Remember how you felt when you first saw software running on DOS, then when you saw Windows for the first time, and especially when you learned about this thing called the Internet. Serverless technology is our next technology revolution. While serverless technology is still maturing, I can’t help but wonder what will revolutionize technology next.