- Microservices are small, autonomous services that work together to form applications. Each service focuses on doing a single job and communicates through well-defined interfaces. - There are several common design approaches for microservices including business capability services, API gateways, load balancers, message queues, caching, and circuit breakers. Choreography is preferred over orchestration. - Implementing microservices provides benefits like independent deployability and scalability but also introduces complexity around distribution, eventual consistency, and operations.