1. Microservices architecture involves developing applications as a suite of independently deployable services that communicate through APIs and focus on business capabilities.
2. Key patterns include organizing around business capabilities with cross-functional teams, treating services as long-running products rather than projects, using smart endpoints and dumb pipes for communication, and decentralized governance and data management.
3. Other important patterns are automating infrastructure, designing for failure of services, and evolving designs over time rather than expecting a big bang migration to microservices.