When discussing the development impact on existing applications while transitioning to microservices, there are five questions that keep popping up in one form or another. They are the same regardless of the size of the organization and seem to become part of strategy discussions later in the process as organizations move towards microservice architectures.
These articles cover questions that everyone should ask about microservices. Their based on experiences from interactions with organizations in the process of conquering microservices for existing development and for delivering modern applications.
Previously I covered the first question around the performance impact of microservices. In this second article I’ll take a look at dealing with state after splitting up monolithic applications.
State and monoliths
After the initial discussion around the first question, it’s usually followed by issues of how to deal with state in a monolithic application.
“How to deal with services that get split off from their monolith usage and are stateful, where we want to use the benefits of a container platform like OpenShift?”
There are two types of
stateful in relation to applications:
- Building a business application that uses either in-memory state or database state.
- Building a specific database engine and need highly performant, even low-level, access to the underlying disk.
The first option is the mainstream way of developing and deploying cloud-native applications with their
stateful components, while still splitting out microservices, using a container platform like OpenShift based on Kubernetes.
Option two is another story and is often best left to specialized vendors. This is because these types of solutions can go deep enough to involve maintaining extensions to operating system kernels themselves. It makes more sense to focus on your domain specific business value and delivering that to your customers.
Next time in this series of articles, a look at dealing with data across a distributed microservices architecture.
(article co-authored with Burr Sutter)
Published on Java Code Geeks with permission by Eric Schabell, partner at our JCG program. See the original article here: 5 Questions Everyone’s Asking About Microservices (Question 2)
Opinions expressed by Java Code Geeks contributors are their own.