Microservices To Assist Enterprises In Improving Cloud Services

By CIOReview | Tuesday, March 18, 2014

FREMONT, CA: Enterprises tend to incline to those technologies that are cost and time efficient. There is an obvious realization when it comes to the potential of the Microservice architectural style that can be deployed on cloud, as an approach to developing a single application as a suite of small services. It accepts and returns JavaScript Object Notation formatted set of data and resorts to REST interface for request/response actions.  

Experts at Thought Works, Martin Fowler and James Lewis explain on their blog how Microservices are decentralized in nature. In simple terms, Microservices are small cloud deployed web services supporting specific tasks in digital work flow. It possesses the potentiality to be used as standalone services, but so far they have not been utilized.

To understand how Microservices are different from traditional centralized enterprise applications, the authors explain a few key points. The application comprised of multiple libraries has to be redeployed entirely if any change needs to be administered. But when they are broken down into smaller units, only the one undergoing modification needs to be redeployed. Lewis and Fowler write, “Microservice architecture employs out-of-process services to communicate requests, versus libraries and are entirely independent.”

According to the authors, changes to services often occur along functional lines, either from a UI team, database team or server-side team who impose logic onto the available applications. But Microservice method is based on services built by cross-functional teams to endorse the business's products and services.

They also are of the opinion that cross functional team should be in charge of specific products for their entire lifecycle and quote the example of Amazon's 'you build, you run it’ policy, where the development team takes full responsibility for the software in production. Responsibility does not end after deployment of the software; instead it begins with maintenance and improvising product over time.

Finally, the decentralized Microservices gives up enterprise service that assist centralized message routing, choreography, transformation, and applying business rules. As the authors put it, "Applications built from Microservices aim to be as decoupled and as cohesive as possible—they own their own domain logic and act more as filters receiving a request, applying logic as appropriate and producing a response."

Built around business capabilities and independently deployable by fully automated deployment machinery, Microservices can find a valuable place in the enterprise framework.