TOPIC

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. It is a major component of optimizing application development towards a cloud-native model.


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?

Compared to monolithic apps, microservices are easier to build, test, deploy, and update. That means your business can react faster to new demands, rather than getting stuck in the multiyear “death march” of 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

How do you connect microservices?

In order for a microservices architecture to work as a functional application, services need to request data from other services all the time. But what if some services get overloaded with requests? This is where a service mesh comes in—it routes requests from one service to the next, optimizing how all the moving parts work together.


Basically, a service mesh is a way to control how different microservices share data with one another. Unlike other systems for managing interservice communication, a service mesh is a dedicated infrastructure layer built right into an app. This visible infrastructure layer can document how well (or not) different parts of an app interact, so it becomes easier to optimize communication and avoid downtime as an app grows

Why Red Hat for microservices?

Red Hat doesn’t just help you break your monolithic apps into microservices, we help you manage these microservices, orchestrate them, and handle the data they create and modify. We support the continuous development and deployment of microservices, while helping you integrate and manage microservices. The result is a microservices solution that supports the end-to-end deployment of code, and encourages communication and collaboration between delivery teams.

There’s no need to totally overhaul your existing systems to get meaningful benefits. Through open source, open standards, and years of experience, we can help you find a solution that fits your organization.

Does this have anything to do with Linux containers?

Linux containers give your microservice-based apps an ideal application deployment unit and self-contained execution environment. With microservices in containers, it’s easier to take advantage of hardware and easily orchestrate services, including storage, networking, and security.

It’s why the Cloud Native Computing Foundation says microservices and containers together are the foundation for cloud-native application development. This model enables faster development and makes it easier to transform and optimize existing applications—and it starts with microservices in containers.

 
Containers

Keep exploring microservices

Whitepaper

Microservices: An improved architecture design

Webinar

Webinar: Developing Apache Camel Microservices With Kubernetes, Docker & Maven

Video

Microservices vs. service oriented architectures

Blog

An Incremental Path to Microservices

All the pieces you need to start using microservices

Services

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.

Platform

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

Middleware

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

Middleware

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.

Middleware

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.