freshidea - Fotolia

Evaluate Weigh the pros and cons of technologies, products and projects you are considering.

Microservices is more than a buzzword

However you define 'microservices architecture,' the term should be on IT professional's radar -- it's how applications are being built.

What are microservices? The answer may depend on whom you ask.

"It's a new term for an old technique," said Joe Fernandes, director of product management for Red Hat's OpenShift.

"Microservices is the practice of applying service-oriented architecture principles at a small level of granularity," according to Anne Thomas, vice president and distinguished analyst at Gartner.

"It's a name to denote lightweight, faster-to-develop-and-deploy services than traditional SOA," said Pierre Fricke, director of product marketing for Red Hat JBoss Middleware.

Regardless of how you define microservices, it seems clear the term should be on IT professionals' radar. As Fernandes put it, he may not be a fan of the term because it has become the "buzzword du jour," but it can't go unnoticed that "it is how applications are evolving and the combination of services that may be developed … this is how applications are being built."

Why microservices?

Microservices are self-contained and don't necessarily require an application server to host them. Microservices should be considered in two specific instances. The first is in scenarios where increasing agility is the main objective.

There is a price to pay for microservices.
Anne Thomasvice president and distinguished analyst, Gartner

"Microservices enables you to implement much smaller deployable units, which then enables you to push out updates or do features and capabilities much more quickly," said Thomas. This, she said, coincides with continuous delivery practices, where the goal is to push out small units without having to create a monolithic system.

The second scenario may be viewed as a dream for growing organizations -- precise scalability. "Being just a small section of a much larger application, I can replicate and create multiple instances, particularly microservices, and spread the load for just that one small piece of the application instead of having to do the entire system," said Thomas.

How does microservices differ from SOA?

Microservices is the same as SOA, "but at the same time it's not," said Thomas. "This is applying SOA principles at a finer level of granularity. In order to apply it at a fine level of granularity, you have to adopt new patterns to make it work."

Fricke echoed the notion that microservices and SOA are in the same vein. "You can think of it as SOA getting lean, getting more agile than it was before," he said.

That change in mind-set and how the technique is applied may be the real difference between microservices and SOA. Thomas said a lot of people who claim to have been doing SOA haven't necessarily done so at the micro-level. Furthermore, microservices is creating a shift in platform infrastructure use. "It's [microservices] definitely having an impact on heavyweight, super platform infrastructure that has been so pervasive for the last couple of decades. Watch this space," she said.

Fernandes is noticing the same movement. "What you are seeing is moving from more heavier weighted models like SOAP and ESBs and into more RESTful services and smaller units of computing," he said.

Are microservices a silver bullet?

When SOA first claimed the limelight, its reputation became tainted because many IT professionals tried to implement it in scenarios where it couldn't be successful. Just like SOA, microservices can't solve all problems and thinking otherwise will only lead to disappointment.

"There is a price to pay for microservices," said Thomas. "You are increasing the complexity of the application system by having a lot more moving parts and a lot more interdependencies."

If a team decides to use microservices, Thomas said, it's important to ensure each individual microservice owns its own data and can run autonomously. This will allow you to reap all the agility benefits possible.

Next Steps

Lightweight architectures featuring more productivity tools

Get an introduction to the world of microservices and container technologies 

Learn how to manage microservices

This was last published in November 2014

Dig Deeper on Managing microservices architectures and SOA

PRO+

Content

Find more PRO+ content and other member only offers, here.

Join the conversation

6 comments

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.

Have you used microservices?
Cancel
Yes, I'm using it the last 4 years!
Cancel
What do you think of microservices, maxaldunate? Good? Bad?
Cancel
We do use microservices. Like any design decision, it has its advantages and disadvantages.

For instance, my team mostly works on a lot of backend data processing. Data used to be processed in large batches before we implemented microservices. The order that each piece of information gets processed matters in many of our cases. It seems to me like microservices may not be the best choice for this situation, as we had to do some funky things to preserver order. 
Cancel
Like any powerful tool, if you use it correctly is a very good solution for horizontal scale making code a little more complex.
But if you use it in the wrong way microservices are very dangerous...
Cancel
What a microservice is certainly does depend on who you ask. I think that’s evident just from reading this article. Todd Biske has identified three key differences between SOA and microservices that help to define what they are in the TechTarget article “What is the difference between an SOA and a microservice architecture?
Cancel

-ADS BY GOOGLE

SearchSoftwareQuality

SearchCloudApplications

SearchAWS

TheServerSide.com

SearchWinDevelopment

DevOpsAgenda

Close