--- title: "A cheat sheet for system designs" description: "15 core concepts for system design in a handy cheat sheet." image: "https://assets.bytebytego.com/diagrams/0352-a-cheat-sheet-for-system-designs.png" createdAt: "2024-03-08" draft: false categories: - cloud-distributed-systems tags: - "system design" - "architecture" --- ![](https://assets.bytebytego.com/diagrams/0352-a-cheat-sheet-for-system-designs.png) The diagram below lists 15 core concepts when we design systems. The cheat sheet is straightforward to go through one by one. Save it for future reference! * Requirement gathering * System architecture * Data design * Domain design * Scalability * Reliability * Availability * Performance * Security * Maintainability * Testing * User experience design * Cost estimation * Documentation * Migration plan