This document discusses various patterns for microservices architectures. It begins by defining microservices and their key characteristics. It then covers patterns for decomposing a monolithic system into microservices by domain. Communication patterns like synchronous, asynchronous and circuit breaker are presented. Other patterns discussed include strangler, database per service, orchestrator, choreography, saga and various approaches to service discovery. Overall the document provides an overview of best practices and patterns for designing, developing and deploying microservices applications.