I’m a little lost on what each of these components are. I see .sh files so I’m assuming you’re mostly writing these with Bash?
With this level of complexity I wonder if you’d benefit from running a k8s server. Just food for thought.
Looks like you’re having a good time for it. I always laugh at the similarity with this system building and the BUS designs of Factorio.
For the first time in my career I’m actually not in this position. Found an employer that’s an ex engineer and just “gets it”. Good compensation, good benefits, and invests in all of our understanding and careers. Sucks seeing all the people just let go so I’m surprised this survey has this result.
Maybe it was conducted before this season of let gos.
This also assumes you have adequate testing capabilities which are important so that you can evaluate unit capabilities, integrated capabilities, and performance characteristics.
On cloud you might have your testing infra be ephemeral and spin up whenever you need to perform the testing (as well as your IAC capabilities).
But this would partially evaluate any issues with the app coordinating with the database.
I would also assume DBA’s can write some test scripts to execute as well.
The important concepts aren’t that complicated.
Instead of nesting a computer (VM’s) the operating system makes the program think it’s on its own dedicated computer (isolated file system space, cpu, and memory shares). A Dockerfile is just a basic script to construct one of these computers by commands and files.
The real reason people get excited is because they can ship a Docker “image”. It’s a layered filesystem which really is just like saying there’s a system tracking who puts what files in what place and so it’s easier to just send the whole setup to someone then try to document how you should set all that stuff up to run their software.
This is “dummier” proof than the pre-existing convention of just using a package manager to do this for you.
🤷♂️
I mean all problems are solved with another layer of abstraction right?