This document discusses microservices architecture as an alternative to monolithic applications. It is broken into sections on monolithic applications, decomposing into microservices, benefits of microservices, and drawbacks. Monolithic applications are large, complex, slow to fix bugs or add features, and difficult to continuously deploy and scale. Decomposing an application into microservices makes it simpler, easier to fix bugs and add features quickly, and easier to continuously deploy, scale independently, and adopt new technologies. However, microservices also have drawbacks such as increased complexity of inter-process communication, database partitioning, testing, rolling out changes, and deployment.