Design an ITSM Ticketing Platform With Sharding
Problem
Design a ticketing / IT service management platform (ServiceNow's core) at enterprise scale.
Requirements
Functional:
- Create, assign, and track tickets through states
- SLA tracking and escalations
- Search and reporting
- Multi-tenant
Non-functional:
- Thousands of enterprise tenants
- High write volume, strong consistency on a ticket
- Recoverable on shard failure
Discussion points
- Data model and ticket state machine
- Sharding strategy (by tenant) and indexing
- Shard failure and data recovery
- SLA timers and escalation engine
- Search/reporting pipeline
added …