In this course, you’ll learn about several key principles and practices that will enable you to successfully architect build, and deliver microservice applications that are scalable, flexible, resilient, and secure Microservice architectures enable you to create scalable, flexible, and resilient distributed cloud applications. In this course, Microservices Fundamentals, you will learn about the options for solving different challenges that arise and see recommended practices in action that you can apply to your own microservices. First, you will learn what microservices are, along with the problems they solve and the challenges associated with them. Next, you will look at how you can architect microservices, making good decisions about service boundaries and data ownership. Finally, you will look at some options for how microservices can communicate with each other reliably and how to automate their deployment, and monitor them in production. When you are finished with this course, you will be ready to design and build your own microservices applications, and identify which technologies and practices are a good fit in your context.