0

We are a small team with few resources and we have a product which is near completion. The stack comprises of a few Java Spring Applications, a Python Application and a Windows Application and using a Postgresql DB. We have a single physical system where till now, we used to deploy all of these application and test them.

Now we are in a situation where we would need to have multiple versions of this stack running at the same time. For eg. there should be a stable running version and at least 2 versions under testing. We want to achieve this using the single Windows system we have. Is there a way to achieve this? How viable is using multiple Docker images?

1

First of all, I would not recommend to use a single system for running stable and testing version both on the same system. There are many reasons for this such as:

  • Your testing version can cause cpu and memory spikes on system which will ultimately affect your stable version and end users.
  • Secondly, it will be difficult to manage the dependencies and resources for multiple versions in a single system.
  • It can also take a lot of debugging time if the monitoring is not properly setup.

Ideally, you should use 2 different system. One for running the stable version and other testing versions. It will be easy to manage and always a good practice to keep it on different stack.

Still, if you want to use a single system, then yes, you can use docker which will avoid a lot of conflict issues which can arise. Also, the dependencies and shared libraries can be managed easily with different docker images and running docker containers.

If the team is proficient in docker, you can also use docker swarm to setup clusters. You can setup different clusters for stable and testing versions.

I hope you chose the best possible option and implement it.

| improve this answer | |
  • I should mention that both the stable and test versions are deployed in the same system for internal use only. We have a separate system which runs a major version used by external users. – Sayak Mukhopadhyay Sep 18 '19 at 7:39
  • Then going with docker will be better in this case. – Samit Sep 18 '19 at 20:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.