SQS and SNS are very useful decoupling applications native to AWS, but you may already have decoupling applications. This is where Amazon MQ comes in. Amazon is a managed service for RabbitMQ and ActiveMQ. In short it essentially is a good alternative to SQS and SNS if you have infrastructure in place, for failover purposes you can have two MQs in different availability zones both attached to an EFS storage. Amazon MQ takes care of message broker maintenance and provisioning. SQS and SNS are likely the better option if you are able to go that route, depends of course on your use case.