dccorona: I do a ton of work with Kinesis, and as we continue to scale our streaming workflows further and further, I find more and more to love about it. It's to the point where I'm pretty much sold on it (or, more specifically, the concept of append-only, checkpoint-based queuing systems) being a better fit for nearly everything than a simpler queue like SQS (something the article seems to disagree with, more on that in a sec). This is a particularly important design distinction because that basic approach lends itself really well to the super-powerful, next gen stream processing frameworks that are around these days. Apache Flink is the one that really comes to mind for me...you can do a ton of stuff that seems impossible elsewhere when you have a stream that is checkpoint-based, combined with a streaming framework that supports checkpointing internal system state alongside stream progress markers. This plus the ability to easily add multiple listeners are the big two for me, and I suspect that a lot of other people will benefit from choosing a stream platform (be it Kinesis, Kafka, or something similar) that offers these kinds of flexibilities. The only time I've found a queue like SQS to be ultimately a better fit than Kinesis is when round-trip latencies need to be measured in the single-digit milliseconds. In all other cases, Kinesis seems as good or better to me.