• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Paul Clapham
  • Jeanne Boyarsky
  • Ron McLeod
  • Tim Cooke
Sheriffs:
  • Devaka Cooray
  • paul wheaton
  • Mark Herschberg
Saloon Keepers:
  • Tim Moores
  • Tim Holloway
  • Stephan van Hulst
  • Frits Walraven
  • Jj Roberts
Bartenders:
  • Carey Brown
  • salvin francis
  • Piet Souris

Docker and VMs deployment strategy

 
Bartender
Posts: 1286
39
IBM DB2 Netbeans IDE Spring Java
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Provided that at the moment I have no access to AWS / GCP / other cloud services, and the company I work for isn't planning to adopt any external cloud-based hosting solution, I have to run a given number of docker containers in a local HW infrastructure.
I've been suggested to create a single linux VM for each docker stack, so that I'll end having more or less a Vm per single docker-compose file. Of course, I'll have to installa docker-ce on every VM linux machine.
Despite the fact that having an infrastructure as the one depicted above let you to completely isolate each stack from the other - so that, for example, an issue on a single node will avoid to get a number of out-of-duty services, I'm not so sure a similar architecture is best pratice.

I mean, as far as I know - but I'm not a great expert on this topic, I'd had guessed that a more common sense solution would be a single virtual host running several containers, and adopt some other software layer (microk8, for example) to handle resources and pods.

I'd love to hear from your experience what's your opinion about.

TIA
Claude
 
Saloon Keeper
Posts: 23259
158
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I have one or two physical hosts running more than one Docker VM in them, although I don't advocate lots of VMs.

I soured on Docker-compose a long time ago because it has an all-or-nothing approach to container management and I find that disruptive. I played briefly with Puppet, but it was a bit of a pain to set up. So these days I use Ansible to manage both the container VMs and their containers.

Once you get to a certain number of containers - or want to be elastic, something like Kubernetes is preferable. It cuts down on needing to know which VM which container is in. However, last time I overhauled my container infrastructure, private container repos with internal (unsigned) keys was problematic. I think that's mostly cleared up now, but it hasn't been worth it to try again. One of the biggest remaining problems with Kubernetes is that it requires a certain per-VM infrastructure which is readily available on cloud hosts but I know of no "one-button" way of prepping into my local VMs.
 
A timing clock, fuse wire, high explosives and a tiny ad:
the value of filler advertising in 2021
https://coderanch.com/t/730886/filler-advertising
reply
    Bookmark Topic Watch Topic
  • New Topic