Microservice API Versioning

Architecture, Distributed Systems, Microservices, Software, Technology

I didn’t realize until recently that something as mundane as versioning was such a controversial topic. There are conflicting opinions on every aspect of versioning APIs. “Every API must be versioned!” “Avoid versioning your APIs!” “Version only when needed.” “Version right from the beginning.” “Version the URL.” “Version the Headers”. And on it goes. So I […]

Continue Reading

The Phoenix Project – A Book Review


The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win by Gene Kim has been on my reading list for a while now. The Phoenix project has been one of the most mentioned and recommended books related to the DevOps movement. You couldn’t hop around two blogs before seeing a mention of […]

Continue Reading

Served from a cache near you – Part 2

Architecture, Database, Distributed Systems, Microservices, Software, Technology

The previous post on caching introduced the basics and briefly summarized the potential role and reasons for using caching in a microservices architecure. In this post I’ll dig a little deeper and look at some common cache deployment patterns in distributed systems. In the monolith world it is very easy and convenient to provide local […]

Continue Reading

Served from a Cache near you

Architecture, Database, Distributed Systems, Microservices, Software, Technology

A cache is a data storage layer that typically fronts a durable data storage system and is used to improve speed and performance of data access. The data held in cache is typically transient in nature. The primary motivation for using a cache is to improve the speed of access of frequently used data. Caches […]

Continue Reading

Microservices Communication – Part 5 – Event Sourcing, CQRS and Sagas

Architecture, Distributed Systems, Microservices, Software, Technology

In the previous post, I spoke about how we used an Event driven architecture with Finite State Machines to simplify complex problems and as a means of communicating between different services. However there are several issues to consider when using Events that will require specific design choices and trade-offs to be made, which will affect […]

March 10, 2018

What’s your Earth?

Dance, Kathak, Opinion

This is in dedication to my dear gurus – Mrs. Nirupama Rajendra and her ardent student, my day to day teacher Mrs. Shweta Karthik. It was one of those evenings, dark already, unpredictable weather, cold and chilly one day, hot, humid and sweaty the next. It was the latter that evening. I was in my […]

February 24, 2018

Microservices Communication – Part 1

Architecture, Distributed Systems, Microservices, Software, Technology

This post is part of the Microservices series. You can find the previous posts here – Prelude, Introduction, Evolution, Design guidelines, Ubiquitous Language and Bounded Contexts. Introduction In Building Microservices: Designing Fine-Grained Systems, Sam Newman states: Getting integration right is the single most important aspect of the technology associated with microservices in my opinion. Do […]

February 7, 2018

Classic Sourdough Bread – The Sour Staff of Life

Baking, Bread, Food

Unless you have been living under the rocks, you have come across a plethora of information regarding the human Microbiome.  If you haven’t heard of it, no worries, I won’t assume anything about your living conditions. You will soon know just enough to drop the loaded word ‘Microbiome’ at your next gathering and watch the […]

January 31, 2018