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
Anypoint Platform
Score 8.1 out of 10
N/A
The Anypoint Platform developed by MuleSoft and acquired by Salesforce in early 2018 is designed to
connect apps, data, and devices anywhere, on-premises or in the cloud. This platform was built to
offer out-of-the-box connectors as well as tools that architects and developers can adopt quickly to
design, build and manage the entire lifecycle of their APIs, applications, and products.
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.
MuleSoft Anypoint Platform is best tool in the market for developing APIs with complex structures communicating with various different types of applications including web applications as well as legacy applications. Also applications including database connectivity for fetching and updating data in the DB tables. I cant think of any scenario which MuleSoft Anypoint Platform could not be used for developing the integrations.
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).
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
Has more features than what we really need so we're paying for more than we use. Sort of like paying for an Abrams tank when all we really need is a Toyota Corolla.
Not a value product, tends to be expensive.
Takes a while for developers to learn to use Mulesoft Anypoint.
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
MuleSoft Anypoint Platform is really very easy to adopt for application integration. Simple UI and easy data weave language allows user to focus on business portion only. The API management and deployment of application are hassle free.
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.
Anypoint Platform support is very responsive. There is also a huge knowledge base and an active online forum where answers to most questions can be found. When needed support engages the engineering group so adequate solutions or workarounds are always provided.
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.
Once we have moved all of our system integration APIs to the MuleSoft Anypoint Platform, we will need to communicate with a wide variety of external systems. All of our business and service logic is stored in the aforementioned core systems. Anypoint Platform (and all of our APIs) makes it easy to connect to various other platforms. In order to link to these many other systems, connectors and/or components are utilized, and they are simple to configure and integrate.
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.