Access and Feeds

Microservices: Enabled by the Cloud, Fast Networks, Containers, and REST/JSON Simplicity

By Dick Weisinger

Microservices are lightweight fine-grained services that can be deployed with middleware or brokers.  The idea behind the approach has been around for some time, but a convergence of technologies, like the cloud, containers and REST/JSON services is making the approach more possible to achieve.  Rather than build monolithic applications using “big balls of mud with tangled spaghetti code“, a microservice architecture builds many small and focused components that can easily communicate with each other.

Some characteristics of a microservice architecture were recently described by Martin Fowler (and reported by Jan Stanberg for InfoQ in a series of articles on microservice architecture):

  • Componentization to allow the independent replacement of individual pieces in a system
  • Decentralization with a database per service, rather than per company
  • Continuous delivery of updates and new features
  • Focus on business, rather than technology
  • Smart Endpoints and Dumb Pipes without an Enterprise Service Bus (ESB)

James Lewis, a consultant at ThoughtWorks, said of a microservices architecture that “there should be a business and architecture isomorphism. A business person should be able to look at a high level map of the architecture and see the business represented there and similarly as technologists we should be able to look at the business and see the architecture represented there.”

Some reasons why microservices might succeed in the current technology climate, as opposed to earlier technologies like Services Oriented Architecture (SOA), were detailed by Eric Knorr and are as follows:

  • Micro – the focus is on small and handling of a single function, rather than the bloated SOA services
  • Cloud Infrastructure
  • Simplicity – usually based on REST and JSON
  • Container Technologies – like Docker, Mesos and Kubernates
  • Faster, more reliable networking
Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
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 *

*