Apache Kafka vs. Kubernetes

Overview
ProductRatingMost Used ByProduct SummaryStarting Price
Apache Kafka
Score 8.8 out of 10
N/A
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
Kubernetes
Score 9.1 out of 10
N/A
Kubernetes is an open-source container cluster manager.N/A
Pricing
Apache KafkaKubernetes
Editions & Modules
No answers on this topic
No answers on this topic
Offerings
Pricing Offerings
Apache KafkaKubernetes
Free Trial
NoNo
Free/Freemium Version
NoNo
Premium Consulting/Integration Services
NoNo
Entry-level Setup FeeNo setup feeNo setup fee
Additional Details
More Pricing Information
Community Pulse
Apache KafkaKubernetes
Considered Both Products
Apache Kafka
Chose Apache Kafka
Apache Kafka is open-sourced, scales great has cloud agnostics and performs better than Amazon Kinesis [in my view]. Amazon Kinesis has some limitations and vendor lockin is not something I [like]. With Confluent operators you can easily install it on a kubernetes cluster.
Chose Apache Kafka
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 …
Chose Apache Kafka
It had the clustering functionality and gave tolerance against machine failure.
Chose Apache Kafka
- The biggest advantage of using Apache Kafka is that it is cloud agnostic - It handles super high volume, is fault tolerance, high performance
Chose Apache Kafka
Apache Kafka can work at a higher scale as compared to SQS. It can work with higher size per message and millions of messages per second. Moreover it can be scaled horizontally by adding more brokers to the cluster. SQS is good enough for simple use cases like making a task …
Chose Apache Kafka
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 …
Chose Apache Kafka
We really needed to get away from using a SQL database to act as a queue for processing records, so a new solution was needed. Kafka is a leading software application initially designed for queuing messages which is essentially what we were looking for. It has a great user …
Chose Apache Kafka
Kafka is simple and lower in price.
Chose Apache Kafka
For us, Kafka really doesn't have a 1:1 alternative. We have used ActiveMQ extensively and we still use it as a lighter option for small messages. The situation is similar with Redis - although it could be used like a Kafka alternative, we do use it just as a per-component …
Chose Apache Kafka
Apache Kafka is much more scalable and more reliable. Does not depend on memory, works well on rotational disks and that makes it a cheaper to use solution on low hardware requirements. Running multiple consumers on the same topic can also mean processing the same data again …
Chose Apache Kafka
All stack tech helps our app and system. These technologies allow us to have the data available faster between different regions (due to our particular configuration) and thus the data and processing load of each system is lower. This allows the systems to be used more …
Chose Apache Kafka
We had lots of problems with active mq. That is why we started using Apache Kafka.
Chose Apache Kafka
Kafka is not a real messaging broker implementation as RabbitMQ or TIBCO EMS/JMS are. Although it can be used as messaging, we like the idea behind the Kafka (data isn't "passing by," instead it remains centra, so the client can revisit the data if necessary). This also …
Chose Apache Kafka
Confluent Cloud is still based on Apache Kafka but it has a subscription fee so, from a long term perspective, it is wiser to deploy your own Kafka instance that spans public and private cloud. Amazon Kinesis, Google Cloud Pub/Sub do not do well for a very number of messages …
Chose Apache Kafka
I would only use RabbitMQ over Kafka when you need to have delay queues or tons of small topics/queues around.
I don't know too much about Pulsar - currently evaluating it - but it's supposed to have the same or better throughput while allowing for tons of queues. Stay tuned - I …
Chose Apache Kafka
Kafka is faster and more scalable, also "free" as opensource (albeit we deploy using a commercial distribution). Infrastructure tends to be cheaper. On the other hand, projects must adapt to Kafka APIs that sometimes change and BAU increases until a major 1.x version comes out …
Kubernetes
Chose Kubernetes
It stacks well against OpenShift. The only downside for OpenShift is the multiple operators and the custom logic implemented in the product, plus the upgrades, which tend to be a bit longer due to the more complex implementation. Overall, these are similar products but with a …
Chose Kubernetes
Nomad is a simpler, more down-to-earth alternative to Kubernetes. In some sense, it is more similar to Amazon's ECS, but with more bells and whistles. For use cases not requiring the whole complexity of Kubernetes platform, Nomad can provide a much simpler and at the same time …
Chose Kubernetes
We evaluated Docker Swarm as usage of docker is very distributed in our company. But docker swarm has not as many features as kubernetes and we have large, complex architectures which require good scalability and robustness - this is a huge strength of kubernetes compared to …
Chose Kubernetes
Well, me and me team select Kubernetes for the natural solution and the easily assignation of resources to deploy a solution than could have multiple clients in the same infrastructure, so, for each one client we are running a set of different pods, and that's why we select …
Chose Kubernetes
As I said earlier also -
- K8s manage the workloads better as compared to OpenStack in terms of reliability, observability & reachability.
- K8s is not limited to only a single networking or storage solution as compared to OpenStack.
Chose Kubernetes
Kubernetes cluster is cable to manage multiple nodes on on-premises or cloud infrastructure. In Kubernetes, we can easily add new nodes when ever required. We can easily update and rollback our application hosted on Kubernetes with the help of rolling and blue green deployment. …
Chose Kubernetes
Most of the required features for any orchestration tool or framework, which is provided by Kubernetes. After understanding all modules and features of the K8S, it is the best fit for us as compared with others out there.
Chose Kubernetes
I didn't have too much experience or exposure to OpenShift but I do remember that in certain areas our organization found Kubernetes to be more useful and met our needs in comparison to OpenShift. Although I can't compare, I think it's easier to customize Kubernetes because of …
Chose Kubernetes
Kubernetes is very unique. I do not think there are any competitors to take over its leading place. And you can always use Kuberntes with other tools to make the whole system better. Kubernetes is backed up by Google and has been tested over the years. It is reliable, fast, and …
Chose Kubernetes
When planning our latest product we tried out many hosted container service and a few local tools. These included services run by Google, Microsoft, and Amazon and tools from companies like Docker and Apache. We ended up selecting Kubernetes because it was compatible with all …
Chose Kubernetes
I used OpenShift v2 - which was pre-Kubernetes. (It now uses Kubernetes under the hood - but keeps it fairly hidden). Kubernetes was a ton more stable and easier to use. No more custom CLI to use in order to script together deployments. No more messy ‘push your entire code …
Chose Kubernetes
Docker Swarm is not as advanced as Kubernetes and there are no out of the box solutions for auto scaling and deployment strategies. Docker swarm doesnot have much experience with production deployments at scale. Swarm has a smaller community, and less frequent releases as …
Chose Kubernetes
With AWS ECS, you have to provision the virtual hardware, then use that hardware as a pool for your container service. Each service has to be built out and scaled independently. Kubernetes allows us to use a cluster of machines like a big pool of resources, scaling and shipping …
Chose Kubernetes
Kubernetes is a great alternative to cloud hosted expensive solutions. It is extremely well documented and maintained. It is probably the best home-grown solution available for container infrastructure management.
Chose Kubernetes
We already had an enterprise Kubernetes 8 set up, so once we got our namespace it took me about 2 weeks to go from not knowing anything to having a self-contained jar in a container, running on Kubernetes 8. In comparison, it took me two weeks to install Java on a blank server …
Features
Apache KafkaKubernetes
Container Management
Comparison of Container Management features of Product A and Product B
Apache Kafka
-
Ratings
Kubernetes
9.1
Ratings
11% above category average
Security and Isolation00 Ratings9.20 Ratings
Container Orchestration00 Ratings9.70 Ratings
Cluster Management00 Ratings9.70 Ratings
Storage Management00 Ratings8.40 Ratings
Resource Allocation and Optimization00 Ratings8.60 Ratings
Discovery Tools00 Ratings9.20 Ratings
Update Rollouts and Rollbacks00 Ratings9.20 Ratings
Self-Healing and Recovery00 Ratings9.20 Ratings
Analytics, Monitoring, and Logging00 Ratings8.90 Ratings
Best Alternatives
Apache KafkaKubernetes
Small Businesses

No answers on this topic

Portainer
Portainer
Score 9.0 out of 10
Medium-sized Companies
IBM MQ
IBM MQ
Score 9.0 out of 10
Red Hat OpenShift
Red Hat OpenShift
Score 9.1 out of 10
Enterprises
IBM MQ
IBM MQ
Score 9.0 out of 10
Red Hat OpenShift
Red Hat OpenShift
Score 9.1 out of 10
All AlternativesView all alternativesView all alternatives
User Ratings
Apache KafkaKubernetes
Likelihood to Recommend
8.0
(0 ratings)
8.7
(0 ratings)
Likelihood to Renew
9.0
(0 ratings)
10.0
(0 ratings)
Usability
8.0
(0 ratings)
8.9
(0 ratings)
Support Rating
8.4
(0 ratings)
-
(0 ratings)
User Testimonials
Apache KafkaKubernetes
Likelihood to Recommend
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).
Read full review
Along with all the best features and support by k8s, the automatic container scheduling to worker nodes and also self-healing containers which is what I like the most. On the other side, when I was installing the k8s cluster on CentOS 8, it was quite difficult for me, but never mind it is working as we expected and it is a one-time effort. Especially, in my case, there are more than 7 application containers required to run and communicate with each other, so for us, Kubernetes is an optimal solution.
Read full review
Pros
  • 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.
