Advice on Potential Architecture #220
-
OverviewI have been tasked with rebuilding a key piece of software for my company. The software is deployed on individual PCs across the country and each location only needs to be concerned with its own data. The app itself is pretty straightforward and consists of 3 containers running in a swarm.
I have added other containers for monitoring like prometheus, cAdvisor, promtail etc... One main requirement of the app is that it can run offline. Meaning, even if a location looses external internet, the customer can still do their work. My solution to this was to run the application on locahost, so as long as an intranet exists at the customer site, the app will work. I have verified and tested this. What this means though, is that each location is running its own instance of the UI, backend and DB. Just as a sidenote, I can see why a native app might seem better but we have some requirements that make a PWA the best solution. Problems / QuestionMy main problem is how do I manage this? What's the best way to take care of deployments? My first solution was to make each client location a master node. I would then have a cron job running on each PC to handle deployments. This actually works but I can see some major issues, especially once we scale up and it seems like a missed opportunity to take full advantage of everything docker swarm has to offer. My second solution that I'm working on is have a master node(s) running on an EC2 instance and each location is a worker. This obviously makes deployments and management much simpler but I'm running into the following issues but only on the worker nodes.
FWIW here's the yaml file I'm using for the app stack.
ConclusionAny pointers, links or general advice would be a tremendous help. I have watched a lot of your talks and tutorials and I really appreciate your willingness to share your knowledge. Regards, |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Hey there, sorry for the delay, as I was on vacation. Some thoughts, in no particular order, about the general design of these containers
These ideas probably present a hundred other questions, so here's how I would move forward, having the limited info I have:
|
Beta Was this translation helpful? Give feedback.
Hey there, sorry for the delay, as I was on vacation.
Some thoughts, in no particular order, about the general design of these containers