This document provides an overview of microservices and tools for developing microservices architectures. It discusses some of the benefits of moving from monolithic architectures to microservices, including improved scalability, fault isolation, and independent deployability. It then introduces Docker and Docker Compose as useful tools for building and testing microservices. A demo is shown of using Dockerfile to build an image and Docker Compose to define and run multiple services locally. The document concludes by discussing challenges of microservices and the need for tools like Kubernetes to manage complexity at scale.