News for hackers. Stuff that matters.
Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by rubiquity on Tuesday February 09, 2021 @12:39PM (#26080344)
Kafka and Druid are expensive and complicated components to run for an open core biz trying to help people save money against Datadog. This guarantees a lot of people won't take advantage of the "open" part of your open core but maybe that doesn't matter for your business anyway.

I can't speak to Druid but I'm always puzzled when I hear about Kafka being used for metrics. Most metrics are timestamped and also support being calculated in ways that support out of order handling.

It's true that people are being gouged on storage markup by monitoring companies but I don't think this particular approach is the solution. Obsessing over storage and querying costs isn't a good starting point for a startup so maybe driving good habits (stop collecting so much junk, keep it around less frequently, etc.) is a better route to help people save quiche. Either way good luck!

Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by gen220 on Tuesday February 09, 2021 @02:11PM (#26081353)
I’d totally agree that the operating costs (speaking eng time, which is more expensive than machines) of Kafka+ZK alone is quite high.

If a company is not already using Kafka, they wouldn’t want to maintain it “just” to have a self hosted APM system.

If I could make a recommendation to the developers of this system, it would be to focus on the interface with the streaming platform, before the implementation of using Kafka to support that interface.

Ideally, one should be able to plug in and out the queueing system of preference.

This will help adoption, and avoid coupling the success of your project to the implementation and success of Kafka.

Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by jwatte on Tuesday February 09, 2021 @03:19PM (#26081970)
Even if you maintain Kafka for business logic, you don't want to run your observability in the same Kafka cluster, because then when the business Kafka goes down, how will you debug it?
Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by ankitnayan on Tuesday February 09, 2021 @03:39PM (#26082137)
Correct, Ideally monitoring stack should be outside the blast radius of other applications. Will handling another Kafka cluster (probably smaller than business Kafka) be a pain for the team given the team already knows managing one business Kafka. What do you think?
Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by ankitnayan on Tuesday February 09, 2021 @02:28PM (#26081517)
I completely agree with you. For companies not already using Kafka, this will ask for a big commitment to self-host Kafka.

You mentioned a great approach. Queueing system as a plugin. Thanks

Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by TameAntelope on Tuesday February 09, 2021 @01:50PM (#26081154)
Kafka has a terrible reputation, but once you get familiar with it, it only occasionally lives up to that reputation, and oftentimes outperforms expectations by quite a bit.
Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by ankitnayan on Tuesday February 09, 2021 @02:03PM (#26081292)
I was pretty much surprised to see the results too. A single node Kafka with 2GB as xmx value, was ingesting at 4500 events/sec (around 1MB/s) on a single partition.

I blogged my experiments with SigNoz's scale at https://signoz.io/blog/signoz-benchmarks/. Hoping to get better in fine-tuning configs and blogging.

Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by gen220 on Tuesday February 09, 2021 @02:15PM (#26081387)
I think the concerns raised in this thread are less regarding raw throughput, and more about (1) the complexity of the typical production Kafka deployment (2) the arguably unnecessary, highly complex ecosystem around Kafka that you have to pay people or companies to use effectively, (3) the history of problems regarding data loss with ZK/Kafka, caused by leadership election bugs.
Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by stmw on Tuesday February 09, 2021 @03:45PM (#26082187)
Exactly right. In my personal experience, Kafka's reputation for data loss and other mishaps is well-earned. Some of them are well explained by Jepsen tests.
Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by ankitnayan on Tuesday February 09, 2021 @02:43PM (#26081653)
hmm..I get your point. I searched for Kafka alternatives for a bit before including it on our stack. Though, I couldn't find something more adopted by all. It would be good to know a few Kafka alternatives you prefer which can handle equivalent production scale?
Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by gen220 on Tuesday February 09, 2021 @04:52PM (#26082832)
I agree with my sibling comment, and reiterate my cousin comment that you've replied to (commenting here to complete this sub-tree).

Queuing technologies will come and go, IMO it's better to focus on the interface, and allow people to swap in whatever implementation they prefer and are accustomed to. It also benefits you in the long-term too, because an application that is less-coupled to a particular external dependency will be easier to test.

Some examples of queuing tech that's deployed successfully at scale: Redis Streams, RabbitMQ, Amazon's SQS. Since this is written in Go, you could even offer an in-memory, channel-oriented stream implementation, with no external dependencies.

Not one of these is universally better than Kafka: each offers a set of trade-offs, but a very similar interface from SigNoz's point of view.

For SigNoz's hosted/tenant-based solution, it might absolutely make more sense to use Kafka. But self-hosted users bring different trade-offs to the table, and might prefer to use another solution.

Strategically, can write/maintain the plugin for Kafka (very similar to how you operate right now, except it leaves the door open to more plugins existing in the future), and encourage community contributions for other tech. Or, when you're big enough, you might want to employ people to maintain those plugins too, since they're good for adoption.

Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by ankitnayan on Tuesday February 09, 2021 @05:09PM (#26083051)
really liked the way you put things to clarity. Thanks for these inputs and suggestions, will definitely think harder on this.
Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by dflock on Tuesday February 09, 2021 @03:43PM (#26082173)
Have an interface for a queuing system and support other things, not just Kafka. Ideally, you want a default/dev instance to ship with something super simple, zero setup and maybe in-memory - but allowing you to swap-in kafka or something more capable as needed.
Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by pranay01 on Tuesday February 09, 2021 @05:02PM (#26082964)
That's an interesting point. Curious, would you use a project which supports a simple/in-memory datastore, but not anything which would be useful in production environment? Do you think that easy to get running and setup in dev environment valuable for adoption - even if it won't work in prod?

I am trying to understand - what would be a good way to prioritise.

Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by dflock on Wednesday February 10, 2021 @12:52AM (#26086077)
> Do you think that easy to get running and setup in dev environment valuable for adoption

Yes, it'll make a big difference to adoption. If step one of your setup instructions are "provision a Kafka cluster", then you are going to lose 90% of people right there.

Ideally, your dev install is super simple and has a built-in in-memory queue thing. The key here, is to make it as simple as possible to get started. Once people have tried it out, and become invested in you, then you can say "for production scale, use Kafka instead of FastQ/SimpleQue/Whatever".

They key to that second step, is to have your product abstract the queue functionality it needs, into an interface that it uses to talk to the queue - allowing people to swap out queue backends with a simple configuration change.

So, make it simple to get started - and simple to scale up when you decide to.

Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by ankitnayan on Wednesday February 10, 2021 @01:14AM (#26086154)
hmm..got your point. We shall definitely look into other queuing system to be integrated as interface. Trying to understand better, what's a super simple dev setup like (to get the adoption)?

Right now, we can run SigNoz with all components including Kafka and Druid in 4GB memory supporting around 200 events/sec. Though, will need to check whether this micro setup passes a run of a few days.

Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by dflock on Sunday February 14, 2021 @07:54PM (#26137828)
What you have now isn't too bad, but figure out if you can get it down to one single command. Have a look at what netdata does (https://learn.netdata.cloud/docs/agent/packaging/installer#a...) - this is a single command to install, works really well and is super quick to get started on a single node.
Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by gen220 on Tuesday February 09, 2021 @07:08PM (#26084275)
Redis is like this. It runs in-memory by default, but can be trivially configured to write to disk / be persistent between server sessions. Many credit this feature as a catalyst to its adoption.
Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by sciurus on Tuesday February 09, 2021 @08:53PM (#26084960)
AWS's Kinesis, GCP's PubSub, whatever Azure has.
Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by GordonS on Wednesday February 10, 2021 @04:43AM (#26087239)
Azure has Azure Service Bus (a "full" messaging system, with subscriptions, topics, routing, AMQP 1.0 etc), and also Azure Storage Queues (a very simple queueing system where a client polls a single queue for messages).
Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by pranay01 on Sunday February 14, 2021 @09:15AM (#26132554)
Thanks, but won't restricting to a specific cloud service reduce adoption?
Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by GordonS on Sunday February 14, 2021 @01:25PM (#26134731)
I was just outlining what the messaging options on Azure were, for the parent poster.
Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by stmw on Tuesday February 09, 2021 @03:47PM (#26082199)
Guess your were luckier? YMMV, I've found Kafka generally lives up to its terrible reputation -- and even when it doesn't, it's all somehow more difficult than its initial appeal. I certainly agree with others that inclusion of Kafka in an open-source package like this would discourage me from using it.
Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by TameAntelope on Tuesday February 09, 2021 @04:18PM (#26082484)
I don't think it was luck, I just continued to learn about the mistakes I was making, until I resolved the problems people typically bail upon encountering.
Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by pranay01 on Tuesday February 09, 2021 @03:58PM (#26082309)
Curious, is there an alternative to Kafka which would be more easier for you to adopt?
Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by vladsanchez on Tuesday February 09, 2021 @04:18PM (#26082487)
Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by pranay01 on Tuesday February 09, 2021 @04:45PM (#26082757)
We had checked out both these projects. Our view was that RedPanda was still an early project ( ~1.5K stars) and Pulsar was very similar to Kafka, and Kafka was more well known compared to Pulsar
Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by stmw on Tuesday February 09, 2021 @04:23PM (#26082549)
some options: - https://pulsar.apache.org/ - the many systems based on https://en.wikipedia.org/wiki/Advanced_Message_Queuing_Proto... - cloud-specific queues (SNS Kinesis et al)
Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by TameAntelope on Tuesday February 09, 2021 @04:32PM (#26082628)
Kafka does not fill the same use cases as these suggestions, this may be part of the trouble you were experiencing!

My use of Kafka was as a "system of record", and attaching connectors to create views into the data from there.

I could replay a Kafka topic into a MongoDB, run some analysis, and destroy the MongoDB instance.

Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by stmw on Tuesday February 09, 2021 @04:20PM (#26082505)
TameAntelope - sorry I should've phrased it differently, not "lucky" but more skillful as you say.
Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by TameAntelope on Tuesday February 09, 2021 @04:36PM (#26082662)
I should say I had a team backing me up, and I lost many nights (and a handful of weekends) because Kafka didn't do what we expected.

The journey to feeling good with Kafka was difficult, but I was too stubborn to let us give up. :)

Re:Launch HN: SigNoz (YC W21) – Open-source alternative to D... by ankitnayan on Tuesday February 09, 2021 @01:07PM (#26080646)
Nice thoughts, A few other users also pointed this out.

We observed enterprise and other Observability SaaS vendors have some scripts and controllers to keep running these components. We plan to open-source that too. As you rightly pointed out running OSS needs man hours and we will try to remove those frictions.

Also when working with Prometheus and Jaeger, we observed people anyhow have to use Kafka to handle scale and mostly OSS are good at start but become pretty complicated at handling scale. Eg, Prometheus long term storage solution is Cortex which itself is difficult to manage. In that case, Kafka should be better beast to handle than multiple moving components inside Cortex. We built SigNoz as a scalable alternative inspired from stream processing architecture.

We will also be proving sampling strategies including tail-based sampling to retain important data and not unnecessarily clogging disks.