Live data from Hacker News

Migrating Dropbox from Nginx to Envoy

dropbox.tech

211–220 of 243 posts

Re: Migrating Dropbox from Nginx to Envoy

#211
post #148
post #43

Earlier quoted context omitted.

> Does a decreased number of machines running really justify the migration and addition of complexity? Of course it does. I am not sure why you think it doesn't.

servers are a commodity and cheap compared to runtime complexity

This attitude gives us ever less eficicent software that endlessly gobbles up resources for no good reason.

Re: Migrating Dropbox from Nginx to Envoy

#212
post #111

Earlier quoted context omitted.

Traefik makes it fairly easy (inasmuch as it makes anything easy). But it's just a proxy, not a web server.

Traefik can work yes - documentation is really terrible though for anything approaching that use case. We had to really futz around with it and eventually went back to Caddy. Our use case is several thousand client domains that just proxy to some backends.

Did you move to caddy 2?

Our initial use-case was ingress for docker swarm - after a fooray into k8s with the "traditional" nginx ingress with its rather hackish let's encrypt contraption.

I briefly looked at caddy 2 - but wasn't able to find any out-of-the box tricks for listening to docker messages and dynamically configure sites in a sane way.

Do you use custom code and configure caddy via the api?

Re: Migrating Dropbox from Nginx to Envoy

#213

Earlier quoted context omitted.

The model of "copyleft if your project is open, pay us if your project isn't open" is one where I have no problems or concerns, and will happily use the open version and recommend that people building something proprietary purchase a paid license. Nor will I typically worry about the motives or future of the project unless I have some other reason to. And the KDE Free Qt Foundation means I never have to worry about Q…

Does anyone know a good license for that? Maybe the Prosperity license? EDIT: I've just realized that I want a revenue-limited trial, rather than a time-limited one. I basically want the Prosperity license, but with the ability to say "you have to pay me if your company makes more than $100k in annual revenue". Is there a license like that? I've emailed the License Zero people, hopefully they'll do something for that…

Also have a look at polyform licenses

https://polyformproject.org/licenses/

Re: Migrating Dropbox from Nginx to Envoy

#214

One thing nice about OpenResty (nginx) and their Lua support is that it plugs in at TLS negotiation. Does Envoy?

Can you describe your use-case? If you are talking about the ability to select a certificate on the fly via `ssl_certificate_by_lua_block`[1] we are not aware of such functionality. If you are missing something, I would highly encourage you discuss it with the community on a github! From Oleg Guba, Traffic Team TL, co-author, and person driving the deployment: * ListenerFilters + NetworkFilters are flexible enough, t…

Wordpress and others use this to load certain on the fly. When you are a multidomain host this matters a lot.

You don’t just load up a million cents as files and restart the server (though I do know a company that does something like this, but man, quite brittle).

Re: Migrating Dropbox from Nginx to Envoy

#215

Earlier quoted context omitted.

Does anyone know a good license for that? Maybe the Prosperity license? EDIT: I've just realized that I want a revenue-limited trial, rather than a time-limited one. I basically want the Prosperity license, but with the ability to say "you have to pay me if your company makes more than $100k in annual revenue". Is there a license like that? I've emailed the License Zero people, hopefully they'll do something for that…

Also have a look at polyform licenses https://polyformproject.org/licenses/

Ahh, yes! I think I want a cross between the Prosperity and the Small Business license.

Re: Migrating Dropbox from Nginx to Envoy

#216

Earlier quoted context omitted.

The model of "copyleft if your project is open, pay us if your project isn't open" is one where I have no problems or concerns, and will happily use the open version and recommend that people building something proprietary purchase a paid license. Nor will I typically worry about the motives or future of the project unless I have some other reason to. And the KDE Free Qt Foundation means I never have to worry about Q…

