3 ms·
I am biased because I contributed actively to Apache Traffic Server when I worked at a past employer. It has its quirks. I played a major role in migrating our
by therein 7y ago
I am biased because I contributed actively to Apache Traffic Server when I worked at a past employer.
It has its quirks. I played a major role in migrating our company from ATS4 to ATS5 and then ATS6.
There are many developers eager to help, especially if you're hosting or able to show up at the ATS summits.
Envoy has native middleware support but as far as I know you have to build the middleware with the server.
With ATS, you can use TS API or atscppapi and create shared objects that are dynamically loaded middleware.
We had considered Facebook's proxygen at one point too but we already had way too many middleware targeting ATS that it didn't make much sense.
However the hooks that they provide match almost 1-to-1 so it would be not that challenging.
Even to this day, my past employer uses ATS in their PoPs. And then at the next layer of reverse proxies, and then the layer after that.
So imagine PoP (level 0) to pick the right colo -> Level 1 to pick the right service cluster -> Level 2 to front the service instances are all ATS. After that you get to the origin servers that are discovered by a service discovery plugin loaded into ATS, just like all the higher levels. Each level discovers the downstream hosts over zookeeper back then and I had migrated that system to use Consul, so Consul now.
For some context, we were probably handling 8000qps on each ATS, with extremely heavy use of middleware plugins to do everything from auth to dispatch to spam filtering with dynamic rulesets pushed from internal hosts. I benchmarked ATS with and without plugins. With no plugins, our configuration could push over 80000qps.
We had ~36 PoPs, 20-30 instances at each PoP. That's around 8.6Mqps handled with ATS. Part of this was realtime bidding for ads [0], and the rest was actual user traffic, part of it static content, part of it dynamic.
We had our own CDN but also had Akamai on the side to fallback to. AFAIK from my conversations with people in these summits, iTunes is behind ATS. Comcast also pipes your unencrypted traffic through an ATS instance of their own with some custom middleware.
[0] - https://support.google.com/google-ads/answer/6366577?hl=en https://support.google.com/google-ads/answer/6366577?hl=en