Live data from Hacker News

Buf raises $93M to deprecate REST/JSON

buf.build

81–90 of 91 posts

Re: Buf raises $93M to deprecate REST/JSON

#81

Lol. Imagine trying to capture a market that is already mostly happy with what it's got, and for free.

Imagine this offering: "Why go through the hassle of generating clients for your service for each language when we can build ergonomic clients automatically" and "Why manually look for breaking changes in your API when we can detect them manually" or "We can give you $AMAZING_FEATURE for free by using a clearer language to describe your api" where your feature could be: 1. Reduced bandwidth ingress 2. Automatic traci…

These are all good effects of SDD (schema/spec driven development); but there is nothing in ProtoBufs that make them intrinsically better then other solutions like OpenAPI/JsonSchemas and others.

Re: Buf raises $93M to deprecate REST/JSON

#82
post #76

Earlier quoted context omitted.

> I see that you don't fully understand the problems of composability, compatibility, and versioning and are too eager to dismiss them based on your prior experience with inferior type systems. > You are conflating your experience with particular conventional tooling with a general availability of superior type systems and toolings out there. You literally quoted my project as one of your two examples of superior sys…

These are not mutually exclusive things, as superiority of the systems is a multi-dimensional metric. I quoted cap'n proto as an alternative to protobuf that I would definitely choose over any protobuf, because in my book it does at least a few things better. Namely, the bits related to immutability & zero-copying, and random access. But at the same time I do not like and do not agree with your field optionality stan…

The "required fields considered harmful" opinion was a hard lesson learned through real experience -- the experience of repeated outages of large, complex systems like Google Search, GMail, etc. Certainly, prior to this experience, everybody assumed required fields were a good idea.

More abstractly, the hard lesson was: In a large distributed system, the site of use is the only reasonable place to do data validation. If you do it anywhere else, you will create a more brittle system that can't handle changes. The reason is pretty straightforward, but is more of a human reason than a mathematical one: when someone decides to modify a protocol for some new feature, they know they obviously have to modify the code that produces and consumes the protocol in order to implement the feature. But if they have to update a bunch of other places too, that's at best more work, and at worst easily forgotten. It's really important that any part of the system that is just a middleman will be agnostic to the data and pass it through unmodified -- even if the data is based on a newer version of the schema than the middleman is aware of.

So yes, you actually want the validation to be in your business logic. But you don't want it to complicate that business logic too much. Most of the time, optional fields (with default values) provide the right balance between making changes easy without making code ugly. Sometimes, a more drastic change -- like declaring a new version of the protocol and writing translation layers -- is a good idea, but this is an expensive step that you want to do rarely.

Now, obviously you don't agree with this. But your arguments sound like they are coming from a place of intuition, not experience. That's fine, intuition is critical to innovation. But you can't go around claiming your intuition is "superior" without proving it out in practice. Intuition is always based on a simplified model in your head, and the real world often doesn't work like you think it will. I assure you you don't know anything I don't, in decades of working on this stuff I've heard all the ideas. The only way to prove yourself right is to actually build systems your way and show success in the field. Of course, there will likely never be a definitive proof that one idea or the other is superior, only anecdotal experience. However, the fact that a large majority of successful distributed systems today are built on Protobuf or a similar model to Protobuf suggests that experience leans heavily in that model's favor.

Re: Buf raises $93M to deprecate REST/JSON

#83

When shit like this happens, I just always think "I don't understand finance at all and never will." I read the company's primary blog blog post, https://buf.build/blog/api-design-is-stuck-in-the-past , about "schema driven development" and agree with a lot of it. Which is why I'm a huge fan of GraphQL and related completely free open source libraries, where I define my API endpoints with a strongly typed yet easily…

> Which is why I'm a huge fan of GraphQL and related completely free open source libraries I don't understand this comparison. Apollo raised $130M this past summer -- doesn't seem that different to TFA. Is that also nuts to you? The Protocol Buffers and gRPC ecosystem are also completely free open source libraries. Replace GraphQL with Protobuf and your post is still correct.

> Apollo raised $130M this past summer -- doesn't seem that different to TFA. Is that also nuts to you?

Yes, absolutely. I love the Apollo open source libs, and I can currently see how many customers would choose to pay for their services, but yes, I think $130 million is also nuts.

Note I did preface my comment with "I don't understand finance at all and never will." so I'm certainly not saying I'm right here.

Re: Buf raises $93M to deprecate REST/JSON

#84
post #56

Earlier quoted context omitted.

I mean... I'm one of the investors... I'm also the former maintainer of Protobuf and former startup founder myself... but I could be clueless, yeah.

With all respect, I hope you don't have a lot of capital locked in this. Who is this company targeting? Google? My company uses gRPC and it's an absolute nightmare but not so much to the point where we'd use a company like this to add on MORE costs to our infrastructure. It baffles me people choose buzzword technology because "ex-googler" or whatever when 99% of companies that choose it will NEVER hit the scale it wa…

I don't see Buf's play as being about scale or performance, but rather developer experience. I think that that with the right tooling, the developer experience of strong schemas with code generators can far surpass JSON/REST. If that happens then the performance/scalability benefit is just a bonus.

