Our Blogs

Managing Microservices Data - Procedure

June 30, 2017
Managing Microservices Data - Procedure
In this article, we will talk about the various ways to manage data in Microservices. Recently, Randy Shoup, VP Engineering at Stitch Fix outlined the steps required to manage the data and isolated persistence in Microservices at the QCon New York 2017 conference. During his speech, Shoup talked about how his team has successfully applied machine learning techniques to various business parameters such as buying, inventory management, and styles.

It is possible to generate personalized recommendations by executing the inventory via machine learning, which will, in turn, create algorithmic suggestions. The approved recommendations are manually curated by stylists located across the globe. If you look at the history, the e-commerce giants such as Amazon and eBay including Twitter have created the required process to transition from monolith applications to microservices.

As a developer, you should make microservices responsible for isolated persistence. He demonstrated various approaches such as data store operation or making use of a persistence service for enabling microservices.

The first method is to store data in your own database instances managed by the services team. You will be able to store data in a separate schema in the database. It will be operated as a service by another team or a third-party service provider. Finally, the data should be completely isolated from all other service consumers.

If you look at the events, they represent the working of the real world. Moreover, it will have applications in various domains such as finance, marketing and much more. To extract microservices from a monolithic shared database, you need to follow the steps below.

You should create a service and then create a new service by decoupling the apps from the shared database. You should then migrate the data from the shared database to a newly created private database. There will be no impact on the client apps since they are not dependent on the database. You need to follow the same process for other business functionalities that need to make use of the microservices.