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.
Case study
Modernizing A Leading Cyber Security Company's On-Prem Product to a SaaS Solution
Introduction
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.