This document discusses strategic design approaches for building cloud native architectures using microservices and event-driven design principles. It covers defining service boundaries, inter-service communication maturity levels from messages to event-driven approaches, using CQRS patterns, and techniques for discovering bounded contexts like event storming. The document aims to help define how services can efficiently communicate and store application state in cloud native applications while balancing complexity, scalability, and eventual consistency tradeoffs.