Understanding microservices

The traditional approach to building applications has focused on the monolith–having all deployable parts of the app contained within that single app. This has its downsides: the larger the app, the harder it is to quickly address new problems and add new features. A microservice-based approach to building apps helps solve these issues and boost development and response.

What are microservices?

Microservices are both an architecture and an approach to writing software. With microservices, applications are broken down into their smallest components, independent from each other. Instead of a traditional, monolithic, approach to apps, where everything is built into a single piece, microservices are all separated and work together to accomplish the same tasks. Each of these components, or processes, is a microservice. This approach to software development values granularity, being lightweight, and the ability to share similar process across multiple apps.

But the bigger question here is why you'd want to use a microservice-based infrastructure. The goal is, simply put, to deliver quality software, faster. Using microservices is a means to that end, but there are other considerations too. Breaking your apps into microservices isn’t enough, you've got to manage them, orchestrate them, and deal with the data they create and modify.

What can you do with microservices?

Microservices let your business react faster by making it much easier to develop and adapt your apps faster to meet demands. This approach to software design and architecture allows your business to get out of the multiyear “death march” that is traditional software development. Now, different parts of your development team can work concurrently on your products, in an agile manner, and deliver value to your customers immediately.

Learn the basics behind microservices, the pros and cons of using them, and check out our on-demand training to learn about building a microservices-based architecture.

Why microservices

Does this have anything to do with Linux containers?

Linux containers are, well, the best container for microservices. Containers give your microservice-based apps the best environment to run in. Containers give you more freedom and confidence, from development to production, since they include a lightweight runtime environment for your application. They also make fine-grained execution, isolation, and security possible. This lets you take better advantage of hardware and easily orchestrate services, including storage, networking, and security.


Keep exploring microservices


Microservices: An improved architecture design

Reference architecture

Building microservices with Red Hat JBoss EAP


Microservices vs. service oriented architectures


An Incremental Path to Microservices

All the pieces you need to start using microservices


Speed up your next app development project. Our experts will guide your team to make use of innovative open source technologies, build prototypes, and solve the most vexing issues.


Run microservices on a developer-focused, cloud-based container platform focused on continuous integration with enterprise orchestration through Kubernetes.


Integrate microservice-based apps, data, services, and devices with a robust, flexible, and easy-to-use platform.


Manage the multitude of APIs in your microservices-based environment to get the necessary visibility and control to build and maintain more flexible IT systems.


Get access to a group of common, developer-friendly services and projects critical for app developers.

This is just the start. Keep learning about microservices and how Red Hat can help.