My experience with AWS services is that the ones that merely provide low-level building blocks (such as EC2) or host existing open-source software such as Postgres, Redis, etc are good, but the proprietary AWS-specific ones are bad because they not only lock you into AWS but make it more complex to develop against as you can't always run it locally (there is LocalStack, but it's a simplistic reimplementation that doesn't always reflect the real thing especially when it comes to edge-cases), can't inspect it or debug it easily (it is a black box) and costs money even during development.
AWS-hosted Redis? Sure! AWS-hosted RabbitMQ? Of course! AWS SQS? No thanks - it wouldn't give me anything useful that RabbitMQ can't do, however it will lock me into forever having to pay AWS, deal with their terrible console (or stacks of YAML files) to control the thing and expose me to potential edge-cases I will have no way to debug or replicate locally.
> AWS SQS? No thanks - it wouldn't give me anything useful that RabbitMQ can't do
Allow other AWS services to send it events (SNS, lambda, etc etc)? Reliably handle millions of messages per second without managing anything yourself? Transparent KMS encryption? Fine-grained role based permissions via IAM without any hard-coded credentials?
AWS-hosted Redis? Sure! AWS-hosted RabbitMQ? Of course! AWS SQS? No thanks - it wouldn't give me anything useful that RabbitMQ can't do, however it will lock me into forever having to pay AWS, deal with their terrible console (or stacks of YAML files) to control the thing and expose me to potential edge-cases I will have no way to debug or replicate locally.