Sensing a bit of a trend here. Didn't another major player recently make the same switch?
It's a drop in the water compared to Nginx usage.
Migrating Dropbox from Nginx to Envoy
21–30 of 243 posts
Re: Migrating Dropbox from Nginx to Envoy
#22Who does Dropbox compete with these days? They have pretty much the highest prices for the least amount of value. The only reason I see them mentioned here frequently is their connection with Y Combinator.
Re: Migrating Dropbox from Nginx to Envoy
#23Who does Dropbox compete with these days? They have pretty much the highest prices for the least amount of value. The only reason I see them mentioned here frequently is their connection with Y Combinator.
Personally, I prefer Dropbox. I found problems with One Drive. Google Drive client was always hit and miss and I could not rely on it. iCloud is not cross platform (afaik). Dropbox has worked where ever I needed it.
Dropbox is more expensive but I prefer to have my files in Dropbox (as a separation of concerns) rather than have a single tech company control every aspect of my life.
My experience with the 'average Joe' is that Dropbox is easy and it works. Yes, they might save a couple dollars switching to OneDrive but Dropbox still offer a good product. Will Dropbox survive long term? I certainly hope so. I have no affiliation, aside from being a customer.
Re: Migrating Dropbox from Nginx to Envoy
#24Re: Migrating Dropbox from Nginx to Envoy
#25I'm positively surprised that Dropbox (at least from what I understood from the post) didn't require lots of changes or patches on top of the upstream codebase of Envoy to migrate their traffic!
We did require some of them[1]. Esp. painful were Transfer-Encoding quirks, and some dances around old HTTP/1.0 backends and request buffering. Compared to NGINX though, it was relatively easy to push these fixes upstream. Community is very welcoming to outside contributions. [1] https://dropbox.tech/infrastructure/how-we-migrated-dropbox-...
Re: Migrating Dropbox from Nginx to Envoy
#26Did you consider using commercial nginx? If so, what made you decide against it?
Re: Migrating Dropbox from Nginx to Envoy
#27Did you consider using commercial nginx? If so, what made you decide against it?
Things that may've help:
-- Configuration definition (e.g. protobufs.)
-- More focus on observability: error metrics (instead of logs), tracing, etc.
-- gRPC control plane.
-- C++ module development SDK.
-- (ideally) bazel.
Some dataplane features like gRPC JSON transcoding, gRPC-Web, and http/2 to backends.
Re: Migrating Dropbox from Nginx to Envoy
#28Who does Dropbox compete with these days? They have pretty much the highest prices for the least amount of value. The only reason I see them mentioned here frequently is their connection with Y Combinator.
I noticed on social media a lot of negativity toward Dropbox and sometimes even on HN. The negative sentiment appears to come from tech circles who feel One Drive offers a better price point or iCloud works great for them, so Dropbox shouldn't exist. Personally, I prefer Dropbox. I found problems with One Drive. Google Drive client was always hit and miss and I could not rely on it. iCloud is not cross platform (afai…
Re: Migrating Dropbox from Nginx to Envoy
#29Besides that, it looks like the move was significantly driven by GRPC and profobuf. No surprise here, GRPC really doesn't work well over HTTP. Once a company start using the google stack, they have to move to more of the google stack to make it usable.
Re: Migrating Dropbox from Nginx to Envoy
#30One thing nice about OpenResty (nginx) and their Lua support is that it plugs in at TLS negotiation. Does Envoy?
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, that some of the custom logic could be just moved to the config.
From Ruslan Nigmatullin, our head Envoy developer:
If you are talking more about a custom verification code there is already couple of ways to do that:
* Client TLS auth Network Filter: https://www.envoyproxy.io/docs/envoy/latest/configuration/li...
* Alternatively, if you are writing C++ extension you can use Network::ReadFilter, Network::ConnectionCallbacks.
[1] https://github.com/openresty/lua-nginx-module#ssl_certificat... [2] https://github.com/openresty/lua-resty-core/blob/master/lib/...