3 ms·
I am wondering how you would describe the differences between Microservices and service oriented architecture ?
by je42 12y ago
I am wondering how you would describe the differences between Microservices and service oriented architecture ?
- ksec 12y agoI have always thought they meant exactly the same thing.
- chillax 12y agoFowlers view: http://martinfowler.com/articles/microservices.html#MicroservicesAndSoa http://martinfowler.com/articles/microservices.html#Microser...
- dragonwriter 12y agoFowler's description is, as I see it, basically accurate. To be somewhat less gentle about it than Fowler is, microservices are pretty much exactly the original description of SOA -- the use of ESBs to integrate monolithic applications that he describes as often the focus of current SOA discussions was originally a style of initially integrating legacy applications in an organization that was doing enterprise-wide SOA conversion. Something like it (the connection may not be an ESB, per se) is pretty much an essential stepping stone in a conversion effort (and enterprises are notorious for taking the first enabling step and then not following through with that that step is intended to enable.) If microservices become a popular focus of attention, don't be surprised to see the term drift the way SOA did for the same reasons, and see us back here in a couple decades with a new term and discussing how it (doesn't) differ from "microservices". Never underestimate the power of the enterprise to both dominate the literature and to sap the meaning out of terms.
- aet 12y agoFrom Wikipedia: Service-oriented architecture (SOA) is a software design and software architecture design pattern based on distinct pieces of software providing application functionality as services to other applications. This is known as service-orientation. It is independent of any vendor, product or technology. From article: the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API.