Microservices is a software development and architectural approach that structures applications as a collection of loosely coupled, autonomous, and independently deployable services. These small, business-driven services have clearly defined interfaces to communicate, which makes application modular, easier to build and test, and efficient to deploy independently.
The microservices approach complements cloud and DevOps very well. Cloud computing has matured over the years to provide highly efficient infrastructure solutions for prototyping rapidly, supporting enormous data processing and production needs, and enabling higher service levels as compared to internal IT organizations.
In parallel, DevOps enables faster delivery of quality software while bridging the gap between the developers and the operations teams. With this approach, teams can more easily simulate production workloads to ensure the availability, scalability and quality of software, while releasing at shorter intervals.