Step 1: Fundamentals

Step 2: Databases

Step 3: Consistency & Availability

Step 4: Caching