Why SaaS is the Best Option for COTS Software
Tags: cots, saas, integration, awscommunity
Published: 2023-11-28 14:06:18

As companies move to the cloud, there's often a temptation to simply "lift and shift" existing workloads, including Commercial Off-The-Shelf (COTS) software, to Infrastructure as a Service (IaaS) providers like AWS. However, this approach doesn't fully utilise the benefits of the cloud. For COTS applications in particular, Software as a Service (SaaS) is often the better choice. Here's why:

#Cloud is Not Just Another Datacenter
When moving COTS applications to the public cloud, it's easy to treat it like just another datacenter. But the cloud offers unique advantages in scalability, automation, and opex vs. capex spending. Simply shifting COTS to IaaS doesn't unlock these benefits - the application still needs to be maintained and managed much like traditional on-prem software.
Read more in my other [post](https://dev.to/bramverhagen/why-cloud-computing-is-not-just-another-datacenter-solution-understanding-the-difference-4mkf).

#SaaS Enables a "Shift Left" Culture
With a SaaS model, the COTS provider handles all hardware management, software maintenance, and upkeep. This shifts the focus left for your organisation, away from managing infrastructure and towards innovating on top of it. SaaS enables your technical teams to spend time optimising the business value of software rather than just "keeping the lights on." When considering the move of a COTS solution to the cloud, it's important to understand the benefits of SaaS. SaaS can help organisations focus on innovating and building new products and services, rather than on the maintenance and upkeep of existing software. It can also provide a more stable and reliable platform, as the COTS provider is the one responsible for the underlying infrastructure. Additionally, SaaS can be beneficial from a cost perspective, as it can help to reduce the need for in-house IT.

#Integrate via Modern APIs
COTS applications moved to the public cloud often still require custom integrations to interface with other systems. But SaaS offerings expose modern APIs using REST, gRPC, or GraphQL, enabling flexible integrations without touching the core software. This abstraction keeps integrations separate from the SaaS application itself. Moreover, this abstraction also helps to make it easier to move between different SaaS providers, should the need arise. In this way, SaaS can provide a more agile approach, allowing organisations to quickly adjust to changes in their technology stack.

#The Perfect Combination
For most COTS solutions, SaaS offers the best of both worlds - combining the configurability of COTS with the benefits of cloud-hosted software. Companies can focus on using the software to solve business problems rather than maintaining infrastructure and OSes. The SaaS model offers a clear path forward for legacy COTS applications. SaaS also provides cost savings, as companies no longer need to maintain their own datacenter or IT infrastructure, which can be a major expense. Cloud-hosted software also allows for continuous delivery of software updates, ensuring that organisations are always using the latest version of the product. Furthermore, SaaS products are typically more secure than self-hosted solutions, as they are hosted in highly secure cloud environments. Finally, SaaS solutions often have the benefit of greater scalability.

#When Self-Hosting Still Makes Sense
There are cases where hosting COTS on AWS may still be preferable - primarily when the application requires deep customization at the code level. If your company has invested heavily in customising around your COTS software, migrating those customizations to a SaaS version may not be feasible. But for most applications, SaaS delivers significant advantages over both on-premises and IaaS-hosted COTS. For companies that have invested in customizations, a hybrid approach of hosting COTS on AWS while migrating to SaaS for other workloads may be the most practical solution. This approach allows you to benefit from the scalability and cost savings offered by SaaS, while still leveraging the customizations made to your COTS applications. In the end, the best approach for your company will depend on its unique needs and requirements.

#The Roadmap to SaaS
For companies relying on COTS, SaaS should be the target destination whenever possible. Start by auditing current COTS applications and their custom integrations. Identify which can be easily migrated to SaaS, and which require deeper planning. Create a roadmap to move suitable applications first, while reformulating custom integrations around COTS to prepare them for future SaaS transitions. With the right roadmap, most companies can modernise their COTS software stack by moving it from on-premises and IaaS to SaaS.