Data Analytics and Microservices
shutterstock

Data Analytics and Microservices

In today’s Enterprise Software Development world, DevOps and Microservice are the new ways of extant. As crazy as innovation is, if you get comfortable with your "tested and trusted" old way of doing things, you will soon be forgotten.

As a Data Analytics enthusiast, I was curious if any of these methodologies takes care of Data. How can we manage and analyze data following these new trends? What will happen to the predictive analysis, data integrity and data consistency?

Below are some of the few takeaways from my research:

In the past, we built an application connected to one database where normalized data was queried using “joins”. Then came: big data, big traffic and with that: big latency. We needed to solve query latency where no cache would help us, the data was too big.

A basic principle of microservices is that each service manages its own data. Two services should not share a data store. Instead, each service is responsible for its own private data store, which other services cannot access directly.

All major companies that are now using microservices, including eBay, Twitter, and Amazon.com, have gone through a database migration that started with a monolithic system. A true microservices platform requires each microservice to be responsible for its own data. The process for separating out a monolithic database involves a repeatable process of isolating each service's data and preventing direct data access from other services.

We were told a monolith is evil and microservices are the answer. What nobody told us is that microservices come with many pain points deriving from its distributed nature. The reason for this “One Service to One Database” rule is to avoid unintentional coupling between services, which can result if services share the same underlying data schemas. If there is a change to the data schema, the change must be coordinated across every service that relies on that database. By isolating each service's data store, we can limit the scope of change, and preserve the agility of truly independent deployments.

Another reason is that each microservice may have its own data models, queries, or read/write patterns. Using a shared data store limits each team's ability to optimize data storage for their particular service. 

Since data is no longer coming from one source, but from many sources and since data is no longer of a uniform shape you need a solution that is up to the challenge. Processing data in a microservice world requires a stack that can process streams, unstructured data and structured data. And it should do it fast. When you run microservices, spend some time thinking about analytics too and look for tools that can handle log streams, business events and data lakes.

Learn more about using tools like Apache Spark and HDInsight

Apache Spark - http://spark.apache.org/

HDInsight - https://azure.microsoft.com/en-us/services/hdinsight/

References:

A modern stack for data analysis in a microservice world -

http://fizzylogic.nl/2017/02/10/a-modern-stack-for-data-analysis-in-a-microservice-world/

Data consistency across microservices

https://medium.com/@deniseschlesinger/data-consistency-across-microservices-4f768b253816

Data Integration Design Patterns with Microservices - https://blogs.technet.microsoft.com/cansql/2016/12/05/data-integration-design-patterns-with-microservices/

 

To view or add a comment, sign in

More articles by Olaniyi Adekunle Olatunji

  • Data the new Water

    Talking about Data being the new water, in my recent quest for knowledge, below are some of the few points I stumbled…

    1 Comment
  • Connect Facebook on Excel

    I was perplexed with how far Microsoft has gone with their data analysis tools when i found out i can easily…

    3 Comments
  • The Importance of Business Intelligence in Your Organization

    Like i have always been explaining in my previous posts, Business Intelligence (BI) is a concept that typically…

    4 Comments
  • Business Intelligence (BI)

    Aside from being a programmer, building my Business Intelligence (BI), Data Analysis / Data Interpretation skills is…

    1 Comment
  • 5 hot trends in software development hiring

    Technology hasn't only changed the way we communicate, exchange information and consume media, but it has also created…

    3 Comments
  • Insertion Sort and Shell Sort

    After watching some algorithm and problem solving videos, i have been battling with different type of sorting for…

    2 Comments
  • Datazen Publisher for Windows 7 Preview now available

    This application requires .NET 4.

  • JAVA EE OR .NET - AN ALMOST UNBIASED OPINION

    These arguments are in 2009. let's know your own view as of Today.

  • Datazen vs. Power BI: When and Why?

    Since Datazen acquisition by Microsoft, I’m often asked how Power BI and Datazen compare: which tool should I use? In…

Others also viewed

Explore content categories