Imagine a world where we have computers, and people made computer services that just hosted computing or holistic software. You can put a site or install a database. All computers have a processor such as a CPU, GPU and people just used it as a computer machine.
But what if there was a potential benefit to your computer beyond that, such as hosting a data centre and installing whatever software that you need? It’s basically a solution where all the elements you need are behind the computer. Sometimes these solutions increase the cost of running and maintaining, and it can take a lot of time to install the software due to the remote computer software installed where you then need to distribute the work to keep it running. However, the overall benefits are far greater.
The challenge of constantly growing in customer size means the number of requests per second increases. Previously, you would have to extend the number of servers. But developers decided, what if we could install a couple of software systems inside of this computer and make it work more efficient?
What is serverless computing?
Serverless computing is a method of providing backend services on an as-used basis using an external system that hosts the software, and the computer can contain as much as it needs. For example, you can install five or more operating systems the size of the computer and as a result, you can handle the customer request in a more efficient way. You can increase the number of services in the computer by adding more and more operating systems inside computers. Servers are still used, but a business gets its backend services from a serverless vendor and is charged based on usage, not a fixed amount of the number of servers or requirements.
Graph illustrating the cost value of serverless as opposed to traditional servers as you scale.
What if you don’t own the operating system? You’re not owning the migration team or an operating system. You’re just owning a small piece of code. This makes it a little bit more efficient in the way you maintain and pay for it. You also have access to the separate data inside of the database that is also not owned, you’re just owning rows inside of that database.
Why are serverless frameworks increasing in popularity?
Serverless frameworks are gaining more popularity because you don’t need to worry about the maintainability of the hardware. Previously, you had to care about where you went to store everything. Serverless frameworks are driving the functionality.
Serverless frameworks can optimise cost because you don’t need to think about uptime, and it depends on the providers you are paying. It also doesn’t require someone to look after the server 24/7 because the environment is owned by another company, making it their responsibility.
If you find the number of requests is growing, you will just need to increase the number of resources, only paying for the requests you use. The vendor decides how much computer CPU time you provide, how much memory you need, and how much storage for the database is required. The start time for new systems is decreased dramatically for customers because you don’t need to spend time doing the initial configuration, you start to work on software to provide you services. We have seen many Godel partners begin to plan for serverless frameworks as its popularity is rising.
What interesting features does it offer to developers?
Previously, when you needed to implement more requests, you only had one machine to handle them. You had to install the database, or at least set up the database, appropriate channels, tables etc. and you had to go back and forth. Nowadays, you just go to a simple browser window, making it super easy.
The number of people within the team will also drop significantly. Usually, there is one DevOps person shared amongst five teams just to support the site environment. This is important right now because the market doesn’t have enough developers to fill the vital roles so this will help with the pressure. You need developers to keep up with the new demand, as it grows, you need to move with it. You don’t have to have a lot of skills to start working with servers so if hiring is a challenge, you can upskill your developers.
Less servers, more serverless
Questions from a technical point of view have also decreased as there is less to think about with serverless computing. However, you should still consider how to work, support, maintain and extend the architecture and you should still think about how reliable your software is.
For example, BigQuery is a serverless, highly scalable, and cost-effective multicloud data warehouse designed for business agility hosted by Google. As I have previously mentioned, you just pay for a certain number of requests. However, if your software is not reliable, you would need data engineers to come and check your database – but this will cost you a lot of money if a company like BigQuery came and so these checks. This is something to keep in mind, if your software is not efficient, you need to be prepared to pay to make it more efficient.
What does the future hold for serverless?
Serverless computing continues to develop, and more businesses are seeing the benefits such as more efficiency and no ownership of the server meaning more focus can go into ensuring the software is reliable. It is worth highlighting it does cost more to run, but overall, you see significant cost savings as you are only paying for what you use. Serverless is changing the future software development model and process and I believe it to be the future of cloud computing.
Illustrations created by Siarhei Palianski, Sr. User Experience Designer at Godel