Amazon Kinesis Data Streams is a high performance, scalable data streaming service and is our default choice for stream-based integration between components in AWS. Kinesis is a fully managed service which runs without the need to have a VPC to host instances, but capacity does need to be pre-provisioned, rather than scaling smoothly and automatically.
Along with SQS, Amazon Simple Notification Service (SNS) is a default choice for message-based integration between services in AWS. Like SQS, SNS is elastically scalable and fully serverless, and the two are often used together.
Amazon Simple Queue Service (SQS) is a serverless message queuing system. SQS is a natural default choice for message queue integration between components in AWS thanks to low operational overhead, elastic scaling with pay-as-you-go pricing and tight integration with other AWS services such as IAM, IoT, SNS and Lambda.
Apache Kafka is an open source distributed streaming platform, famous for its ability to handle very high message rates with low latency. While Kafka is wildly popular, we recommend caution due to operational complexity, and consider other tools to be better default choices.