bugfree Icon
interview-course
interview-course
interview-course
interview-course
interview-course
interview-course
interview-course
interview-course

System Design Question

Design a Cloud Service Brokerage System

bugfree Icon

Hello, I am bugfree Assistant. Feel free to ask me for any question related to this problem

Functional Requirements:

  • User registration and authentication (support for basic login, password hashing, and optionally 2FA).
  • Role-based access control (admin, regular user).
  • Cloud service catalog: list and search cloud services from multiple providers (e.g., VMs, storage, databases).
  • Ability to compare services (features, pricing, etc.).
  • Provisioning and de-provisioning of cloud resources via provider APIs.
  • View and manage active subscriptions/resources from a unified dashboard.
  • Basic billing: track usage and show estimated costs.
  • Integration with at least two major cloud providers (e.g., AWS, Azure) via their APIs.

Non-Functional Requirements:

  • Usability: Simple, intuitive web interface for users.
  • Security: Secure authentication, authorization, and data encryption in transit and at rest.
  • Availability: System should be available 99% of the time (no strict HA requirement).
  • Scalability: Should support up to a few thousand users and hundreds of concurrent operations.
  • Extensibility: Easy to add support for new cloud providers in the future.
  • Performance: API responses within 1 second for typical operations (excluding long-running provisioning tasks).
  • Auditability: Basic logging of user actions for troubleshooting and compliance.

System Design Diagrams

Zoom In and Out via trackpad or posture