Let’s say you have a group of users that are sent notifications, every time a new user is added you likely need to reconfigure your alerts and add them. Thanks to the power of SNS all you need to do is create your SNS notification and then people simply subscribe to that SNS notification, it can be connected to several AWS services and provide notifications when certain actions occur, it is encrypted by AWS KMS, possible client-side encryption, and HTTPS. SNS access policies can be used to allow other services to write to SNS. You can even have SQS as a subscriber, so instead of manually connecting 2, 3, 4, 5 SQS queues you simply have them subscribe to this SNS service and it distributes the queries. A flavor of SNS is SNS FIFO which has similar features of SQS FIFO such as deduplication, limited throughput, message ordering. SNS FIFO can only have SQS FIFO subscribers. You can even set up filters on SNS and have messages sent to specific queues based on filters. Let’s say you get a complaint, you can have SNS filter by the key word “complaint” in the message and send it to a specific SQS queue that perhaps forwards complaints to a complaint application that uses ML to analyze. SNS is not just limited to SQS either you can forward messages to other services, such as lambda. As a final note you can actually setup SNS to send messages to subscribers over the following protocols SMS, email, email-json, kinesis, SQS, lambda, HTTP, and HTTPs.