Access and Feeds

Microservices: Better Scalability and Faster Deployments, but not Universally Good for all Apps

By Dick Weisinger

Traditionally applications have been developed as monoliths. The code is a single code base running on a single server. But as the code base grows, apps designed as monoliths typically become difficult to maintain and develop new features for.

Microservices offers an alternative to the monolithic approach. Large apps are decomposed into many smaller services, and each service is much smaller which makes it easier to understand, to develop for, and to maintain. Advantages are that it makes it possible to scale parts of the app that are more frequently stressed and makes continuous deployment of complex applications easier to do.

Some of the largest Internet businesses have moved their operations to microservices with great success. These include Netflix, eBay, Amazon, Uber, and Etsy.

But there are drawbacks to microservices, and before jumping in, you really need to understand when microservices make sense and alternatively you need to understand when they can actually make development and maintenance more challenging.

Gaurang Torvekar, CEO of Indorse, wrote that “ultimately, microservices are an architectural pattern to reduce complexity. It does this, but it also adds complexity elsewhere. If used in isolation, then you’ll fix your complexity in one dimension and have it proliferate elsewhere. So, it is vital that you use the many other tools out there to minimize complexity across the entire organization.”

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 *

*

15 + 3 =