Microservices architecture is an evolution of service-oriented architecture (SOA) principles applied to application design and development. Some key differences include:
- SOA focuses on exposing application functionality as services at the enterprise level, while microservices focus on developing individual applications as a suite of independently deployable services.
- Microservices are typically smaller, lighter weight services focused on a single task, as opposed to monolithic applications. They communicate with lightweight protocols like HTTP.
- Microservices aim to support continuous delivery and deployment, with goals of automation, resilience, and loose coupling between services.
- Individual microservices can be developed and scaled independently. This provides benefits like enabling continuous delivery and deployment.
So in summary,