In this course, we will learn how to design better software using microservices patterns, how to avoid common pitfalls and mistakes, using industry best practices. All patterns are taught in a practical way, for each pattern, we will design a system using microservices and we will solve all the challenges using the pattern. In the second section I will teach you how to avoid common pitfalls and mistakes that I have made and seen in a lot of projects and principles which will guide you to stay on the right track while designing microservices