phone icon nav Call Us 888-690-3282    Follow Us
phone icon nav Call Us 888-690-3282    Follow Us

Vendor-Driven Cloud Migration: How to Preserve Internal Reporting Capabilities

The Challenge

The client’s vendor was forcing them to move their primary database to the vendor’s cloud, but the client still needed to perform internal reporting, which required a local copy of the database to support the business intelligence dashboards and reports.

Several challenges arise when moving the primary database to a vendor’s cloud while maintaining a local copy for reporting. Let’s explore these:

  1. Data Consistency and Synchronization:

    • Issue: Keeping two copies of the database (cloud and local) introduces the risk of data inconsistencies.
    • Challenge: Ensuring that changes made in one copy are accurately reflected in the other.
    • Solution: Implement “view only” privileges on the local database.
  1. Latency and Performance:

    • Concern: Accessing the local copy for reporting may introduce latency due to network communication.
    • Impact: Slow reporting queries can affect user experience and productivity.
    • Mitigation: Optimize queries, consider caching strategies, and choose appropriate reporting tools to minimize latency.
  1. Security and Compliance:

    • Risk: Storing sensitive data locally requires robust security measures.
    • Challenge: Ensuring compliance with data protection regulations (e.g., GDPR, HIPAA) for cloud and local copies.
    • Recommendation: Encrypt data, restrict access, and regularly audit security controls.
  1. Cost Management:

    • Scenario: Running a local database involves infrastructure costs (hardware, maintenance).
    • Balancing Act: Evaluate the cost-effectiveness of maintaining a local copy versus relying solely on the cloud.
    • Advice: Consider long-term expenses and scalability when making decisions.
  1. Reporting Tool Compatibility:

    • Issue: Reporting tools may be optimized for specific database systems.
    • Challenge: Ensuring that the chosen reporting tools work seamlessly with both cloud and local databases.
    • Solution: Test reporting tools thoroughly and address any compatibility issues.
  1. Backup and Disaster Recovery:

    • Risk: Relying on a single cloud copy may expose the organization to data loss.
    • Precaution: Regularly back up the cloud database and have a disaster recovery plan.
    • Best Practice: Maintain off-site backups for both cloud and local databases.
  1. Vendor Dependencies and Exit Strategy:

    • Concern: Vendor lock-in remains a challenge, even with a local copy.
    • Mitigation: Develop an exit strategy that allows switching vendors or migrating away from the cloud if needed.
    • Advice: Negotiate terms with the vendor to ensure data portability and minimize dependencies.

In summary, balancing the benefits of cloud scalability and accessibility with the need for local reporting requires thoughtful planning, technical expertise, and a clear understanding of the organization’s requirements.

The Solution

The Performance One Data Solutions team implemented a nightly process to apply SQL Server transaction log files in order and open a local database read-only for daily reporting. Powershell scripts were created to drive the process, and SQL Server stored procedures were developed to apply the transaction log files.

Let’s describe the solution step by step:

  1. Objective:

    • The goal is to maintain both a vendor copy (in the cloud) and a local copy of the primary business database.
    • The local copy is used for daily reporting, while the vendor copy remains the authoritative source.
  2. Components:

    • SQL Server Transaction Log Files:

      • These files record all changes (inserts, updates, deletes) made to the database.
      • They serve as a detailed history of database modifications.
    • Nightly Process:

      • A scheduled task runs every night to process the transaction log files.
      • The order of log files matters to maintain consistency.
    • Powershell Scripts:

      • These scripts automate the process.
      • They read the transaction log files and apply changes to the local copy.
    • SQL Server Stored Procedures:

      • Custom procedures are developed to handle the application of transaction log data.
      • These procedures ensure that changes are correctly applied to the local database.
  3. Workflow:

    • Nightly Process Execution:

      • The nightly process begins at a predetermined time.
      • It identifies the next transaction log file to process (based on order).
      • The Powershell script reads the log file and extracts changes (inserts, updates, deletes).
      • The script applies these changes to the local database.
      • This process repeats for all transaction log files.
    • Database State:

      • To apply the transaction logs, the database will be unavailable for the transaction log restore process.  In the customers case that is 30 minutes daily.
      • Users can query the local copy for reporting purposes.
      • Any changes made to the local copy are temporary and do not affect the vendor copy.
  1. Considerations:

    • Security:

      • Ensure that the Powershell scripts and stored procedures have appropriate access rights.
      • Protect sensitive data during the transfer.
    • Monitoring and Alerts:

      • Set up monitoring to detect any failures in the nightly process.
      • Receive alerts if the local copy falls out of sync with the vendor copy.

