The pros and cons of Serverless architecture

4th June 2021 - Emma Morley

Blog Post
The pros and cons of Serverless architecture

What is Serverless architecture?

Serverless architecture allows a business to run its day to day applications and host software without having to manage the associated infrastructure.

What are the benefits?

Reduction in staff hours. Going serverless eliminates architecture responsibilities (scaling, maintenance, provisioning) from the workforce, reducing IT staff hours spent on these tasks, allowing them to focus on code, hence moderating costs. Reduced operational cost. Outsourcing to a service provider running thousands of similar databases initiates an Economy of Scale, giving automatic cost savings relating to shared infrastructure. Also, not only does the scaling functionality of Serverless architecture reduce computational cost, it diminishes operational costs; scaling is automatic.

Reduced system inefficiencies. Deploying a server application to solely service occasional demands (i.e. a request every minute or so) is hugely inefficient. Sharing this via vendor supported serverless architecture eliminates this inefficiency. Another example relates to ‘spiky' traffic profiles (a low baseline, with periods of vastly increased requests). Using Serverless architecture allows a business to respond to these spikes, without compromising response times and without having to increase in house hardware by several factors over what is strictly necessary to handle their baseline traffic. The business only pays for the extra capacity required during spikes.

A greener way of working. Idle servers consume an exorbitant amount of energy. Typical servers in most business only deliver circa 15 percent of their maximum potential computing output annually. Not only is that astonishingly inefficient in terms of company overheads, it creates significant environmental impact. Outsourcing server provision mitigates this and could even improve the case for a business' ISO 14001 accreditation.

What are the drawbacks?

Vendor control. As with any outsourcing strategy, a business inevitably passes some system control to a third-party. Potential impacts of this could include unplanned system downtime, unexpected functionality constraints, unanticipated costs, loss of functionality and obligatory upgrades. To improve the likelihood of delivering their contractual goals, most vendors apply tight constraints on system usage.

Whatever Serverless features a business chooses, their implementation will differ from other providers. Hence if a business wants to switch vendors there will be a requirement to update operational tools and code.

Is there a halfway house?

To some extent. . . PaaS (Platform as a Service), offers many of the same benefits as Serverless (AKA Function as a Service). While it eliminates management requirements of server hardware and software, the execution lacks scalability, which is possible only at the entire application level. Any increase in load would result in the necessity to run multiple instances of the affected application. In short, the benefits are not as pronounced as when going fully serverless. Operating a virtual server from a cloud provider eliminates the need for physical hardware but still requires management of the operating system and software.

With serverless, each application is split into individual, autonomous functions, hosted by the provider and infinitely scalable as demand fluctuates. The client only pays for the resources they use. Additionally, a fully serverless solution requires almost no system administration, greatly reducing operational cost.

Is Serverless Architecture right for my business?

Any business running a relatively small number of functions should consider using a serverless provider. In short, the benefits of serverless architecture to medium sized and small businesses outweigh the pitfalls, in terms of costs, system administration, efficiency, environmental sustainability and system reliability. Choosing a mature, established service provider also mitigates any perceived drawbacks. Serverless architecture is an exponentially growing technology and although new, it will play a crucial future role, as the abundance of applications, run on in house, company servers becomes less practical and less efficient.

Share

Ready to Accelerate Your Business Growth?

Let's connect and transform your software ideas into reality.

Schedule a Call