Case study

Modernizing A Leading Cyber Security Company's On-Prem Product to a SaaS Solution

Introduction

Benison was tasked with modernizing a client’s on-prem product by migrating it to a Software-as-a-Service (SaaS) solution. The goal was to create a multi-tenant system that could support Managed Security Service Providers (MSSP) operators, allowing remote management of the existing on-prem product from the cloud. This transformation aimed to enhance operational efficiency, scalability, and accessibility for client’s customers.

Objectives

  • Migration to SaaS: Transition client’s on-prem product to a cloud-based SaaS solution.
  • Multi-Tenant Support: Develop a system that supports multiple tenants and MSSP operators.
  • Remote Management: Enable the control of on-prem applications from the cloud.
  • Data Synchronization: Sync data from on-prem databases to the cloud seamlessly.

Challenges

  • Codebase Restrictions: The existing on-prem application code could not be altered.
  • Database Schema Limitations: The on-prem database schema was not designed to support multi-tenancy.
  • Legacy Codebase: The project required using the existing codebase, which utilized older versions of React and Python.

Solutions and Implementations

  • Middleware Development:
    • Developed a middleware layer to interface between the on-prem application and the cloud.
    • The middleware handled data synchronization, ensuring that on-prem databases communicated with the cloud infrastructure without modifying the on-prem application code.
  • Data Synchronization:
    • Created a robust data synchronization mechanism to handle the transfer of data from on-prem databases to the cloud.
    • This mechanism involved periodic data extraction, transformation, and loading (ETL) processes tailored to handle the unique schema of each on-prem installation.
    • Employed secure data transfer protocols to ensure data integrity and confidentiality.
  • Multi-Tenant Architecture:
    • Redesigned the cloud database to support multi-tenancy, ensuring data isolation and security for each tenant.
    • Implemented tenant management features to allow MSSP operators to manage multiple clients effectively.
  • Leveraging Existing Codebase:
    • Refactored the existing codebase to support multi-tenancy without upgrading the underlying technologies significantly.
    • Utilized containerization (e.g., Docker) to encapsulate the legacy application, enabling consistent deployment and scaling in the cloud environment.
    • Upgraded existing codebase to use latest python and Java versions
  • Remote Management Capabilities:
    • Integrated remote management functionalities into the SaaS platform, allowing administrators to control and monitor on-prem applications from a centralized cloud dashboard.
    • Developed APIs to facilitate seamless interaction between the cloud management console and on-prem systems.

Technologies used

  • React: Adapted the existing React code to fit into the new multi-tenant architecture. Upgraded the react version from 14.x to 18.x
  • Python: Utilized the existing Python codebase, making minimal changes to ensure compatibility with the new system. Upgraded the python version from 2.7 to 3.1
  • Docker: Containerized the on-prem application to ensure consistent and scalable cloud deployment.
  • ETL Tools: Employed ETL tools to manage data synchronization processes.
  • Cloud Infrastructure: Leveraged cloud services (e.g., AWS, Azure) to host the SaaS solution, ensuring high availability and scalability.

Results

  • Client’s on-prem product was successfully transitioned to a cloud-based SaaS solution without altering the original codebase.
  • The new multi-tenant architecture allowed the client to scale their services efficiently and support MSSP operators.
  • The robust data synchronization mechanism ensured real-time data consistency between on-prem and cloud systems.
  • Remote management capabilities provided administrators with greater control and oversight, leading to improved operational efficiency.

Conclusion

Benison’s innovative approach to modernizing the client’s on-prem product demonstrates the power of cloud transformation. By overcoming significant challenges, including codebase restrictions and database schema limitations, Benison successfully delivered a scalable, multi-tenant SaaS solution. This project not only enhanced the client’s service offerings but also positioned them for future growth and adaptability in the rapidly evolving cybersecurity landscape.