Pros and Cons
What one thing do you like most about Amazon AWS?
The core services, which for me are EC2, S3, EBS, and VPC, work really well. They rarely have outages and have pretty consistent performance. If you use just a small set of core services, AWS is rock solid as a base to build your products on. Stay away from the 100s of non-essential services though.
Their pricing model consistently gets better while features get added. It's still very pricey, but compared to when I started using it in 2009, it's just keeps going down.
The ecosystem. It has all the basic infrastructure just ready and waiting. Sure, it's not always the perfect subsystem or the optimal price but the time saved and skull sweat avoided are totally worth it if you're not very price sensitive. Great for getting shit done when you've already gone through a funding round.
Serve millions seating behind your desk
It works and has a HUGE service library.
You can do anything with AWS
Using 1 platform for all of your basic needs
Appreciate the community around AWS and the knowledge that has accumulated within the community over the years. Have an obscure issue? Somebody has been there, done that, and written up a post on how to deal with it.
What one thing do you like least about Amazon AWS?
The pricing contains many semi-hidden gotchas and require intense studying and attention in order to predict. Network egress pricing is the most well known example of this. A lot of people try to use VPCs and stay in the same region, but if you’re building on a multi-cloud stack, you’ll get public egress pricing even if your two servers are in the same region. They can even be in the same physical data center and you’ll pay the highest price. Another good example is that ELB costs per-hour, not per-request. In the end if you’re building a geo-distributed app or services you’re looking at $1000s of dollars of baseline cost, before you even scale up at all.
Opaque billing, permissions and security (I am still befuddled by IAM, SSO, groups, etc half the time).
Their interface is terrible and they overcomplicate most of the services.
Cost is one factor. You need to be really careful.
The complexity and not too much effort in the documentation
Cost associated with running
We use AWS for most of our tech stack. However their endless array of similar, ambiguously named services makes finding the right solution for a given problem needlessly complicated.
Like many of the others say; base costs and hidden costs.
You need to keep an eye on a lot of things; sometimes using one AWS service over another to get almost the same job done can easily cost $1000s more when you scale it up - things like API gateway vs vanilla load balancer. The same is true in reverse; most EC2 instances people run are waaay underutilized, and I mean under 10% utilization on average, but it's easy to control once you figure out automated scaling policies etc.
It's not that they're overpriced in general; just that you need to do your research and optimize.