Read full review
  • Complex cluster management can be done with simple commands with strong authentication and authorization schemes
  • Exhaustive documentation and open community smoothens the learning process
  • As a user a few concepts like pod, deployment and service are sufficient to go a long way
Read full review
Cons
  • 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.
Read full review
  • Local development, Kubernetes does tend to be a bit complicated and unnecessary in environments where all development is done locally.
  • The need for add-ons, Helm is almost required when running Kubernetes. This brings a whole new tool to manage and learn before a developer can really start to use Kubernetes effectively.
  • Finicy configmap schemes. Kubernetes configmaps often have environment breaking hangups. The fail safes surrounding configmaps are sadly lacking.
Read full review
Likelihood to Renew
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.
Read full review
The Kubernetes is going to be highly likely renewed as the technologies that will be placed on top of it are long term as of planning. There shouldn't be any last minute changes in the adoption and I do not anticipate sudden change of the core underlying technology. It is just that the slow process of technology adoption that makes it hard to switch to something else.
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
It is an eminently usable platform. However, its popularity is overshadowed by its complexity. To properly leverage the capabilities and possibilities of Kubernetes as a platform, you need to have excellent understanding of your use case, even better understanding of whether you even need Kubernetes, and if yes - be ready to invest in good engineering support for the platform itself
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
No answers on this topic
Alternatives Considered
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.
Read full review
As I said earlier also - - K8s manage the workloads better as compared to OpenStack in terms of reliability, observability & reachability. - K8s is not limited to only a single networking or storage solution as compared to OpenStack. - Networking (which is a key concept) is much simpler in K8s as compared to OpenStack. - It is possible to upgrade your applications without downtime in K8s but in OpenStack, you either have to divert the traffic or face an outage because you have to delete the whole stack & then recreate it.
Read full review
Return on Investment
  • 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.
Read full review
  • Because of microservices, Kubernetes makes it easy to find the cost of each application easily.
  • Like every new technology, initially, it took more resources to educate ourselves but over a period of time, I believe it's going to be worth it.
Read full review
ScreenShots