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

  1. Data model and ticket state machine
  2. Sharding strategy (by tenant) and indexing
  3. Shard failure and data recovery
  4. SLA timers and escalation engine
  5. Search/reporting pipeline
added …
LeaderboardSalaryAccount