As more organizations are placing cloud computing at the heart of their digital transformation strategy, it is important that they adopt appropriate architectures and development methodologies to leverage the full benefits of the cloud. A mere "lift and move" approach, where traditional monolith applications are moved to the cloud will not support the demands of digital services. While, monolithic applications may be easier to develop and control, they are inflexible to change and lack the scalability needed for cloud environments. Microservices architecture, which adopts some of the concepts and principles from serviceoriented architecture, provides a number of benefits when developing an enterprise application as compared to a monolithic architecture. Microservices architecture offers agility and faster development and deployment cycles, scalability of selected functionality, and the ability to develop solutions using a mixture of technologies. Microservices architecture aims to decompose a monolithic application into a set of independent services which communicate with each other through open APIs or highly scalable messaging. In short, microservices architecture is more suited for building agile and scalable cloud-based solutions. This chapter provides a practicebased view and comparison between the monolithic and microservices styles of application architecture in the context of cloud computing, and proposes a methodology for transitioning from monoliths to cloud-based microservices.