Earlier quoted context omitted.
you don't need "systems" for 10-20 messages a day. it all could be replaced with S3 buckets and aws-cli with even better durability and delivery latency and error handling than anything you would be able to engineer yourself
I am completely dumbfounded by this reply. You're suggesting we engineer something on S3 and aws-cli, while complaining about engineering something ourselves when AWS offers a perfectly good queue service that requires no engineering? Uff. I'm going to buy a hut in the woods and live in it.
Kafka as an Antipattern
91–100 of 102 posts
Re: Kafka as an Antipattern
#92Earlier quoted context omitted.
Your point is good, but that stack wouldn't win any latency awards. Many of the people I know using kafka need latencies in the millisecond range.
In all the times I've been forced to use Kafka, I have never seen single digit millisecond latency. If you need fast response Kafka is a bad choice. If you are okay going to multiple digits of milliseconds then there are simpler solutions. The only reason to use Kafka is the ability to guarantee order. For everything else it's second place at best.
Re: Kafka as an Antipattern
#93Earlier quoted context omitted.
I am completely dumbfounded by this reply. You're suggesting we engineer something on S3 and aws-cli, while complaining about engineering something ourselves when AWS offers a perfectly good queue service that requires no engineering? Uff. I'm going to buy a hut in the woods and live in it.
Why does AWS even enter the conversation?
sometimes it really does make sense just to pay someone else to solve the problem. not always, but not never.
Re: Kafka as an Antipattern
#94Earlier quoted context omitted.
On top of that, if it's a big enough deal, most salespeople at other cloud providers (GCP, Oracle etc.) will gladly pay you to migrate. They'd probably even throw one of their Solutions Engineers at the problem and do it for you for free.
Selling your soul to a different crack dealer. Hmm.
this checks out.
Re: Kafka as an Antipattern
#95Earlier quoted context omitted.
I think it'd be very easy to write your own. I used postgres subscribe/listen built in combined with a database table to get a distributed message system. Writing a distributed, scalable system is really hard, and beyond the API, that is the real value for kafka
It's relatively easy -- removing any networking requirements drastically simplifies the problem. There's still some non-trivial bits that vary depending on granularity for concurrency. It's a weekend project to demonstrate the concept, maybe a few weeks to really flesh it out and iron out quirks. I imagine if you're willing to use sqlite as a backend for persistence, it gets a bit easier.
You have employees - you try to get and retain the best talent you can. However, every human has strengths and weaknesses, and these may not all be fully visible to you.
Rolling your own vs buying off the shelf is a gamble on future outages.
Will a third-party support and fix the issue, or have a strong community that can help you work through the issue?
If your best engineer builds something that works for long enough to become entrenched, but then carks it, will your best engineering talent be able to resolve the issue? If your rockstar quits, does the team have to pick through the halls of Cthulhu? Does your organisational ignorance of kernel networking suddenly become painfully apparent?
Remember, you need to be twice as clever to debug your code than to write it...
Re: Kafka as an Antipattern
#96Earlier quoted context omitted.
In all the times I've been forced to use Kafka, I have never seen single digit millisecond latency. If you need fast response Kafka is a bad choice. If you are okay going to multiple digits of milliseconds then there are simpler solutions. The only reason to use Kafka is the ability to guarantee order. For everything else it's second place at best.
what if you want to have at least once processing and durability?
Kafka has been the slowest out of them that I've used and definitely more complex to use.
Re: Kafka as an Antipattern
#97Earlier quoted context omitted.
I am completely dumbfounded by this reply. You're suggesting we engineer something on S3 and aws-cli, while complaining about engineering something ourselves when AWS offers a perfectly good queue service that requires no engineering? Uff. I'm going to buy a hut in the woods and live in it.
I used s3 just as an example of a service with very good track record of availability for a very low cost - and perfectly reliable available service can be created with bash scripts, aws-cli and free-tier AWS account. perfectly fine with using SQS, just it will have worse availability guarantees than S3 - people should understand tradeoffs
Re: Kafka as an Antipattern
#98Earlier quoted context omitted.
I used s3 just as an example of a service with very good track record of availability for a very low cost - and perfectly reliable available service can be created with bash scripts, aws-cli and free-tier AWS account. perfectly fine with using SQS, just it will have worse availability guarantees than S3 - people should understand tradeoffs
I don't know but I think they might be suggesting that the answer to "don't need a huge complex system" is not "use someone else's huge complex system".
It is really hard to beat the cost/benefit ratio of S3.
a lot of mediocre engineers cannot swallow a pill that all their expensive work with hundreds of hours of overengineering could be replaced by a couple of AWS managed serverless services stitched together with a few mouse clicks or a single .yml file
Re: Kafka as an Antipattern
#99Earlier quoted context omitted.
what if you want to have at least once processing and durability?
Like AWS SQS? Others provide at least once processing as well. Kafka has been the slowest out of them that I've used and definitely more complex to use.
It’s also proprietary.
Re: Kafka as an Antipattern
#100Earlier quoted context omitted.
Like AWS SQS? Others provide at least once processing as well. Kafka has been the slowest out of them that I've used and definitely more complex to use.
SQS has durability for up to 14 days and you can only have one consumer group. It’s also proprietary.
It's still harder to get wrong than Kafka.