A term that has been on everyone’s lips over the past 12 months is ‘serverless computing’. This is essentially about the provisioning of key ICT resources to users without the need to buy and implement additional hardware.
“In a nutshell, cloud providers will be tasked with the hassles associated with protocols, security, memory allocation, resource provisioning, speeds, capacity and suchlike,” says Louis Pienaar, businesss unit head: cloud services at EOH. “What serverless computing really does is shift the onus of running and managing infrastructure from the company to its cloud provider.”
He adds that of course there is hardware such as servers somewhere in the system. “It’s not so much that servers aren’t employed, but that businesses do not have to worry about them.”
The terms software as a service (SaaS), infrastructure as a service (IaaS) and platform as a service (PaaS) are terms everyone is familiar with. “However, there is a new term on the rise, called function as a service (FaaS), which will revolutionise the way we think about computing.”
Much the same as the terms containers and microservices, the term ‘serverless’ is a broad one. “Essentially, severless architectures really mean applications that depend heavily on third-party services, and eradicate the need for ‘always on’ server systems residing behind applications. Serverless technologies ultimately lessen the complexity associated with managing systems, and lower costs,” Pienaar explains.
In broad terms, he says serverless technologies can be divided into two general categories, backend-as-a-service (BaaS) and the previously-mentioned functions-as-a-service (FaaS). FaaS is basically a software framework offered by a service provider can be easily customised to meet the business needs of the user by offering the basis on which to quickly develop an application or system, he adds.
“While serverless computing, relatively speaking, is in its infancy, many industry notables believe that FaaS has great potential for organisations of all types and sizes. Firstly, serverless computing takes away the onerous task of managing resources, allowing developers to focus on their core imperatives of building superb applications and innovating. Ultimately, the major benefit is a more cost-effective approach to application development. Internal resources can be focused on new development alone, shortening development timelines, while not compromising on the quality of the product,” Pienaar says.
“Next, FaaS comes hand in hand with tremendous cost savings, as the need for heavy investments in infrastructure and hardware is removed. Even though cloud does the same, it is not without cost, as running workloads in the cloud still costs money. When a business pays only for the time when their code is actually running, expenses are lowered even further.”
There’s also the question of staff retention, particularly at a time where developer skills are at a premium. “Businesses that adopt FaaS may find themselves more attractive to the best developers working in the field. Too often, the top guys leave due to boredom and frustration with having to create the same feature over and over again. Eliminating the repetitive portions of the development process, allows them to work on the parts of the app that are new and interesting,” he adds.
For these and other reasons, serverless computing could potentially revolutionise the way that code is written and deployed, Pienaar says. “The days of thinking in terms of applications and API’s or long running processes are over. Nowadays, we look to functions that can respond to requests and process data based on events. There will be challenges associated with serverless computing as it’s a new paradigm; the arena is too new to have established best practices and similar. However, its promise is so great that the only way forward is to explore all the benefits its offers. I have no doubt FaaS will reach maturity fairly quickly.”