Tuesday, February 16, 2010

Scalability means flexibility

From the beginning we've worked hard to ensure that building and maintaining applications on Google App Engine is as easy as possible and that those applications can be made to scale very well. Scalability can mean different things to different people though. For us, platform scalability (today) means efficiently serving 250 million daily page views for 250,000 developers. For you, application scalability means being able to serve a large number of requests to your web site when you need it.

But serving all of that traffic is just half the challenge. Even for applications with very predictable traffic patterns it's often impossible to know how much traffic your site will see at any given time in the future. You need flexibility and a platform which will automatically adjust to your needs, minute by minute. This is especially true for sites that are used in conjunction with large media events. We've been working with one such company and we'd like to share their scalability story with you today.

Gigya’s technology enables their customers to connect seamlessly to popular social network platforms for user authentication, sharing and engagement. One product feature is a social live chat widget used by their customers to accompany live-streamed events. When I spoke with Gigya's Raviv Pavel, VP Research and Development, he told me, "Although we typically host all our services in-house, on our own infrastructure, we felt that GAE would be a better fit for the live chat feature because of its unique traffic pattern, which is characterized by very low traffic most of the time with very high bursts during high profile events."

Below is a graph from the January 22nd Hope for Haiti Now: A Global Benefit for Earthquake Relief during which Gigya had deployed their social gadget to multiple web properties. The vertical scale shows number of requests or queries per second, which peaked at around 1600 QPS. Each of their events has its own unique characteristics. So far we've seen Bactrian camels, Dromedary camels, parts of the Rocky Mountains and this next graph which vaguely resembles a submarine poking through the polar icecap.

Gigya wins because Google App Engine maintains the infrastructure needed to support those traffic bursts for the live chat widget. And because of App Engine's granular billing model, they only pay for the resources they use. When Gigya's live chat sees reduced traffic, we make sure our machines are busy serving other requests.

If you have an interesting App Engine story you'd like to share, let us know. We'd like to hear about it.

No comments: