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,…
TDD done wrong
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…
Setting up opengrok using docker-compose
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…
Basic ideologies behind moving to microservices
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…
Migrating Monolith to Microservices – Strangler Fig Pattern for synchronous operations
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….
Transfer/Share docker images from one host to another
Following commands can be used to transfer a docker image from one host to another. Docker save – Exports an image to tar archive. Docker load – Loads an image from a tar archive. Let’s look at an example. To transfer opengrok image from host A to host B On Host A After copying the…
Integration tests – Using haproxy for communicating with SSL enabled containers
While writing a few Integration tests(ITs), I ran into a scenario where my test had to make a few calls to the SSL enabled custom keycloak container. I had to communicate over HTTPS with the keycloak container since HTTP was disabled. I also wanted my tests to be compatible with any future customizations to the…