Microservices are not for everyone, but there are some incredible benefits to employing microservice architecture principles to enable co-evolution of services and features, and reduce friction during the DevOps cycle. The growth of moving parts, however, does require tight DevOps procedures, and visibility into system operations including diagnostics, application events and audit trail. Event streaming can enhance your solution enabling async processing and scale, but also enhancing visibility to the solution as a whole. The good news is that if you are already designing a solution based on microservice principles, you are already positioned to incorporate events with less pain. Services that "fit in your head" lead to a manageable approach to introducing event-based strategies. In this session you'll learn how to design a microservices solution with Docker that relies on event streams to produce workflow state, history and full audit. You'll see patterns for structuring your solutions, managing events and payloads, designing your eventual consistency strategy, and producing full history and audit logs for the solution.