The Results

A reliable nightly process to enable customer reports to be executed was implemented, tested, and rolled out to the enterprise.

Benefits included:

  • Data Consistency:

    • By applying transaction log changes in order, the local copy stays consistent with the vendor copy.
  • Reporting Efficiency:

    • Users can run reports directly against the local database without impacting the vendor’s cloud resources.
  • Vendor Independence:

    • The local copy provides resilience against vendor outages or changes.
    • If needed, the organization can switch vendors without losing historical data.

This solution combines automation, scripting, and database procedures to maintain a local reporting copy while keeping the vendor copy in the cloud up-to-date. It balances data consistency, reporting needs, and vendor requirements.

Background

A large automotive plant operator has been using a custom application framework to build an application integral to their operations. Originally built using JDK8 and JBoss4 against an Oracle database, the application received periodic updates, with the last major update in 2020/2021. In 2024, the client and Performance One Data Solutions, a division of Ross Group Inc., embarked on a joint effort to upgrade the technology stack to enhance performance, security, and maintainability.

Objectives

The primary goals of the project were:

  1. Upgrade the Custom Application Framework from JDK8 to JDK21.
  2. Upgrade the jQuery integration to release 3.7.1.
  3. Upgrade the application to run on Wildfly 30 from Wildfly 11.
  4. Migrate the database backend from Oracle 12 to Microsoft SQL Server 2020.

Challenges and Solutions

Framework and Database Migration:

  • Challenge: The application framework was vetted against Microsoft SQL Server but was not deployed in a major application.
  • Solution: Performance One refactored the framework to conform to Java 9+ standards and regression-tested it against Microsoft SQL Server 2020.

Application Refactoring:

  • Challenge: Refactoring the client application to compile and run using the new tech stack.
  • Solution: Performance One took a copy of the client application and refactored it to compile and launch using JDK21, Wildfly 30, and Microsoft SQL Server.

Data Migration:

  • Challenge: Migrating data from Oracle to Microsoft SQL Server.
  • Solution: Performance One provided migrated data and created installation scripts to upgrade the client’s Microsoft SQL Server.

Report Conversion:

  • Challenge: Converting BIRT and Crystal reports against Microsoft SQL Server.
  • Solution: Performance One converted the reports and ensured they worked with Microsoft SQL Server.

Project Timeline

Initial Milestones:

    1. Complete Framework upgrade to JDK21/Wildfly 30.
    2. Provide migrated data from Oracle to Microsoft SQL Server.
    3. Regression test the application framework against Microsoft SQL Server 2020.
    4. Refactor the client’s application to compile and launch using the new tech stack.
    5. Create installation data script for Microsoft SQL Server compliance.
    6. Regression test the application installation processes.
    7. Make recommendations for unused application features.
    8. Validate and upgrade application code.

Additional Tasks

  • Database Procedures Conversion: Performance One converted the client’s database procedures, functions, and views to Microsoft SQL Server.
  • Report Migrations: Ongoing conversion of BIRT and Crystal report development.
  • Application Enhancements: Upgrading client’s application screens for jQuery 3.7.1, file attachment uploads, and integration with scanner devices using web sockets.
  • Server Maintenance: Wildfly server maintenance, release builds, and deployment handling, with a transition plan for client resources post-go-live.

Conclusion

Performance One Data Solutions partnered with the client to upgrade the technology stack, ensuring improved performance and maintainability. The collaboration between Performance One and the client team demonstrated effective problem-solving and adaptability, setting a strong foundation for future upgrades and enhancements.

Contact-Us

Let's Talk

Use our expertise to propel your business to the next level.