Live data from Hacker News

Launch HN: Jitsu (YC S20) – Open-Source Segment Alternative

news.ycombinator.com

1–10 of 114 posts

Launch HN: Jitsu (YC S20) – Open-Source Segment Alternative

#1
Hey HN! Vlad here with Sergey, Ildar, and Kirill. We are building Jitsu, an open-source Segment alternative (https://github.com/jitsucom/jitsu, https://jitsu.com/). We help companies collect events from their apps, websites, and APIs and send them to databases.

I've been doing data engineering for more than ten years (half of that time, I didn't know that it's called "data engineering”). Before Jitsu, I was a co-founder and CTO of GetIntent, an ad-tech startup. Although it was ad-tech (I'm sorry for that!), we also built a quite fascinating technology platform. We processed up to 1 million events per second at peak, and all those events needed to be stored somewhere.

We churned through a few data warehouse platforms along the way. In 2013, we started with Hadoop's HDFS and a bunch of map-reduce jobs on top of it. Then, when we decided to allow our customers to run ad-hoc reports, we switched to BigQuery. BigQuery was great, but expensive—especially with some customers obsessively clicking the refresh button. Finally, in 2017 we migrated to self-hosted ClickHouse which in my opinion is still the best analytics database in the world.

All that time, we spent a fair amount of effort to get data to the database. When you're dealing with millions of events per minute, running an INSERT statement per event won't work. What if the DB is down for maintenance? How can you be sure that all 50+ edge nodes are aware of recent DB schema changes? Also, did you know streaming data to BigQuery is costly while batching data is free?

We tried different approaches: first, we would write local log files, sync them to HDFS, and load data to BQ (or ClickHouse) with map-reduce jobs. To improve data freshness, we ditched HDFS and started to send data in batches to the DB directly from edge servers. We experimented with Kafka, but it felt too complex for that task at the time.

I always dreamed about a straightforward service, to which I'd throw JSON objects, and it would take care of the rest: queueing, retrying, updating database schema, etc.

Then I discovered Segment. I liked it at first. It seemed very developer-friendly with a nice API and excellent documentation. But the pricing model and data delays (the event gets to DB in 12 hours after it has been sent to Segment) killed the whole idea. And it was not open-sourced. In my opinion, being open-source and self-hostable is a must for such a fundamental part of the architecture as data collection.

I left GetIntent and got accepted to YC with a different idea for the Summer 2020 batch. The idea was to build a churn prevention and BI tool for online retailers. It didn't take off, but in the process we made a component to collect customer's app events and put it to DB. We tried to hack a solution on top of the ELK stack, but I was frustrated with ElasticSearch’s lack of SQL support. Here I was back to square one: there's no good open-source event collection service yet, and we needed to build one, once again.

So we decided to focus solely on that problem. We ditched all the previous code, which was in Java, rewrote the data collection server in Go and hacked together what we called EventNative [1]. It was received very well, and we started to get users.

Over the last 11 months, we've been busy building the UI, adding Connectors (to pull data from external APIs), polishing data warehouse support, adding javascript support to transform incoming data, and implementing dozens of other features.

Now we're launching Jitsu, an open-source Segment alternative. With Jitsu, we make it easy to collect data and send it to databases (we support all major players: ClickHouse, Redshift, Snowflake, BigQuery and Postgres). We’re deployed in production, including into a large gaming publisher, eSignature service, and many other great companies. We're going for an open-core model. So far we don't have paid features, but soon we'll have some, presumably around things like authorization and data masking. Also we run Jitsu.Cloud[2] which you can buy if you don’t want to self-host

Give it a spin: https://github.com/jitsucom/jitsu.

Thank you for reading this story - I hope it was interesting. I would love to read your feedback on Jitsu and answer questions!

[1] https://news.ycombinator.com/item?id=24120325 [2] https://cloud.jitsu.com

Re: Launch HN: Jitsu (YC S20) – Open-Source Segment Alternative

#3
I really like this, congratulations on the launch. And this is such a huge space that there's definitively room for other options (aside from Segment).

I'm a little bit out of the loop in this event processing space. Do you think Jitsu could replace lower-level event processing implementations as Kafka/Kinesis? Or this is thought for more "high level" marketing stuff.

Re: Launch HN: Jitsu (YC S20) – Open-Source Segment Alternative

#4
Great work! It's funny that YC funded Segment as well as two direct Segment competitors (RudderStack is the other one, though I think they initially started with a different idea an pivoted to that afterwards), though given the size of YC this is probably expected and Segment is probably large enough to "deserve" some good smaller competition.

As someone who also builds an open-core product (though not directly modeled after an existing closed-source product) I really hope this kind of business model will become more accepted.

Re: Launch HN: Jitsu (YC S20) – Open-Source Segment Alternative

#6

I really like this, congratulations on the launch. And this is such a huge space that there's definitively room for other options (aside from Segment). I'm a little bit out of the loop in this event processing space. Do you think Jitsu could replace lower-level event processing implementations as Kafka/Kinesis? Or this is thought for more "high level" marketing stuff.

That's a good question. We're aiming to replace Kafka in some cases. There're many ways how people use Kafka. But it could be roughly divided into two buckets

- Kafka as a company wide message bus: dozen's of (micro)services sending data there, and consumers listens to data. Each service doesn't know which other service will consume the data. For that case, we're not looking to replace Kafka — we're going to work along with it. We have a PR about supporting Kafka as destination [1] (Jitsu sends data to Kafka), and we will support Kafka as a source at some point (PRs are always welcome :))

- Kafka is used just as a transport between web-app and DB. In that case Jitsu is a perfect replacement

[1] https://github.com/jitsucom/jitsu/pull/537

P. S. The same applies to Kinesis too

Re: Launch HN: Jitsu (YC S20) – Open-Source Segment Alternative

#8
post #5

Can we expect react native integration any time soon ?

It depends on if we get a PR anytime soon. At the moment we're just 4 engineers, and unfortunately React.Native is not on the top of our list. I'd say we'll have it in 2 months unless we get a PR earlier

Re: Launch HN: Jitsu (YC S20) – Open-Source Segment Alternative

#9

Great work! It's funny that YC funded Segment as well as two direct Segment competitors (RudderStack is the other one, though I think they initially started with a different idea an pivoted to that afterwards), though given the size of YC this is probably expected and Segment is probably large enough to "deserve" some good smaller competition. As someone who also builds an open-core product (though not directly model…

They have been doing that in many areas now...

Look at the alternatives to closed source analytics that they have funded

Re: Launch HN: Jitsu (YC S20) – Open-Source Segment Alternative

#10

Great work! It's funny that YC funded Segment as well as two direct Segment competitors (RudderStack is the other one, though I think they initially started with a different idea an pivoted to that afterwards), though given the size of YC this is probably expected and Segment is probably large enough to "deserve" some good smaller competition. As someone who also builds an open-core product (though not directly model…

I don't believe that YC funded RudderStack, but they funded Segment indeed! It's not uncommon. If I have to guess, every batch or so have at least 2 companies directly competing with each over
Post reply on HN