You make it sound as though there’s some obscene sprawl of interrelated tooling, barely held together with shell scripts, and only OP knows how it all works.
Nothing described is that weird, nor should it have difficulty horizontally scaling when and if the time comes - add another node, and front it with a load balancer.
The problem is that DevOps has shifted so heavily to Dev that “I’m running services natively on a Linux box” is somehow seen as Byzantine and arcane.
> when you use shell scripts for deploys… can’t as easily prove things to auditors as you can with a CI/CD system
What do you think a CI/CD system is running? Also, if /var/log/auth.log isn’t enough, there are other auditing systems available that could make this more granular.
> industry compliance standards
IME, these are a joke, and auditors routinely miss a dizzying amount of glaring problems, because they don’t look beyond records that humans generated.
> every hour you spend upgrading a database or patching an OS…
Patching the OS should be automated. If it isn’t, that’s on you. Ansible isn’t hard to learn.
As to the database, if you can’t read docs (both MySQL and Postgres have excellent documentation on this procedure) and perform them as written, frankly you shouldn’t be dealing with RDS either. It’s not like AWS docs aren’t confusing, spread over a million pages, and sometimes contradictory.
Pardon the seething undertone, but as an ops-heavy SRE/DBRE, I’m very tired of seeing people lambast ops as being somehow beneath modern practices, not worthy of their time, or worse,
not cost-effective. A well-written app can absolutely run just fine on a tiny server, and does not need the miasma of shit that is cloud-native. Computers are blindingly fast. Stop demanding infinitely-scaling vCPUs because optimization is hard. Stop pretending that your time is more valuable than minutiae like “my ORM is producing garbage queries resulting in hideous latency because I don’t understand SQL or schema design.”