Skip to content
Simran's Writing Room
Menu
  • Blogs
  • Books
  • About
Menu

Integration Testing – Docker Maven Plugin vs TestContainers

Posted on by Simran Chawla

Docker Maven Plugin vs TestContainers – Integration Testing Why do we need these? With the advent of containerization, it has become possible to test how our code would behave and interact with each other when placed across containers. One of the most common use-cases is to be able to test database interactions. Although, we will…

Read more

Kubernetes Probes

Posted on by Simran Chawla

Issue – Liveness probes causing other containers to restart While migrating from mesos to kubernetes cluster we transformed the marathon configuration files to kubernetes yaml file. Upon deployment it was observed that all the containers were restarting all the time. One of the configurations was health checks. Mesos health checks were migrated to kubernetes liveness…

Read more

Mesos CPU vs Kubernetes CPU requests, limits and docker

Posted on by Simran Chawla

Recently, while migrating a mesos/marathon cluster to kubernetes, it was observed that the response time on kubernetes was substantially slow when compared to that of marathon. So, what can be compared out of the two that can give further insight into the issue. In both the setups, docker was the being used to run and…

Read more

Multi-tenant Database Design

Posted on by Simran Chawla

Partition ID column New tenant creation – A new row is added to table with the new value in partition/tenant Id column. Other information for this tenant is correlated(with other tables) using the partition Id. Usage – This is useful in cases where the data being inserted into the tables from multiple tenants is not…

Read more

Design – Distributed Task Scheduler

Posted on by Simran Chawla

Let’s go through the design depicted by the above image. Event scheduling manager This is the interface for creating, deleting or getting status of a job. Workflow Scheduling manager receives a request to create a job. Job metadata is stored in the Jobs DB via a rest call. Although depending on the influx of calls,…

Read more

TDD done wrong

Posted on by Simran Chawla

TDD stands for test driven development. This translates to tests being written BEFORE the actual code. Let’s look at some of the code smells(and their possible remedies) which happen especially when tests are written AFTER the actual code. Lots of setup These are the tests where a lot of setup is required to get to…

Read more

Setting up opengrok using docker-compose

Posted on by Simran Chawla

Opengrok is a code search engine. I have been using this tool from a few years and my dependency on this tool has only increased over time. Setting up opengrok has been a pain point for me in the past. Even recently when I tried upgrading from version 1.4 to 1.7, there were a number…

Read more

Basic ideologies behind moving to microservices

Posted on by Simran Chawla

Below mentioned points try to summarize some of the basic idealogies that need to be followed and thought through before we take up any monolith to be migrated to a bunch of microservices. Have a very clear reason on why you are moving to microservices – Unless there is a use-case that gets satisfied its…

Read more

Migrating Monolith to Microservices – Strangler fig for async operations

Posted on by Simran Chawla

Although in this post we saw how to implement strangler fig for synchronous operations. Let’s see how we can handle scenarios when the monolith uses message brokers as mode of communication between services. We will be looking at below mentioned approaches. Content based routing Almost all the widely used message brokers have inbuilt routing mechanisms.e.g….

Read more

Migrating Monolith to Microservices – Strangler Fig Pattern for synchronous operations

Posted on by Simran

With the adoption of micro-services, a lot of us are looking at ways to migrate existing monoliths into microservice architecture. There are multiple patterns which can be used depending on the need and scenarios. In this post, let us see how we can use strangler fig pattern to extract out microservices from an existing monolith….

Read more
  • Previous
  • 1
  • 2
  • 3
  • Next
© 2025 Simran's Writing Room