Will people pay for it? That's not my area of expertise. But, I would note that Vagrant started out as a collection of Ruby scripts for wrangling existing VM products, which probably few people imagined would be something people would pay for. And just this morning, Hashicorp went public at a market cap of $18.5B. It is possible to build a business around developer tools. Not easy, certainly, but possible.

> I hope you don't have a lot of capital locked in this

Like any intelligent angel investor, I always assume I'll lose 100% of my investment and size them appropriately.

Re: Buf raises $93M to deprecate REST/JSON

#85
post #82

Earlier quoted context omitted.

These are not mutually exclusive things, as superiority of the systems is a multi-dimensional metric. I quoted cap'n proto as an alternative to protobuf that I would definitely choose over any protobuf, because in my book it does at least a few things better. Namely, the bits related to immutability & zero-copying, and random access. But at the same time I do not like and do not agree with your field optionality stan…

The "required fields considered harmful" opinion was a hard lesson learned through real experience -- the experience of repeated outages of large, complex systems like Google Search, GMail, etc. Certainly, prior to this experience, everybody assumed required fields were a good idea. More abstractly, the hard lesson was: In a large distributed system, the site of use is the only reasonable place to do data validation.…

> The "required fields considered harmful" opinion was a hard lesson learned through real experience -- the experience of repeated outages of large, complex systems like Google Search, GMail, etc. Certainly, prior to this experience, everybody assumed required fields were a good idea.

There is a common trait in the systems you mentioned: they generally allow for a permissive representation of a domain data where many of the fields could be omitted or replaced by zero-values / defaults, because most of them, by their nature, have to do with things that are optional and are tolerable to noise and accidental mistakes (percentile precision). How much of A/B test data and user tracking stats do gmail / google search encode and process as protobuf?

If you compare it to a simulation engine's data stream or a collaborative BIM / CAD model, you will find out that almost everything that travels over a network in these systems is required to be unambigous and strictly consistent at sending and receiving sites. All binary representations of physical relations in these models are not just scalar values that can tolerate a default value assigned by a protocol parser upon receiving a missing field. The scalar values appear at UI rendering / output formatting. But most of the time you deal with relations and equations and you need to be able to differentiate between missing-by-intent and missing-by-mistake cases. Zero-values will not be helpful either, because a zero value itself can be represented in multiple ways, depending on the model being evaluated and the context it's evaluated in, the values can legitimately come in different precisions, units, ratios (descrete vs dense) and so on, and those are not distinct fields, their combinations are often mutually exclusive. This is not the kind of validation you want to delegate to calling sites implemented in different languages and maintained by different teams of different technical capacity to solve the challenge of a proper validation. The invariants and constraints have to be encoded into the protocol, and required fields is a low-level "must have" bit of it.

Re: Buf raises $93M to deprecate REST/JSON

#86

Earlier quoted context omitted.

JSON is a powerful enemy, it takes lots of money to wage war against such a cunning opponent

You might enjoy reading about karpman's triangle haha

Thou shalt not take the menace of json in jest young man!

Re: Buf raises $93M to deprecate REST/JSON

#87
post #84

Earlier quoted context omitted.

With all respect, I hope you don't have a lot of capital locked in this. Who is this company targeting? Google? My company uses gRPC and it's an absolute nightmare but not so much to the point where we'd use a company like this to add on MORE costs to our infrastructure. It baffles me people choose buzzword technology because "ex-googler" or whatever when 99% of companies that choose it will NEVER hit the scale it wa…

I don't see Buf's play as being about scale or performance, but rather developer experience. I think that that with the right tooling, the developer experience of strong schemas with code generators can far surpass JSON/REST. If that happens then the performance/scalability benefit is just a bonus. Will people pay for it? That's not my area of expertise. But, I would note that Vagrant started out as a collection of R…

I wasn't really talking about Buf at scale but rather how gRPC is just a buzzword technology that companies get sucked into adopting for the sake of "scale". I've yet to see gRPC used in a way that makes sense - it's just added complexity for an org that should've been a monolith to begin with.

Maybe I'm an old curmudgeon but I don't see the point, at all.

Re: Buf raises $93M to deprecate REST/JSON

#88

When shit like this happens, I just always think "I don't understand finance at all and never will." I read the company's primary blog blog post, https://buf.build/blog/api-design-is-stuck-in-the-past , about "schema driven development" and agree with a lot of it. Which is why I'm a huge fan of GraphQL and related completely free open source libraries, where I define my API endpoints with a strongly typed yet easily…

At some point that money will have to be paid back — with interest… but from where? It can’t be free forever.

Re: Buf raises $93M to deprecate REST/JSON

#90
post #56

Yet another non-business grabbing $ from clueless investors. Surely there must be a word for the “we are grabbing $ from clueless investors” business model? WeWork is the poster child for that one.

I mean... I'm one of the investors... I'm also the former maintainer of Protobuf and former startup founder myself... but I could be clueless, yeah.

If you are clueless then you are in good company. Lots of self-proclaimed smart investors loose their shirt every day investing in things that are fundamentally scams pretending to be businesses.
Post reply on HN