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
Oracle SOA Suite
Score 8.0 out of 10
N/A
The rapid adoption of cloud-based applications by the enterprise, combined with organizations’ desire to integrate applications with mobile technologies, is dramatically increasing application integration complexity. Oracle SOA Suite 12c, the latest version of the company's unified application integration and SOA solution, offers a simplified cloud, mobile, on-premises and Internet of Things (IoT) integration capabilities within a single platform.
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.
Oracle service bus is great to quickly proxy any legacy services exposed as soap service. It's well suited for aggregating multiple services on a single endpoint. We can point to multiple endpoints on the business service and use a round-robin approach to access the endpoints. It's not well suited for data transformation and quick preview of mappings and transformations. It's not great on path to cloud transformation.
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).
The Oracle Service Bus makes the management of web services extremely easy. Through its point and click interface, the web service endpoints can be easily modified.
The administration console provides useful dashboards to diagnose any service issues.
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
Message reporting tied to a database seems counter productive. Better options to eliminate that would not only minimize the maintenance hassle but also gives more ease to manage the product.
Polling feature isn't very efficient where the end point JMS queues may still have JMS connections despite not enabling the corresponding poller proxy services.
Unable to deploy multiple web services in one go from the OSB Web console.
We have had not many issues with Oracle Service Bus and it's very stable for our requirements. It's highly available and helps us implement Tier1 applications on it.
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
It's an excellent enterprise service bus and has very stable features. We have been using it since 2008. We did hit into some issues. But, recreating the service helped fix many issues. Also, deployment to various environments was easy. Also, the plugin on Eclipse helps to build proxy and business services quick and easy.
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.
We had some issues with MQ connectivity through OSB and our experience was poor with the support team. They do respond. But, it felt like we are ignored and we had bad support. We had to escalate and things used to get dragged for weeks before we get more quality questions on how to pursue investigation.
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.
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.