Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Five Questions Everyone Is Asking About Microservices (Part 3)

DZone 's Guide to

Five Questions Everyone Is Asking About Microservices (Part 3)

A look at data and distributed microservices.

Free Resource

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. They're based on experiences from interactions with organizations in the process of conquering microservices for existing development and for delivering modern applications.

Previously we covered the two questions, first looking at the performance impact of microservices and then dealing with statefulness after splitting up monolithic applications. In this third article, we'll take a look at data and your distributed microservices.

Image title

What developers ask when discussing microservices.

Data and Microservices

State discussions are central to the move to microservices for many developers and architects. Following that train of thought leads to questions around how to create a consistent state view using the data sources currently in their architecture.

"How to deal with databases backing distributed services so that the state is a single state view in the entire system?"

There are many ways to deal with your monolithic state, which often relates to its database backends. With so many approaches available when dealing with migrating to microservices, it's hard to just outline one here in the small space of this article.

Instead, we'd suggest taking a look at integrating your state and data from monolithic applications into a microservice architecture. It covers a key ingredient of distributing and integrating your data into microservices. Also providing an understanding of commit, read, update, and delete (CRUD) patterns, it includes an in-depth look at the consistency models involved in distributed systems.

Another option you can look at might be an open-source tool Debezium for smart database change data capturing. The idea here being able to migrate initially to microservices without the in-depth changes outlined above is initially necessary. You're able to construct ways of capturing and updating changes to the state/data specifically of interest to your microservice, without changing the underlying data structures.

Next time in this series, a look at testing stateful microservices.

Further Reading

An Introduction to Microservices

Concerns With Microservices

Topics:
integration ,agile integration ,microservices ,architecture ,developers ,architects ,howto ,tips and tricks

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}