News for hackers. Stuff that matters.
Re:Migrating Dropbox from Nginx to Envoy by Havoc on Thursday July 30, 2020 @04:45PM (#24002655)
Sensing a bit of a trend here. Didn't another major player recently make the same switch?
Re:Migrating Dropbox from Nginx to Envoy by SaveTheRbtz on Thursday July 30, 2020 @05:13PM (#24002889)
I think the best slice of who's migrating to Envoy can be observed via EnvoyCon talks[1][2]:

* Lyft (of course)

* Spotify

* Stripe

* Square

* eBay

* Yelp

* Pinterest

Plus the support from major cloud providers: Google, Microsoft, and Amazon.

[1] https://envoyconna18.sched.com/ [2] https://envoycon2019.sched.com/

Re:Migrating Dropbox from Nginx to Envoy by user5994461 on Thursday July 30, 2020 @08:33PM (#24004417)
They must all be GRPC users. Developers are pushing GRPC and protobuf pretty hard in companies. The next step down the road is to move to envoy as the load balancer. Otherwise these protocols don't work well over traditional HTTP infrastructure.
Re:Migrating Dropbox from Nginx to Envoy by stock_toaster on Thursday July 30, 2020 @06:36PM (#24003589)
So, seems like nginx is fine until your company reaches the "we are worth billions now" scale?
Re:Migrating Dropbox from Nginx to Envoy by user5994461 on Thursday July 30, 2020 @08:20PM (#24004345)
nginx is never fine for load balancing, they put basic features like metrics behind the paid edition. It's not sane to operate in production.

https://thehftguy.com/2016/10/03/haproxy-vs-nginx-why-you-sh...

Re:Migrating Dropbox from Nginx to Envoy by donavanm on Friday July 31, 2020 @12:32AM (#24005684)
I work for a billions company. Nginx is still fine. Youll need to be prepared to pay for better operations, management, visibility, and protocol support. You can either pay them or build it in house, but you will want to pay.
Re:Migrating Dropbox from Nginx to Envoy by jhgg on Friday July 31, 2020 @01:31AM (#24005977)
discord is also on that list - although we have not spoken much about it yet!
Re:Migrating Dropbox from Nginx to Envoy by dmicher on Thursday July 30, 2020 @05:20PM (#24002957)
It may actually become a trend. For well known reasons:

- Community

- Nginx served us well for almost a decade. But it didn’t adapt to current development best-practices

- Operationally Nginx was quite expensive to maintain

- C++

- Observability and monitoring

etc...

Re:Migrating Dropbox from Nginx to Envoy by freedomben on Thursday July 30, 2020 @05:43PM (#24003191)
I'd add another reason: so many people only use nginx as a reverse proxy, and the proxy configuration feels duct-taped on sometimes. Envoy being written as a proxy first makes it a better interface IMHO.
Re:Migrating Dropbox from Nginx to Envoy by ci5er on Thursday July 30, 2020 @07:46PM (#24004086)
Is C++ generally considered to be "better"?

I've always looked at it (esp. with STL) as kind of a "Swiss-Army-Chainsaw" and you were going to shoot your eye out. Maybe that view is old and things are better - but I learned a while back that sending a young gun into a C++ application's code-base would lead to a world of pain)

Maybe that learning is no longer accurate? What do you think?

Re:Migrating Dropbox from Nginx to Envoy by dmicher on Thursday July 30, 2020 @07:53PM (#24004140)
When we are comparing C, Lua (Nginx) and C++ (Envoy). Yes C++ is better :).
Re:Migrating Dropbox from Nginx to Envoy by ci5er on Thursday July 30, 2020 @07:59PM (#24004195)
Honest question: In what way?

Platform wars are over-ish. We have the same compile targets. What they call "Undefined Behavior) is relegated to ... well ... platforms we are not supporting.

C is fast - simple - easy(ish) to learn, and easy to "fuzz" in testing.

I can't speak to LUA - but C++ looks like a mine-field (to me).

Why do you declare that C++ is "better"? (Seriously interested - I don't even know enough these days to have a debate. I just gave up on the C++ hell-hole years (decades?) ago, and maybe should have kept up)

Re:Migrating Dropbox from Nginx to Envoy by euroelessar on Thursday July 30, 2020 @08:58PM (#24004569)
There are many reasons which lead to a cleaner codebase, some of them are: RAII, smart pointers, constant types, reusable containers, standard algorithms library, cleaner way to define interfaces, etc.

Overall our experience is that C++ code is smaller, simpler to write/read, and has a smaller chance of mistakes than equivalent logic written in C.

Of course many of this points are relevant only for relatively modern C++ (c++11/c++14 or newer), before that the cost/benefit ratio was much less clear.

Re:Migrating Dropbox from Nginx to Envoy by ci5er on Thursday July 30, 2020 @09:03PM (#24004592)
Fair enough. Thank you.

In my case - C (as a language) had a smaller footprint, and if the targets were limited, it was easier to learn, to lint and to code-inspect.

Admittedly, this was mostly before C++14. I guess this might be a case of "once bitten, twice shy".

Thank you.

Re:Migrating Dropbox from Nginx to Envoy by dmicher on Thursday July 30, 2020 @08:16PM (#24004325)
I'm not declaring that C++ is better for everything. In our case it is better because it makes this part of the infrastructure more sustainable: there are more engineers who can code well in C++ vs C in our company and industry overall. Also it is easier to code in C++ as it is general purpose programming language with a lot of libraries available, open source projects, community around it etc.
Re:Migrating Dropbox from Nginx to Envoy by ci5er on Thursday July 30, 2020 @08:51PM (#24004528)
Maybe we program in different verticals. I have not found it to be so. (I have still upvoted your comment).
Re:Migrating Dropbox from Nginx to Envoy by dmicher on Thursday July 30, 2020 @09:02PM (#24004587)
I value your opinion.
Re:Migrating Dropbox from Nginx to Envoy by ci5er on Thursday July 30, 2020 @09:06PM (#24004611)
Well, that is very gracious - esp. here.

I value yours.

You have different experiences than I do - so our conclusions will differ.

That said - I "feel" as if C++ is a dangerous serpent of a language. Maybe I need to spend 6 months re-acquainting myself in complex environments with more developers than just me, and re-evaluate that presumption on a medium-size project.

Thank you.

Re:Migrating Dropbox from Nginx to Envoy by Legogris on Thursday July 30, 2020 @10:14PM (#24005018)
Your happiness is important to me.
Re:Migrating Dropbox from Nginx to Envoy by user5994461 on Thursday July 30, 2020 @08:26PM (#24004374)
I think what they're trying to say is that developing plugins for nginx in Lua is not great. It's not a rant about languages.

This has to do with nginx not having the required features (features blocked behind the paid edition or GRPC non existent), forcing to develop plugins in Lua to compensate (the only supported language) and Lua is too slow for this sort of stuff (processing Gbps of traffic in real time is no joke).

Re:Migrating Dropbox from Nginx to Envoy by ci5er on Thursday July 30, 2020 @08:52PM (#24004533)
That makes sense. Thanks. (I still prefer C - but I am admittedly getting old and C++ sucked in the mid-90s or so)

EDIT: BTW -- I am not going to argue with LUA throughput. I'm still not sure what the thinking was there (maybe time-to-prototype?) - but C plugins run faster than Apache's do. By, like, a lot. (And I like Apache! ...Having used it since 1996)

Re:Migrating Dropbox from Nginx to Envoy by Shorel on Friday July 31, 2020 @10:38AM (#24008975)
It depends on the team. C++ can be better. It can also be worse.
Re:Migrating Dropbox from Nginx to Envoy by Thaxll on Thursday July 30, 2020 @05:52PM (#24003254)
It's a drop in the water compared to Nginx usage.
Re:Migrating Dropbox from Nginx to Envoy by SaveTheRbtz on Thursday July 30, 2020 @06:30PM (#24003552)
That is indeed true. But, I remember the time when we were rolling out nginx back in 2000's and exactly the same thing was said about Apache.
Re:Migrating Dropbox from Nginx to Envoy by Havoc on Thursday July 30, 2020 @06:49PM (#24003680)
Not if the people switching is the cool crowd. Which is exactly what I think is happening here
Re:Migrating Dropbox from Nginx to Envoy by stock_toaster on Thursday July 30, 2020 @06:40PM (#24003620)
HAProxy is pretty popular too.
Re:Migrating Dropbox from Nginx to Envoy by nine_k on Thursday July 30, 2020 @06:29PM (#24003544)
Because most nginx usage is different?

Of course, you can serve static assets using Envoy, and maybe even connect a fascgi app without very much hassle. But it's quite a bit less straightforward.

Re:Migrating Dropbox from Nginx to Envoy by iampims on Thursday July 30, 2020 @05:29PM (#24003056)
Slack announced they were going to switch.