Microservices vs. Service-Oriented Architecture

People either love or hate the idea of microservices. I must admit that I was in the former camp initially but have changed my mind over the last six months. Originally, I had thought the management of a plethora of individual services that make up a full application would be fraught with error and troublesome to both development and operations staff. However, over the last year we have seen a rise in popularity of a key piece of technology that is now enabling us to take advantage of this design pattern in a more efficient manner. This new technology is the rise of the container application platform and the tight integration with DevOps principles around automation and scalability. An organization can implement DevOps without microservices, but should not implement a microservice architecture without a DevOps culture.

Are microservices the right solution for every application? Of course not. However, if you think that your application could take advantage of scaling independent components, give it a look and see if it fits well with the goal of your application.

Of course, let’s not forget about the reuse aspect of microservices. Having your application logic broken up into independent components will afford you and your development team a tremendous amount of flexibility in reusing code across projects as well allow for a true polyglot environment where you can finally use the best tool for each individual task.

About the Author

Mark Richards

"Mark Richards is an experienced, hands-on software architect involved in the architecture, design, and implementation of microservices architectures, service-oriented architectures, and distributed systems in J2EE and other technologies. He has been in the software industry since 1983 and has significant experience and expertise in application, integration, and enterprise architecture."