I mean there's tons of technology stacks to choose from, but people get lazy and take the easy way out rather than learning to scale servers themselves.
Get on Linode. It's base on Linux instances. If you build on Linux you are "free" and not "owned"
AWS won’t tell you about those things because they sell you security, so you remain a dumbass about those things indefinitely.
A proper database.
:)
It's not that hard.
In my experience most developers just inherit the infrastructure and even the base project from someone else. They've never stood up a server or configure anything from scratch so they have no idea what they're doing.
But not only is that very hard to do, it basically negates the premise of AWS in general. There are also lots of areas that you can’t do this, such as IAM and network rules, so you have to build an abstraction on top of it that’ll work with open source tools on a separate host.
The rest of it? I think I understand why some systems need/want it, but no thanks.
At the scale $EMPLOYER works at, AWS built in services are key. Things like DynamoDB global tables are extremely hard to run on your own, and things similar to AuroraDB and Kinesis can be run on your own but they take up a lot of personnel hours better spent focusing on product. We could probably eliminate those services and self-run, but it would be an extremely unwise usage of company time and money.
But we also run services in multiple continents with the need to handle clients doing silly things like getting into airplanes and flying into another continent. Your situation might not benefit as much from AWS specific services, so YMMV.
Unless $EMPLOYER was Parler ...
This means that they can only be run on that provider.
They can be faster to develop, at the risk of not being able to move later.
Getting S3 reliability or availablity is lot harder ofcourse, but most apps don't need that.
tl/dr: building on AWS and building on Linux are not mutually exclusive. One represents hardware the other software.
When I say don't use "AWS" I should've been more clear I'm talking about their proprietary stuff. Basically you should be able to run on a plain Linux as your base.
Web companies should build on "Linux" only, as their base platform, so they own everything above that. I was a fan of Parler but building on AWS was a huge mistake, and they should have realized they were "owned" from day one.
And to any other CEO/CTO making the same mistake: "Beware, you do not have control over your company."