Earlier quoted context omitted.
Both Google and Facebook both have datacenters/PoPs in Taiwan? I can't imagine the 24mm people there justify it, and both services are either largely unused or blocked in the nearby PRC... I'm more surprised that Google has no presence in Japan, though.
There's a major Asia-Pacific undersea cable connected to Taiwan, so Taiwan is a useful Asia-Pacific gateway.
Building a Billion User Load Balancer [video]
21–30 of 53 posts
Re: Building a Billion User Load Balancer [video]
#22Re: Building a Billion User Load Balancer [video]
#23Interesting that Linux kernel performance (ipvs) is acceptable at l4 vs something like dpdk. I guess you just overcome the limitation by increasing the number of l4 instances load balanced by ecmp. Fun to see DSR in use. Also interesting to see that all the inherent problems with geolocation via gslb (DNS client IP is not the same as the real client IP) don't wind up being a big problem apparently. This seems to be a…
HTTP proxy type load balancers are slugs in comparison
Scaling app servers to nearly unlimited size is easy to explain but really hard in practice. It basically amounts to this:
1) Balance requests using DNS anycast so you can spread load before it hits your servers
2) Setup "Head End" machines with as large pipes as possible (40Gbps?) and load balance at the lowest layer you can. Balance at IP level using IPVS and direct server return. A single reasonable machine can handle a 40Gbps pipe. I guess you could setup a bunch of these but I doubt many people are over 40Gpbs. Oh, and don't use cloud services for these. The virtualization overhead is high on the network plane and even with SR-IOV you don't get access to all hardware NIC queues. Also, I don't know of any cloud provider thats compatible with direct server return since they typically virtualize your "private cloud" at layer 3, whereas IPVS actually touches layer 2 a little. Do yourself a favor and get yourself a few colo's for your load balancers.
3) Setup a ton of HTTP-proxy type load balancers. This includes Nginx, Varnish, Haproxy etc... One of these machines can probably handle 1-5 Gbps of traffic so expect 20 or so behind each layer 3 balancer. These NEED to be hardened substantially because most attacks will be layer 4 and up once an adversary realizes they can't just flood you out(due to powerful IPVS balancers above). SYN cookies are extremely important here since you're dealing with TCP... just try to set everything up to avoid storing TCP state at all costs. This also means no NAT. You might want to keep these in the colo with your L3 load balancers.
4) Now for your app servers. Depending on if you're using a dog slow language or not, you'll want between 3 and 300 app servers behind each HTTP proxy. You don't really need to harden these as much since the traffic is lower and any traffic that reaches here is clean HTTP. Go ahead and throw these on the cloud if want
Re: Building a Billion User Load Balancer [video]
#24Map of Google data centers: http://imgur.com/l1dDdQe Map of Facebook data centers and PoP: http://imgur.com/dek8ESX
Both Google and Facebook both have datacenters/PoPs in Taiwan? I can't imagine the 24mm people there justify it, and both services are either largely unused or blocked in the nearby PRC... I'm more surprised that Google has no presence in Japan, though.
I never know how that works, since Singapore and Tokyo, Japan should be closer---but it still happens.
Re: Building a Billion User Load Balancer [video]
#25Earlier quoted context omitted.
Both Google and Facebook both have datacenters/PoPs in Taiwan? I can't imagine the 24mm people there justify it, and both services are either largely unused or blocked in the nearby PRC... I'm more surprised that Google has no presence in Japan, though.
In my experience, having a PoP in Taiwan, means that some data requests from S. Korea, Philippines, and Australia are routed to that. I never know how that works, since Singapore and Tokyo, Japan should be closer---but it still happens.
Re: Building a Billion User Load Balancer [video]
#26Interesting that Linux kernel performance (ipvs) is acceptable at l4 vs something like dpdk. I guess you just overcome the limitation by increasing the number of l4 instances load balanced by ecmp. Fun to see DSR in use. Also interesting to see that all the inherent problems with geolocation via gslb (DNS client IP is not the same as the real client IP) don't wind up being a big problem apparently. This seems to be a…
It's mostly because the point of DPDK and similar is to go around a lot of the processing in kernel, and IPVS does exactly this. I'm surprised IPVS isn't more popular, it's built into the kernel and extremely fast. HTTP proxy type load balancers are slugs in comparison Scaling app servers to nearly unlimited size is easy to explain but really hard in practice. It basically amounts to this: 1) Balance requests using D…
Re: Building a Billion User Load Balancer [video]
#27Earlier quoted context omitted.
Both Google and Facebook both have datacenters/PoPs in Taiwan? I can't imagine the 24mm people there justify it, and both services are either largely unused or blocked in the nearby PRC... I'm more surprised that Google has no presence in Japan, though.
Google has an office in Tokyo but I guess not a datacenter.
Re: Building a Billion User Load Balancer [video]
#28Earlier quoted context omitted.
It's mostly because the point of DPDK and similar is to go around a lot of the processing in kernel, and IPVS does exactly this. I'm surprised IPVS isn't more popular, it's built into the kernel and extremely fast. HTTP proxy type load balancers are slugs in comparison Scaling app servers to nearly unlimited size is easy to explain but really hard in practice. It basically amounts to this: 1) Balance requests using D…
I saw ipvs was implemented in kernel but didn't realize it bypassed the stack. Thanks for clarifying.
Re: Building a Billion User Load Balancer [video]
#29Map of Google data centers: http://imgur.com/l1dDdQe Map of Facebook data centers and PoP: http://imgur.com/dek8ESX
I'm surprised that neither have any datacenters in India. Does anyone know why this might be?
Regarding building a datacenter, that's much higher risk since it's a $100M-1B capital investment. I'm guessing both Facebook and Google see too much volatility to make the risk worth it. It could be an expensive paperweight if the Indian government changed their minds.
Re: Building a Billion User Load Balancer [video]
#30Map of Google data centers: http://imgur.com/l1dDdQe Map of Facebook data centers and PoP: http://imgur.com/dek8ESX