This document discusses learnings from building scalable cloud-native solutions. It covers considerations for scalability like decoupling services, partitioning data and throttling external communications. Specific patterns for communication between services are examined like asynchronous messaging for durability and load leveling. Testing is emphasized to ensure solutions can scale out. Designing for changes in the cloud over time with new services and features is also advised.