Live data from Hacker News

Google Shows How To Scale Apps From Zero To One Million RPS, For $10

forbes.com

41–50 of 70 posts

Re: Google Shows How To Scale Apps From Zero To One Million RPS, For $10

#41
post #5

The only reason I can see for this being this high on the front-page [18 points and only one comment(from a googler)] is the google employee block vote (apparently tech-savvy isn't a prerequisite in the google upvote marketing department): 1 million requests per second is 20 times greater than the throughput in last year’s Eurovision Song Contest, which served 125 million users in Europe No, r/s != Gb/s.* (Cue the do…

Throughput is a measure of work over time. So here I was referring to throughput in terms requests per second and not Gb/s. So it was a direct comparison of 1M RPS (Compute Engine Load Balancing) vs 50K RPS (DNS Load Balancing).

Anthony F. Voellm Google Cloud Performance Engineering Manager @p3rfguy

Re: Google Shows How To Scale Apps From Zero To One Million RPS, For $10

#42
post #8

I keep checking to see whether or not I can run my own images yet but Google Compute Engine so far supports less things than even Digital Ocean. What if I don't want to run your version(s) of CentOS/Debian, guys? Hmm? (I hope somebody from there reads this) :) Still, its a very very interesting offering and something to keep an eye on. I bet nobody here is using it yet because its still early days and the thread devo…

You can build, create, deploy and use your own images. Check out https://developers.google.com/compute/docs/images

Anthony F. Voellm Google Cloud Performance Engineering Manager @p3rfguy

Re: Google Shows How To Scale Apps From Zero To One Million RPS, For $10

#43
post #18

Earlier quoted context omitted.

Out of interest, what is a rough idea of the total requests per second on heroku for everything? All your nodes or whatever you call them? Dynamos? Is 1,000,000 request per second a stupid, pointless number as no-one ever gets 1,000,000 requests per second or is this some sort of meaningful number?

I can't release any of our traffic numbers, but I can tell you that 1M req/s is an enormous number. For some context, here's a post from Netflix from the end of 2011 where they state that their API received 20,000 req/s at peak: http://techblog.netflix.com/2011/12/making-netflix-api-more-...

Yes, but! The impression I get from this 1 million req/s test is that no actual logic is happening on the backend. E.g. no database queries, no business logic, etc - basically a noop call.

As we saw when running the techempower benchmarks, simply going from the plaintext test to the single database query dropped the best performer from ~600,000 req/s to ~100,000 req/s. Throw in a bit more business logic, another query, and a slightly heavier response, and it is easy to imagine that 1 million req/s now sitting much nearer to 20,000 req/s.

My point being that, that 1 million req/s is a very optimistic number when used in such a comparison. Is it still an impressive max throughput? Yes. I just don't want anyone to think that they can now, say, host 50 netflixes on this setup.

Note: I realize you probably weren't meaning to directly compare those two numbers, but it somewhat read that way. I definitely do appreciate the context though - quite interesting to know that the netflix API was peaking at ~20,000 req/s in 2011.

Re: Google Shows How To Scale Apps From Zero To One Million RPS, For $10

#44
post #16
post #13

Earlier quoted context omitted.

>They need pre-warming in advance of significant traffic changes Why?

Because they consist of a set of EC2 instances, the vertical and horizontal scale of which is determined automatically based on the average traffic profile of each node. Once the traffic has increased enough to warrant a scaling event, it takes minutes for new ELB nodes to come online and go into DNS rotation before they can start serving traffic.

It's obnoxious that AWS hasn't developed an API call or web interface option for the ELBs to pre-warm them yourself, vs having to contact AWS support to get the pre-warming done "manually".

Re: Google Shows How To Scale Apps From Zero To One Million RPS, For $10

#45
post #2

Having beta tested the Google Compute Engine while working at Google, I have only good things to say about it. They've come along way in an extremely short space of time and knowing what they have internally, this is just the beginning. They'll far surpass AWS for performance, ease of use and cost.

> They'll far surpass AWS for performance, ease of use and cost. Most likely. But those aren't the only things developers care about when looking for PAAS. There is that whole "Platform" aspect. And AWS destroys Google in this respect. It has far more offerings and more importantly it has a very large ecosystem of companies who will be in the same data centre who you can leverage e.g. Iron.io.

Don't forget support. I know I can get decent AWS support if I pay Amazon. Google? HAH!

Re: Google Shows How To Scale Apps From Zero To One Million RPS, For $10

#46
AWS has a really interesting feature in their auto-scaling groups, coupled with their ELB (elastic load balancer). You can configure an auto-scaling group with a variable number of instances that ads or removes instances automatically, based on the ELB's measured latency or the number of requests coming in or many other such metrics.

This works out great and results in cost savings, as it can survive spikes, plus during the night the traffic is at most half or even less than the traffic you get during the day. I had a setup that was handling over 30,000 reqs/sec and during the night it kept about 6 h1.medium instances active, while during the day it could go upward to 20 instances, but was usually stable at around 14 instances.

This article mentions ELB, but I don't understand - does Google's Cloud Compute offer something similar? Can one vary the number of instances based on the incoming traffic or other metrics?

Re: Google Shows How To Scale Apps From Zero To One Million RPS, For $10

#47
post #12

I am pretty excited and yet shocked to see what Compute Engine has evolved into. The original Compute Engine was about scaling (as cluster) in scientific experiment and yet this news makes me think Compute Engine is becoming the new App Engine but with full control of the VM (plus the amazing autoscaling feature). I always like to control my own VM because I can do much more with a VM than a sandbox (to me an App Eng…

I'm not sure about Google's CE, I don't really know what it can do, but Amazon's AWS has had for some time auto-scaling capabilities by means of auto-scaling groups coupled with their ELB load-balancer. We used it and it worked out great.

Re: Google Shows How To Scale Apps From Zero To One Million RPS, For $10

#48
post #25
post #12

I am pretty excited and yet shocked to see what Compute Engine has evolved into. The original Compute Engine was about scaling (as cluster) in scientific experiment and yet this news makes me think Compute Engine is becoming the new App Engine but with full control of the VM (plus the amazing autoscaling feature). I always like to control my own VM because I can do much more with a VM than a sandbox (to me an App Eng…

App Engine is not just a place to run your code. It has a nice deployment system with the ability to flip between versions instantly. It provides a few great pieces of core infrastructure: the datastore, task queues, and memcache (there are many others, but those are the essentials). The SDK gives you a stand-alone development server for testing locally. If you want to build web apps (or a backend for mobile apps), A…

I like App-Engine and now that there are open-source, API compatible alternatives, there is no lock-in to worry about either.

The biggest drawback for App Engine is lack of async support. The only ways to scale are: multiple-threads (slow) or multiple instances (costly).

Re: Google Shows How To Scale Apps From Zero To One Million RPS, For $10

#49

Earlier quoted context omitted.

> They'll far surpass AWS for performance, ease of use and cost. Most likely. But those aren't the only things developers care about when looking for PAAS. There is that whole "Platform" aspect. And AWS destroys Google in this respect. It has far more offerings and more importantly it has a very large ecosystem of companies who will be in the same data centre who you can leverage e.g. Iron.io.

Don't forget support. I know I can get decent AWS support if I pay Amazon. Google? HAH!

We actually have come a long way in Support and now offer affordable paid support options and some very high end packages for mission critical operations. Check out https://cloud.google.com/support/packages where we have the details.

-Brian Head of Marketing, Google Cloud Platform

Re: Google Shows How To Scale Apps From Zero To One Million RPS, For $10

#50
post #18

Earlier quoted context omitted.

I can't release any of our traffic numbers, but I can tell you that 1M req/s is an enormous number. For some context, here's a post from Netflix from the end of 2011 where they state that their API received 20,000 req/s at peak: http://techblog.netflix.com/2011/12/making-netflix-api-more-...

Yes, but! The impression I get from this 1 million req/s test is that no actual logic is happening on the backend. E.g. no database queries, no business logic, etc - basically a noop call. As we saw when running the techempower benchmarks, simply going from the plaintext test to the single database query dropped the best performer from ~600,000 req/s to ~100,000 req/s. Throw in a bit more business logic, another quer…

This is not the point of the test, the test is about showing you that the load balancer in GCE can handle that many requests per second and with a single IP address. Whatever the machines are doing behind doesn't matter since the load balancer job is to handle a ton of traffic. This is practically the only case in which responding with 1 byte makes sense in the test.
Post reply on HN