Access and Feeds

Microservices: A new Brand of SOA?

By Dick Weisinger

Breaking something big down into smaller easier-to-manage components is a best-practice design technique that applies to many disciplines, especially software engineering.  The idea’s not necessarily new, but it is at the heart of a design approach being promoted recently called Microservices.

Instead of building a mammoth monolith of code, microservices encapsulates features and capabilities into an army of interchangeable services.  With this architecture, upgrades and maintenance are typically simpler and often development time is shorter.  The design technique plays off of ideas from object-oriented (OO) programming and technologies like Service Oriented Architectures (SOA).

Microservices compartmentalize and componetize.  Applications using microservices are built up from the building blocks of service groups, and each of these blocks comes with a well-defined API.

Benefits of the microservices approach include:

  • Individual components have simpler architecture and design
  • Each component can be built using the right tools and language for the task
  • The design promotes loose coupling and easier maintenance
  • Promoted distributed independent parallel product development
  • Works well alongside new technologies, like Docker

Martin Fowler says of Microservices that “we do not claim that the microservice style is novel or innovative, its roots go back at least to the design principles of Unix. But we do think that not enough people consider a microservice architecture and that many software developments would be better off if they used it.”



Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Leave a Reply

Your email address will not be published. Required fields are marked *