Does anyone know a good license for that? Maybe the Prosperity license? EDIT: I've just realized that I want a revenue-limited trial, rather than a time-limited one. I basically want the Prosperity license, but with the ability to say "you have to pay me if your company makes more than $100k in annual revenue". Is there a license like that? I've emailed the License Zero people, hopefully they'll do something for that…

> Does anyone know a good license for that?

The "that" in question was "copyleft if your project is open, pay us if your project isn't open". For that, try the AGPL or GPL, depending on your use case and customers, and then sell alternate licenses for people who don't want to make their own code open.

> Maybe the Prosperity license?

That isn't an open source license, despite its efforts to be ambiguous on that front. That and the even worse "commons clause" are exactly the kind of license that motivated the latter half of my original comment at https://news.ycombinator.com/item?id=24005833

Re: Migrating Dropbox from Nginx to Envoy

#217
post #167

Earlier quoted context omitted.

In a business context, I'd definitely consider paid support for an Open Source product. But I'm not interested in a proprietary version that I can't modify or get third-party support for or otherwise work with in a pinch; I'm certainly not going to make a business dependent on it. Push the proprietary version hard enough and I'll reconsider whether I even want to use the Open Source version, or if it might be on more…

What if it were a single source-available version (that also allowed you to, say, get third-party support/customizations)?

If you're saying "source-available" as opposed to Open Source: complete non-starter. I'm looking for Open Source, not a faux knock-off of it; don't try to give me a subset of Open Source license terms that you think would placate me while not actually being open.

Re: Migrating Dropbox from Nginx to Envoy

#218
post #162

Earlier quoted context omitted.

>> "There’s no inherent reason OSS should somehow forcefully live" What on earth does this tirade even mean? Every business lives 'forcefully' and fights for survival. Sometimes it comes with values, i.e. we dont use child labour in DRK to mine thallium, fairtrade, organic, etc. OSS is one of those values. Is there a business that lives 'effortlessly'?

FOSS doesn't have anything to do with values, or do you refuse FOSS software tainted by corporation's contributions that don't share your values ? Because then it is going to be a very thin selection available.

FOSS software absolutely has value in an of itself, and I will take it even if it comes from satan himself.

As chirchill once said: "If Hitler invaded hell I would make at least a favourable reference to the devil in the House of Commons."

Re: Migrating Dropbox from Nginx to Envoy

#219

Earlier quoted context omitted.

The sibling comments point towards the difference in configuration if you take the "out of the box" product. But there is also a vast difference in how code is organized, in case you ever have to touch it. From my point of view Nginx feels "old". It's a C codebase without a great amount of abstractions and interfaces, and instead having a bunch of #ifdefs here and there. Unit-tests and comments are not to be found. B…

> uses Bazel for builds Is this unanimously good? I've heard both praise and horror, never used it myself.

One of the senior engineers once said to me that "Bazel is like a sewer: you get back what you put in."

Bazel requires a lot of upfront effort but the power of (a programmatically accessible/modifiable) dependency graph and a common build/test system across all the languages is very hard to underestimate.

Re: Migrating Dropbox from Nginx to Envoy

#220
post #212

Earlier quoted context omitted.

Traefik can work yes - documentation is really terrible though for anything approaching that use case. We had to really futz around with it and eventually went back to Caddy. Our use case is several thousand client domains that just proxy to some backends.

Did you move to caddy 2? Our initial use-case was ingress for docker swarm - after a fooray into k8s with the "traditional" nginx ingress with its rather hackish let's encrypt contraption. I briefly looked at caddy 2 - but wasn't able to find any out-of-the box tricks for listening to docker messages and dynamically configure sites in a sane way. Do you use custom code and configure caddy via the api?

> I briefly looked at caddy 2 - but wasn't able to find any out-of-the box tricks for listening to docker messages and dynamically configure sites in a sane way.

Like this? (Am not a Docker user, but I know this is an insanely popular solution) https://github.com/lucaslorentz/caddy-docker-proxy

There's also a WIP ingress controller: https://github.com/caddyserver/ingress/

Post reply on HN