EXERCISE
1Understand the four critical technical decisions you must make for every component in your system.
Once you have your components defined, it's time to make them real. For every component, you need to make decisions in four key areas:
1. Database and Caching
2. Scaling and Fault Tolerance
3. Asynchronous Processing
4. Communication
These four pillars turn your conceptual design into a buildable system.
Pro Tip: Every successful system design makes deliberate choices in these four areas for every component.