Hacker News new | ask | show | jobs
by aukaost 1373 days ago
They were wondering why the original architecture was using NGINX over HAProxy, not why HAProxy wasn't chosen as an NGINX replacement.
2 comments

I think because Lee Holloway (the technical founder of Cloudflare) was used to use NGINX and so he used it for the original architecture. It's also the case that Pingora replaced part of something that handled both connections to origin servers and reading from cache. So the comment about "not serving files" isn't 100% correct as the NGINX instance was serving files as part of its work.
Well, it does offer more varied stuff from the get go so I can see why someone wouldn't want to limit their options, HAProxy was and is purely a proxy while NGINX is a bit of everything.

SPOE/SPOA added a bit of programmability to HAProxy but it is still basically only messing around with headers and acting upon that, nothing to do with content.

Back in the day, Cloudflare's WAF was based on OpenResty, so the high-performance Lua-programmability at the edge (which is noted in this blog entry) was probably a factor. Quick research shows HAProxy added Lua support in 2015, which is a bit later than their use of OpenResty.
Yeah, I know, I wrote that WAF.
This exchange is almost as enjoyable as that "famous" thread about someone's math prowess (anyone have that link?)
Haha, thank you.
Haha, I missed that you had an intermediate comment -- thanks for all you+Cloudflare did for LuaJIT too :)
LuaJIT is a cool thing. Helped us a lot. But not everything remains the right thing forever.