Design a cloud-based global property rental platform
Company: J.P. Morgan
Role: Software Engineer
Category: System Design
Difficulty: medium
Interview Round: Technical Screen
## System design: Cloud migration for a property rental website
A property dealer runs a website that lists properties (photos, location, rent details). They serve **international customers**, so **fast and secure** user experience is critical. They want to migrate from a traditional setup to a **cloud-based infrastructure**.
You are asked to **redesign the whole system** and replace a vague “process” box with the **actual workflow**.
### Functional requirements
The platform should provide services for:
- **View service**: show property details and photos to guests.
- **Search service**: search across different properties (by location, price, availability, etc.).
- **Guest service**: maintain guest favorites, last-viewed records, and basic profile preferences.
- **Update service**: allow admins/agents to create/update listings (including photos).
- **Payment service**: allow users to make online payments (e.g., booking deposit / rent payment).
### Non-functional requirements
- Global users (multi-region), low latency
- High availability and scalability
- Secure (authentication/authorization, secure payments)
- Observability (monitoring, logging, tracing)
### Deliverables
- High-level architecture (major components and data stores)
- Request flows for: search → view → favorite → pay, and listing updates
- Key design decisions (caching, consistency, indexing, multi-region, failure handling)
- Core metrics/SLOs to monitor
Quick Answer: This question evaluates skills in cloud-native system architecture, distributed systems design, scalability, security, data modeling, and operational observability for a global property rental platform.