Is AWS SNS/SQS equivalent to Kafka? And what are the differences, advantages/disadvantages of either one?
Producer/Consumer semantics are pretty similar. Partitions in Kafka are Shards in Kinesis terminology.
One big difference is retention period in Kinesis has a hard limit of 24 hours (no way to request increase on this limit).
Kinesis IMO is easier to use being a managed service. I have performed a Kafka to Kinesis migration & have found Kinesis easier to use. Plus, AWS Lambda makes consuming Kinesis a breeze (if your usecase suits it).