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

Why should I consider a microservices architecture?

Microservices-based architectures can provide greater flexibility to IT organizations and developers. But how exactly do microservices work?

Microservices offer a new way to architect and deploy enterprise applications. In microservices architecture, modular...

applications consist of small components or services that communicate and scale as needed. Microservices provide better scalability and use compute resources more efficiently than traditional software designs.

To understand microservices, it's important to first understand traditional software models. Developers wrote traditional applications as a single, cohesive unit where every feature and function is contained within the same executable, dynamic link library or other active codebase. They would then provision a virtual machine or cloud instance with enough CPU and memory to operate the application. Then, the application is loaded onto the instance and started. This process works fine for many simple tasks.

But the problem -- especially with enterprise-class, client-server applications -- is that traditional application capabilities are finite. Developers design that software to provide only a limited amount of resources, such as simultaneous client connections. As the application encounters a processing, memory, I/O or other limit, its performance starts to decline and, in extreme cases, may crash. To work around bottlenecks, organizations need to provision and install another iteration of the application. This reduces the data center resources available for other tasks.

Think of traditional software design like building a house. The house is designed to hold a limited number of people and provide a finite number of services. Once you encounter a persistent bottleneck, you need a bigger house.

Software design has evolved to eliminate the bottleneck problem. Developers are increasingly segregating modern applications into separate components that use a common protocol, such as an API, to communicate and interoperate. Organizations deploy a microservices-based application as a series of interrelated components. The real power of this approach is that components are scalable; if a bottleneck occurs in one component, organizations can deploy more iterations of that component to handle the load.

A microservices architecture offers a scalable application design that uses resources more efficiently, and requires less overall compute power. In addition, microservices are an ideal complement to cloud services, such as event-driven and containerized computing.

Next Steps

Four big benefits of a microservices architecture

Preparing your infrastructure for microservices

Test your microservices skills with this quiz

What app managers should know about microservice architecture

What is the future of the app server?

This was last published in October 2015

Dig Deeper on Cloud architecture design and planning

PRO+

Content

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

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Join the conversation

3 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.

Why is your organization evaluating microservices architectures?
Cancel
One reason is that microservice architectures can help provide the ability to deploy, maintain, and scale components independently of other components (something we are currently hindered in doing by our current architecture). A second is that it helps us coordinate development across multiple teams.
Cancel
We have begun implementing new software using a microservice architecture. It does have its advantages, but it's also not the perfect design for everything.
Cancel

-ADS BY GOOGLE

SearchServerVirtualization

SearchVMware

SearchVirtualDesktop

SearchAWS

SearchDataCenter

SearchWindowsServer

SearchCRM

Close