Migrate a monolithic wallet to microservices

Quick Overview

This question evaluates a candidate's ability to design and plan a safe, compliant migration of a high-scale digital wallet from a monolithic architecture to microservices, covering service decomposition, data ownership, transactional consistency, security and key management, compliance, observability, and deployment strategies.

Migrate a monolithic wallet to microservices

Company: Apple

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Technical Screen

Assume you operate a monolithic digital wallet and peer-to-peer payments application (similar to Apple Cash). How would you migrate it to a microservices architecture? Define service boundaries (e.g., identity/KYC, wallet, ledger, payments orchestration, risk/fraud, notifications), data ownership and migration plan, API design and idempotency, cross-service transaction patterns (saga versus two-phase commit), consistency and reconciliation, authentication/authorization, PCI/PII compliance, observability, and deployment/rollout strategy (strangler pattern, canary, rollback). Provide a phased migration plan, key risks, and success metrics.

Quick Answer: This question evaluates a candidate's ability to design and plan a safe, compliant migration of a high-scale digital wallet from a monolithic architecture to microservices, covering service decomposition, data ownership, transactional consistency, security and key management, compliance, observability, and deployment strategies.

|Home/System Design/Apple
Apple logo
Apple
Sep 6, 2025, 12:00 AM
hardSoftware EngineerTechnical ScreenSystem Design
6
0

System Design: Migrating a Monolithic Digital Wallet (Apple Cash–like) to Microservices

Context

You operate a high-scale consumer digital wallet and peer‑to‑peer (P2P) payments app. The current system is a monolith with a single database handling identity/KYC, wallet balances, ledger, payment processing, risk decisions, and notifications. The system must meet strict reliability, security, and regulatory requirements.

Assumptions (adjust as needed):

  • Millions of monthly active users; peak thousands of TPS for wallet reads/writes.
  • Regulated environment; PCI DSS and PII obligations apply; sponsor bank and payment rails integrations (e.g., card/ACH/real-time payments).
  • Double-entry accounting is required; no loss or creation of funds.
  • 99.99%+ availability targets for critical money-movement paths.

Task

Design a migration from the monolith to a microservices architecture. Address:

  1. Service boundaries and responsibilities (e.g., identity/KYC, wallet, ledger, payments orchestration, risk/fraud, notifications, funding/settlement, limits/compliance, reporting).
  2. Data ownership and a safe migration plan from the monolith’s database to service-owned data stores.
  3. API design, versioning, and idempotency across retries and network faults.
  4. Cross-service transaction patterns (saga vs. two-phase commit) and when to use each.
  5. Consistency models and reconciliation (internal ledger and with external partners).
  6. Authentication/authorization (user-to-service and service-to-service), key management, and secrets.
  7. PCI/PII compliance and data governance (tokenization, encryption, retention, right-to-erasure).
  8. Observability (tracing, metrics, logs, audit) and operability (SLOs, alerts, DLQs, replay).
  9. Deployment and rollout strategy (strangler fig, canary, blue/green, rollback), including backward/forward compatibility.
  10. A phased migration plan with milestones, key risks, and success metrics.

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...