This document summarizes lessons learned from transitioning to a microservices architecture in the real world. It discusses doing the transition for the right reasons like scalability and agility rather than because microservices are cool. An evolution approach through breaking a monolith into services is compared to a revolution of rewriting a system. It also covers the importance of DevOps, organizational change, and overcoming the steep learning curve of new technologies in the transition. Microservices require governance and structure rather than anarchy. The essence of independent, scalable services must be understood to avoid recreating monolithic problems.