Apache Kafka is an open-source stream processing platform developed by the Apache Software Foundation written in Scala and Java. The Kafka event streaming platform is used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.
N/A
Hortonworks Data Platform
Score 5.0 out of 10
N/A
Hortonworks Data Platform (HDP) is an open source framework for distributed storage and processing of large, multi-source data sets. HDP modernizes IT infrastructure and keeps data secure—in the cloud or on-premises—while helping to drive new revenue streams, improve customer experience, and control costs.
Hortonworks merged with Cloudera in eary 2019.
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.
I find HDP easy to use and solves most of the problems for people looking to manage their big data. Evaluating the Hortonworks Data Platform is easy as it is free to download and install in your cluster. Single node cluster available as Sandbox is also easy for POCs.
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).
It does a good job of packaging a lot of big data components into bundles and lets you use the ones you are interested in or need. It supports an extensive list of components which lets us solve many problems.
It provides the ability to manage installations and maintenance using Apache Ambari. It helps us in using management packs to install/upgrade components easily. It also helps us add, remove components, add, remove hosts, perform upgrades in a convenient manner. It also provides alerts and notifications and monitors the environment.
What they excel in is packaging open source components that are relevant and are useful to solve and complement each other as well as contribute to enhancing those components. They do a great job in the community to keep on top of what would be useful to users, fixing bugs and working with other companies and individuals to make the platform better.
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
Since it doesn't come with propriety tools for big data management, additional integration is need (for query handling, search, etc).
It was very straightforward to store clinical data without relations, such as data from sensors of a medical device. But it has limitations when needed to combine the data with other clinical data in structured format (e.g. lab results, diagnosis).
Overall look and feel of front-end management tools (e.g. monitoring) are not good. It is not bad but it doesn't look professional.
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
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.
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.
We chose [Hortonworks Data Platform] because it's free and because [it] was an IBM partner, suggested as big data platform after biginsights platform.
You can install in more physical computer without high specs, then you can use it in order to learn how to deploy, configure a complete big data cluster.
We installed also in a cloud infrastructure of 5 virtual machine
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.