Imagine yourself in the middle of a busy IT company that develops a software system. In a large number of cases, such a system will be using some form of the database at the backend.

This means that you will likely face a major problem during development, test and subsequent production use: how to keep the database uniform and up to date across various environments?

Another big issue that comes out the above is how to provide developers with the disposable copy of the database that is preloaded with some test data.

If you struggle to solve either of the…


When it comes to accessing applications deployed to the Docker Swarm it is very similar as getting access to the applications deployed to the standalone docker instance: we have to publish a port or ports of the service, so it could be accessed by the external clients.

Then, ideally we set up a reverse proxy server in front of the swarm which from one hand translates the arbitrary port that is served by the Swarm to a virtual server or context in the proxy and from the other hand provides some form of high availability and load balancing.


Go Modules is a significant step forward in making the Golang dependency management “humanly natural”. However, when I recently tried to convert a project to Go 1.12 forcing it to use the Go Modules I came across a nasty issue. My problem was that some of the “in house” built modules are kept in the private Github repositories.

Before 1.12 it was not an issues since all we had to do to solve the problem is to clone the required repositories to the $GOPATH/src directory. …


The idea of writing this tutorial came from the discussion on Reddit recently. A young man was struggling to make things work. He was combing through various blogs and tutorials which are mostly written in Java but could not port the code to Kotlin.

I did use the Bluetooth to transfer data for one of my old applications also using Java, so I’ve decided to pull the code from the said app and convert if to Kotlin.

As a result of this exercise, a small demo application was created, that takes user’s input string and sends it to the same…


There are tonnes of articles and blog posts available explaining the benefits of using Docker in software development lifecycle and the ways of doing so. A lot of them also explain how to use Docker in development process. However, majority of them assume that one has a Docker CE or Docker Desktop running on their local environment.

There are some scenarios when installing Docker Desktop to the one’s environment is either physically impossible or won’t help the cause. For example, if your development environment running non supported versions of Windows. …

Igor Kolomiyets

Software Architect

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store