Security Testing Agent
Runtime Configuration
Feature Flags
eBook
eBook

Monolith Breakup: Stateful Services | Harness Resource

Learn how to maintain feature flag consistency in different scenarios and how to develop, test, and work with feature flagging at scale. Download the eBook to learn more.

Published
January 1, 2024

Guide on its way

Check your inbox — your playbook is ready.

You're all set

Check your inbox — your download is on the way.

Redirect link
Redirect link

What you'll learn

Key Takeaways

Replace Database Joins with Formal APIs

Monoliths typically rely on shared datastores and database joins across distinct domains. Extracting a stateful service requires replacing these tight database-level integrations with defined service interfaces.

Segregate Query and Update Interfaces

Creating distinct interfaces for querying and updating state is essential for a controlled migration. This allows synchronized state to be maintained across two data sources during the transition.

Duplicate Updates and Backfill Historic Data

Before migrating read operations, implement an update duplicator to route writes to both the internal and external stores. The new service must also be backfilled with existing historic data to ensure consistency.

Migrate Queries Gradually Using Feature Flags

Introduce a query toggler to route read requests to either the legacy implementation or the new service. Use feature flagging infrastructure to gradually increase the percentage of traffic sent to the new external store.

Minimize Time Spent Straddling Data Stores

Maintaining multiple synchronized data stores is a precarious transitional state that risks data corruption. Execute the migration plan decisively to avoid keeping data stores in sync for an extended period.