DEV Community

Yasser A
Yasser A

Posted on

Can Docker replace our VMs farm?

I'm not familiar with the idea of containers. From what I've read online, it's a good idea for development for the team where we all develop in the same environment.

But I was thinking if containers can actually replace a whole VM farm. We manage 200+ VMs in our team. Those VMs run 24/7 and does executions during the day/time.
All of them are windows machines, some win7 some win10.
My question is, Can we replace those VMs with Docker or any containers. I'm thinking of something like, whenever an execution has to run, a container is spend up and when the execution is over it get destroyed. That will guarantee those execution runs in the same exact configs all the time. Because the hard part about maintaining 200+ VMs is that almost each one act differently due to so many execution that it runs during the day.

is it that simple like this? whenever an execution has to run, we spin a container with specified configs?

docker win7 config1 
Enter fullscreen mode Exit fullscreen mode

where config1 = chrome66, firefox61, outlook
and config2 might be different version of the browsers?

is it that simple?!

Top comments (8)

Collapse
 
likebrain profile image
Ricardo Rivera • Edited

What is about Kubernetes ?
You can use something like this kubevirt.io

You can adjust kubernetes for your needs, no matter if you need Serverless (kubeless) or fully VMs ;)
But I love the orchestration with Kubernetes.

Greets,
Ricardo

Collapse
 
tux0r profile image
tux0r

You can do that with actual VMs (which are "containers"). In my opinion, it would not be worth the time and effort to switch to a different VM system.

Collapse
 
0xyasser profile image
Yasser A

we cannot do that right now since we are not maligning the VMs. hence we use vSphere with limited controls on them. That why I want to introduce containers to the team if they are really worth it.

Collapse
 
tux0r profile image
tux0r
Collapse
 
rafalpienkowski profile image
Rafal Pienkowski

The question is also how many apps do you have deployed on those VM.
Keep in mind that you will decrease the number of VMs, but they are required to host docker containers.

Collapse
 
0xyasser profile image
Yasser A

Normally a few apps, I would say 4-5.
if it's easy I would spin up the container with the specified browser only so if the execution I'm running would use Chrome, I would only deploy Chrome, no need for FF. and so on

Collapse
 
rafalpienkowski profile image
Rafal Pienkowski

In my opinion, the final process of moving from VMs to Docker containers could be painful and long-term. You will end with ca. containers a couple of VMs. I’d recommend using some orchestration tool as mentioned earlier kubernetes. But before you start learning kubernetes, you should be familiar with Docker basics.
If your goal is to simplify management of your environment, I’m not sure if Docker will be the right choice for you. Containers are making more simple the deployment process, but I think not the maintenance process.

But this is only my subjective opinion.

Collapse
 
michaelgv profile image
Mike

I'd stick with vSphere and using something like Puppet/Chef/Salt - or any configuration manager for that matter - to maintain the environments.