Likelihood to Recommend Apache Kafka is well-suited for most data-streaming use cases. Amazon Kinesis and Azure EventHubs, unless you have a specific use case where using those cloud PaAS for your data lakes, once set up well, Apache Kafka will take care of everything else in the background. Azure EventHubs, is good for cross-cloud use cases, and Amazon Kinesis - I have no real-world experience. But I believe it is the same.
Read full review If you need a cloud-based service bus or a simple to use queue/topic/routing/pub-sub service, then Azure Service Bus is a very good choice at a reasonable price and performance. Typically on-premise we'd use RabbitMQ because it "just works", but if you're building a "cloud-first" application, then this is the one to go with. It's especially easy to integrate with if you're already embedded in the Microsoft ecosystem.
Read full review Pros Really easy to configure. I've used other message brokers such as RabbitMQ and compared to them, Kafka's configurations are very easy to understand and tweak. Very scalable: easily configured to run on multiple nodes allowing for ease of parallelism (assuming your queues/topics don't have to be consumed in the exact same order the messages were delivered) Not exactly a feature, but I trust Kafka will be around for at least another decade because active development has continued to be strong and there's a lot of financial backing from Confluent and LinkedIn, and probably many other companies who are using it (which, anecdotally, is many). Read full review Acting as a basic queuing service it works very well. One of the best parts is that Azure Service Bus can work over HTTPS which helps in strict firewall situations. There is a performance hit if you choose to use HTTPS. The routing capabilities are quite good when using topics and subscriptions. You can apply filters using a pseudo-SQL-like language though the correlation filters are quick and easy options. Costs are very reasonable at low-ish volumes. If you're processing 10's of millions of messages a month... it may be a different story. Read full review Cons Sometimes it becomes difficult to monitor our Kafka deployments. We've been able to overcome it largely using AWS MSK, a managed service for Apache Kafka, but a separate monitoring dashboard would have been great. Simplify the process for local deployment of Kafka and provide a user interface to get visibility into the different topics and the messages being processed. Learning curve around creation of broker and topics could be simplified Read full review The SqlFilter could be a little easier to use, but it's not terrible. The performance while using HTTPS for the connection is a little slow compared to direct connections using AMQP ports. There is a size limit to the message - unlike RMQ for instance, Azure Service Bus caps messages to 256kb on the standard tier. Read full review Likelihood to Renew Kafka is quickly becoming core product of the organization, indeed it is replacing older messaging systems. No better alternatives found yet
Read full review Usability Apache Kafka is highly recommended to develop loosely coupled, real-time processing applications. Also, Apache Kafka provides property based configuration. Producer, Consumer and broker contain their own separate property file
Read full review Support Rating Support for Apache Kafka (if willing to pay) is available from Confluent that includes the same time that created Kafka at Linkedin so they know this software in and out. Moreover, Apache Kafka is well known and best practices documents and deployment scenarios are easily available for download. For example, from eBay, Linkedin, Uber, and NYTimes.
Read full review Alternatives Considered I used other messaging/queue solutions that are a lot more basic than Confluent Kafka, as well as another solution that is no longer in the market called Xively, which was bought and "buried" by Google. In comparison, these solutions offer way fewer functionalities and respond to other needs.
Read full review RabbitMQ is simple and awesome... but so is Azure Service Bus. Both accomplish the same thing but in different environments. If you're building a cloud-native application - especially one that is serverless by design - Azure Service Bus is the only real choice in Azure. It works well, it's performance, and it's reasonably priced in the Standard tier. From our testing, RMQ is more performant, but it's hard to compare service-based implementations vs RMQ installed on VMs.
Read full review Return on Investment Positive: Get a quick and reliable pub/sub model implemented - data across components flows easily. Positive: it's scalable so we can develop small and scale for real-world scenarios Negative: it's easy to get into a confusing situation if you are not experienced yet or something strange has happened (rare, but it does). Troubleshooting such situations can take time and effort. Read full review Compared to open-source free software like RMQ, Azure Service Bus does have some costs to it. But the cost is reasonable. Also unlike RMQ, Azure Service Bus doesn't require you to stand up any hardware - so it's very easy to use and saves time/money from that perspective. Read full review ScreenShots