I would love to hear your experience regarding aws and what are something you hate or like about when it comes to using AWS
I do understand that the complexity, including the authorization subsystem, are necessary in the long-term. But when you are just trying to whip something up to test an idea, I find it frustrating.
I hate dealing with config issues and error messages. I'm currently facing an issue in a CloudFront distribution at home, and just got done a multiday issue with an SQS at work. The queue thing was very frustrating. The organization has standards for what needs to be set up, like encryption, access patterns, etc. I asked the group that owns our tools related to AWS if they had a template that follows best practices that I could look at - nope. Ok, then maybe theres a project I can look at as an example that follows our standards - nope. So as someone with mostly a developer background it was a lot of frustrating trial and error to fix an issue that I didn't even create.
In GCP you can create a project and give pretty indiscriminate permissions between entities at the project level. It's not the hardest posture in the world, but as long as the project is fine-grained and the stakes aren't too high, it's reasonable.
In AWS it seems you are stuck managing ARNs for every damn object if you want to have anything less than a free-for-all in the account. This is an incredibly intense level of bureaucracy. I can see how the project abstraction could break down for a proper enterprise, which might really need that arbitrarily complex spaghetti of individual objects connected to individual objects. But it would still be better if the default or happy-path approach favored the better engineering practice of self-contained systems connected over few and well-defined interfaces.
Also, there are plenty of resources available online for AWS, both official and unofficial.
Dislike: There is no truly safe way to experiment and play around, even in the free tier. I set up billing alerts, but even with that it can be tricky to identify exactly what is costing me money (EBS snapshots, NAT gateways, Route 53 hosted zones, etc)
S3 is the only halfway usable service in the web - but only i you are doing something trivial like moving or copying files, not changing mime-type.
I really like DKIM setup for SES when using Route53
ALSO they routinely send me a billing reminder telling me the invoice is 'overdue' BEFORE they even send the invoice, which frankly would make me move somewhere else if I had the time. It's maddening.
Dislike: A billion products, most of them half-baked, terrible DX, terrible documentation, pricing all over the place. Examples: regular Sagemaker is much worse than a normal VM, Sagemaker Studio is so so. CloudFormation is not great and only works with AWS. Smaller products are even worse.
I try to avoid as much as I can dealing directly with AWS APIs (specially their web) and focus on third party tools like Terraform, Ansible, etc. It makes it tolerable.
Several parts of the website display a "Create an AWS Account". I am fucking logged in. I have to click on "My Account", just next to a user creation button, for it to display spinning arrows to log me in (again?).
Once done, cluster creation took forever in a "Creating" status.
There's all that confusion about users and organizations. Root vs. IAM. Adding people or accounts to the "organization" is convoluted as well.
Coming from GCP, this fucking blows. I had non-technical people create service accounts and clusters and VMs on GCP and hook them to our product. I'm trying AWS/EKS and Azure/AKS for testing purposes for our product (which hooks to users' clusters, and I have to try this out). I can't find the web console and the docs talk about installing one.
I'm also doing this because my colleague had to test that, but his account was suspended for some reason.
This is the same frustration with any video player that is not YouTube. When I click, Pause. Don't make it full screen. Don't mute the sound when it was un-muted or un-muted when it was mute it. Just fucking pause. When I hit space, pause, don't scroll to the next thing. Don't automatically scroll. When I hit right or left, go forth or go back. Just don't be fucking stupid.
Customers are often alpha-testers of new products without it being clearly specified that the products are alpha quality. Then again, everyone in the industry does something like this, but the contrast between some rock solid AWS services and some others is quite stark.
And it's expensive.
But other than the alpha products, generally it works very well and is highly reliable.
Bad: dumb service names, API’s are not at all easy to learn and much of the documentation is subpar (WorkDocs is the latest pain), feeling some unease with all the downed services this year
Dislike: Traffic price is just crazy high, it is simply impossible to start anything that is bandwidth-heavy, they might give you a good discount after you spend your first $100k but still there are many alternatives to the most popular AWS services like EC2: Digital Ocean, Vultr, OVH; S3: DO Spaces, Tebi.io, Wasabi, etc.
They need to reduce traffic price by a lot!
I've read too many horror stories of nice stuff that goes totally wrong and now Amazon wants $30k from you.
I'd love to be able to set some hard spending limits and have all services just shut down if I ever reach them.
Otherwise experimenting on Aws is very risky, particularly if you'd like to use the pay-per-use services.
Dislike: Due to expansive options, it can be tricky to combine pieces together.
Cons: It's glaringly obvious that all AWS products are developed by independent teams with little coordination or style guide enforcement. Documentation ranges from excellent to completely unusable, which does not help the fact that AWS services in general has a far steeper learning curve than it should. (Security, for example is a nightmare unless you spend a LOT of time leaning crap almost no one should ever have to know.) Billing is non-transparent and far better billing tools are available for free through AWS partners, but effectively only to big companies.
The biggest negative by far, though, is this: AWS can no longer be trusted to act as an even-handed infrastructure provider. They have proven they are willing to persecute and try to kill customers who do things on AWS that Amazon judges politically incorrect. (Gab, Parler, and others less political - Until a couple of years ago, Amazon's politics did not cross into AWS. Those days are gone, and if you don't toe the Seattle Socialist line, you ARE toying with the risk of deplatforming.) In my mind, that means that only a fool would bet his business on staying in AWS' good graces over the long haul, especially if they're in industries like say, oil, beef, or manufacturing.