Time to retire the Servers?
Some customers find the prospect of a custom integration built on-prem or within their own cloud environment to be an attractive proposition. The selling point for this type of service is that it is built the same way that all applications have been built before them (i.e. they run on a server). But this type of solution is often leads to a high total cost of ownership and future technical debt.
If Cloud-based, these server-based solutions come with a range of advantages.
- No / low capex (unless a co-contribution is required)
- Opex model (rental and consumption based).
- Familiar coding environment.
- Performance can be increased through vertical and/or horizontal scaling.
- Easy and efficient fail-over and backup.
- Enables DevOps - CI/CD pipelines.
- Built in security offerings with SSO and OAuth2.
Despite these advantages, server-based solutions suffer from several disadvantages which either discourages investment or leads to risks which the business is ill-equipped to manage. These include, but are not limited to:
- Performance is capped to current instances unless investment is made in providing auto-scaling.
- Total Cost of Ownership exceeds the infrastructure cost.
- Outages hurt productivity.
- Susceptible to DDoS attacks
- Require patching and updates / planned obsolescence.
- Require down-time for updates / code deployment.
- Struggle to scale with high volume of data without strong investment in routing and load balancing strategies.
- Performance bottlenecks may persist and be troublesome to eliminate.
Another challenge associated with server-based integrations exists in determining the appropriate hardware requirements. As the performance needs of integrations can vary over their full lifecycle, if servers are over specified this can lead to underutilized or ‘wasted’ resources. The chart above shows an example of this problem.
Conversely if servers are underspecified, this can lead to poor performance of the solution, with hardware induced bottlenecks slowing down integrations. This problem is best illustrated with a graphic comparing the provision vs demand of resources for a server-based integration solution. Since under provisioning generally leads to a worse outcome than overprovisioning, the latter is usually the default solution leading to higher costs.
Server based applications and integration solutions are often recommended by developers who may have good intentions but haven't kept up to date with the cloud native solutions. Serverless computing offers substantial benefits over server based applications essentially removing many of the performance bottlenecks. It has been adopted by large organisations such as Amazon, Google, Oracle and Microsoft as the way of the future when it comes to application design, and despite the lack of awareness for many, has been around for many years. It is what drives the highly scalable computing requirements of Netflix and other streaming and data heavy services. Give us a call if you'd like to hear more about how serverless computing can alleviate the pains of future integrations, or check out our next blog post which covers this in detail.