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
Azure Data Factory
Score 8.9 out of 10
N/A
Microsoft's Azure Data Factory is a service built for all data integration needs and skill levels. It is designed to allow the user to easily construct ETL and ELT processes code-free within the intuitive visual environment, or write one's own code. Visually integrate data sources using more than 80 natively built and maintenance-free connectors at no added cost. Focus on data—the serverless integration service does the rest.
N/A
Pricing
Apache Kafka
Azure Data Factory
Editions & Modules
No answers on this topic
No answers on this topic
Offerings
Pricing Offerings
Apache Kafka
Azure Data Factory
Free Trial
No
No
Free/Freemium Version
No
No
Premium Consulting/Integration Services
No
No
Entry-level Setup Fee
No setup fee
No setup fee
Additional Details
—
—
More Pricing Information
Community Pulse
Apache Kafka
Azure Data Factory
Features
Apache Kafka
Azure Data Factory
Data Source Connection
Comparison of Data Source Connection features of Product A and Product B
Apache Kafka
-
Ratings
Azure Data Factory
9.0
Ratings
7% above category average
Connect to traditional data sources
00 Ratings
9.00 Ratings
Connecto to Big Data and NoSQL
00 Ratings
9.00 Ratings
Data Transformations
Comparison of Data Transformations features of Product A and Product B
Apache Kafka
-
Ratings
Azure Data Factory
8.5
Ratings
4% above category average
Simple transformations
00 Ratings
9.00 Ratings
Complex transformations
00 Ratings
8.00 Ratings
Data Modeling
Comparison of Data Modeling features of Product A and Product B
Apache Kafka
-
Ratings
Azure Data Factory
7.2
Ratings
10% below category average
Data model creation
00 Ratings
8.00 Ratings
Metadata management
00 Ratings
7.00 Ratings
Business rules and workflow
00 Ratings
7.00 Ratings
Collaboration
00 Ratings
6.00 Ratings
Testing and debugging
00 Ratings
7.00 Ratings
Data Governance
Comparison of Data Governance features of Product A and Product B
For brokering messages, Confluent Kafka is well suited since it offers a managed solution ready to use. Scenarios where the solution is not very well suited are for example, where pricing is an issue. The solution costs quite a lot for basic usage (for example: for 3 clusters, pricing is above 100k$ a year).
In a data pipeline, you will be able to add different kinds of activities for example connect from your on-premise SFTP and move CSV files to storage accounts. As well data factory has its own data flow if you are an ETL developer who experimented with maybe you have worked with SSIS, thus, you will start quickly with this new feature of the data factory.
Apache Kafka is able to handle a large number of I/Os (writes) using 3-4 cheap servers.
It scales very well over large workloads and can handle extreme-scale deployments (eg. Linkedin with 300 billion user events each day).
The same Kafka setup can be used as a messaging bus, storage system or a log aggregator making it easy to maintain as one system feeding multiple applications.
The Kafka Tool is a community-made Java application that looks and feels from the past century.
Logging can be confusing. This certainly shows when we have to do troubleshooting.
Hybrid scenarios - pub/sub, but there are services in and outside a Kubernetes cluster. Then there are a ~3 options, but only 2 (the harder ones) are production-safe.
Kafka has suited our use case very well so far. Going forward we are planning to expand our platform manifold so the load on Kafka and our reliance on Kafka is going to increase only.
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
So far product has performed as expected. We were noticing some performance issues, but they were largely Synapse related. This has led to a shift from Synapse to Databricks. Overall this has delayed our analytic platform. Once databricks becomes fully operational, Azure Data Factory will be critical to our environment and future success.
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 have not had need to engage with Microsoft much on Azure Data Factory, but they have been responsive and helpful when needed. This being said, we have not had a major emergency or outage requiring their intervention. The score of seven is a representation that they have done well for now, but have not proved out their support for a significant issue
Apache Kafka is built for scale. From high throughput and real-time data streaming, it has a strong advantage over RabbitMQ with its low latency. This put Apache Kafka at the forefront as the platform of choice for large datasets messaging and ensuring scalability when data scale up tremendously. RabbitMQ however has its strengths in traditional messaging. Routing and message delivery reliability are the bedrock of RabbitMQ and this is where RabbitMQ excels. In my previous workplace, RabbitMQ was of choice as reliability matters more than scale. In two words. Apache Kafka for scale, RabbitMQ for reliability. And for cloud deployment and large dataset messaging in what I am doing now, Apache Kafka is the default choice.
Azure Data Factory fits well into our overall systems architecture where we already utilize largely Azure services and also Microsoft based products in the on-premises environment. I think cost structure is also very competitive with Azure Data Factory. Most services provide a visual interface for designing ETL workflows, but our team found Azure Data Factory's interface more intuitive.
Positive: bursts of traffic on special holidays are easy to handle because Kafka can absorb and buffer all the messages we need to process long enough to let an understaffed set of back-end services catch up on processing. Hard to put a number to it but we probably save $5k a month having fewer machines running.
Positive: makes decoupling the web and API services from the deeper back-end services easier by providing topics as an interface. This allowed us to split up our teams and have them develop independently of each other, speeding up software development.
Negative: our engineers have made mistakes such as accidentally dropping a few thousand messages due to the CLI being confusing to use, and as a result a customer lost some of their precious data. I'd say that was more our fault than Kafka's though.