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 You are going to be able to find the most resources and examples using Docker whenever you are working with a container orchestration software like Kubernetes. There will always some entropy when you run in a container, a containerized application will never be as purely performant as an app running directly on the OS. However, in most scenarios this loss will be negligible to the time saved in deployment, monitoring, etc.
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 Packaging of application to limit the space occupied Ease of running the application Provide multiple ways to handle the application issues and integration of different components like pipeline, ansible, terraform etc 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 Docker hub image retention policy can be relaxed Docker hub policies can be more developer friendly Docker CLI help section can be improved Image and container storage (local) management can be optimized 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 I have been using Docker for more than 3 years and it really simplifies the modern application development and deployment. I like the ability of Docker to improve efficiency, portability and scalability for developers and operations teams. Another reason for giving this rating is because Docker integrates CI/CD pipelines very well
Read full review Reliability and Availability Haven't seen any outages, fatal/unrecoverable errors in my usage so far. Enough said.
Read full review Performance Docker Desktop. The CPU high usage is a known issue. Needs fixing. Otherwise, it is great overall. Would not use anything else still.
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 The reason why we are still using Docker right now is due to that is the best among its peers and suits our needs the best. However, the trend we foresee for the future might indicate Amazon lambda could potentially fit our needs to code enviornmentless in the near future.
Read full review Scalability It is the only tool in our toolset that has not [had] any issues so far. That is really a mark of reliability, and it's a testimony to how well the product is made, and a tool that does its job well is a tool well worth having. It is the base tool that I would say any organisation must have if they do scalable deployment.
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 Reduces the number of virtual machine which impacted our quarterly billing Using docker with proxy we run multiple application on same port on same host. impact on billing is we have to provide docker training to the people who are working on it. Read full review ScreenShots