Posts

Showing posts from 2023

Organizational Alignment in Microservices: Lessons from Industry Pioneers

 In today's fast-paced digital landscape, organizations are constantly striving for agility, scalability, and innovation. Microservices architecture has emerged as a powerful paradigm for achieving these goals. However, the successful implementation of microservices is not solely dependent on technical aspects. It is equally vital to ensure organizational alignment, as misalignment can lead to severe challenges. In this article, we will explore the crucial need for organizational alignment in the context of microservices, drawing insights from pioneering companies, and delves into the repercussions of misalignment, supported by examples of both good and bad organizational behavior patterns. Organizational alignment in the context of microservices refers to the harmonious synchronization of various organizational units, including development teams, operations, and business functions, to support the principles and practices of microservices architecture. A Good organizational alignme

Horrors of caching

Caching in general is a good practice to improve the responsiveness of the system. But sometimes it can go horribly worng and cause cascading failures leading to bringing the entire system down. Below were such incidents that I encountered: Backend service caches M2M auth tokens which it gets by making a API calls to an Authservice. Auth service introduced a bug in which it returns empty token and 200 status code. The backend service checks the response code and cache the token for few hours and the rest is history :) Service caches DNS entry to make API call for the resource. DR hits and the cached DNS entry no longer works. In the absence of dynamic service discovery, needs entire cluster restart. Caching a /GET call and not respecting the expiration. Well this is just silly and should have been caught in the code review Happy caching!