Tech/Engineering

How Druva’s CRM Automation Framework Ensures Reliable Backup and Restore for Customer Readiness

Nishant Saxena, Manager, Engineering and Raja Shekhar Yeruva, Sr. Staff SDET

CRMs like Salesforce and Dynamics 365 are powerful platforms that streamline business processes by structuring data into objects, each linked to multiple others. As businesses scale, these relationships grow more complex, mirroring the increasing intricacies of their operations and data structures.

Druva provides a comprehensive and scalable backup solution for CRM applications, capable of handling billions of records while ensuring data encryption and secure storage. The backed-up data is efficiently stored in Druva's cloud storage, making it readily available for restoration in cases of unexpected data deletion, security breaches, hacking incidents, CRM org migrations, or disaster recovery scenarios. 

Restoring CRM data is inherently complex due to its hierarchical parent-child relationships, requiring parent records to be restored before child records to maintain data integrity, along with efficient traversal of deeply nested relationships and minimal performance impact during large-scale data restoration. Druva addresses these challenges with an optimized two-step restore process:

  1. Discovery: The discovery phase, powered by indexing, searches for selected objects, related child records, and specific data versions within Druva storage.

  2. Restore: The restore phase ensures that parent records are restored first, followed by child records, preserving relationships. 

Problem of Complex Data Relationships in Scalable CRMs

As data volume and hierarchical complexity increase, backup, discovery, and restore become CPU and memory-intensive, potentially leading to scalability challenges. While investigating one of the scalability issues, we discovered that one of our customers’ Salesforce org contains over 1,500 objects and 700M+ records, with intricate parent-child relationships as illustrated below:

CRM automation blog 1


These complexities make discovery, restore, and archival processes highly challenging and resource-intensive. For the engineering team, understanding the scale and depth of these relationships is essential to designing efficient, scalable solutions.

To validate these robust and scalable solutions, our QA team developed an automation framework called Druva CRM Automation Framework to replicate customer-like hierarchical relationships and relevant data, enabling seamless testing of backup, discovery, and restore. This ensures the Druva application remains fully optimized, scalable, and enterprise-ready, delivering a hassle-free experience for customers. 

This framework is designed as a generic framework so that it can support different CRM workloads, enabling seamless onboarding, automation, and validation across different platforms while ensuring data integrity, performance, and adaptability to evolving business needs.

Druva CRM Automation Framework Overview

CRM automation blog 2


Step 1. Schema Replication and Data Generation

To create a realistic testing environment, we built components to simulate a customer’s CRM Org schema and generate relational data that closely mirrors actual customer data. The core of this automation framework is developed in Python, offering flexibility to integrate workload-specific libraries, APIs, and CLIs. Here is the overview of this step.

CRM automation blog 3

 

Step 2. Snapshot Generation: Full Backup and Incremental Backups

CRM automation blog 4

 

  • Using this automation delete -> create -> update -> incremental backup in a loop, we can simulate the number of snapshots and its data (delta) as per customer environment.
  • Playwright is chosen for its cutting-edge features and precise control over browser automation. It has the ability to auto-wait for elements and perform actions with a higher degree of accuracy than traditional tools like Selenium.

Step 3. Data Restore: Restore, Seeding and Archival Restore

CRM automation blog 5

Step 4. Report Artifacts: Insights for System Performance

In any testing cycle, having clear and detailed reports is crucial for understanding the effectiveness of the tests and the overall performance of the system. Report Artifacts are a key deliverable after a full test cycle, providing valuable insights into test execution and system behavior. These artifacts include:

  • Test reports: Success/Failure with logs

  • Performance: Turnaround time

  • CPU usage

  • Memory usage

  • Database connections

This step is manual for now, but we are exploring AWS APIs and Grafana APIs to automate this step too.

Conclusion

Druva’s innovative approach to CRM data backup and restoration redefines how organizations address the complexities of modern, scalable platforms like Salesforce and Dynamics 365. By addressing the challenges of hierarchical relationships, vast data volumes, and resource-intensive processes, Druva ensures that businesses can rely on secure, efficient, and scalable data management and security. The Druva CRM Automation Framework plays a pivotal role in this success, providing robust testing and validation to guarantee data integrity, seamless restoration, and high performance across diverse CRM environments.