Thursday, January 5, 2012

Happy Birthday High Replication Datastore: 1 year, 100,000 apps, 0% downtime

Once upon a time, the only way to store persistent data in App Engine was to use the Master/Slave Datastore. Although it was a transactional, massively scalable, fully managed, distributed storage system running on Google’s world-class infrastructure, its availability was tied to the availability of a single datacenter, and when you’re serving hundreds of thousands of applications, relying on any single datacenter is simply not sufficient. One year ago today we unveiled a new offering that was specifically designed to address this weakness: the High Replication Datastore (HRD). Still transactional, still massively scalable, still fully managed, still running on Google’s world-class infrastructure, but with the ability to withstand multiple datacenter outages and no planned downtime!

By the time Google I/O came around last May, HRD was performing beautifully and our customers were happy, so we took the next step and made HRD the default option for all new App Engine applications.

In June we made HRD available in our SDK so that customers could easily experiment with the new consistency guarantees (paxos on your laptop!), and we launched the first version of our migration tool to make it easy to move your apps from Master/Slave to HRD.

In October we released XG Transactions, our first HRD-only feature, which allows users to transact across entity groups.

In November we brought App Engine out of preview and added a 99.95% SLA for HRD applications.

In our most recent release we launched an updated version of our HRD migration tool that ties the duration of the read-only period to your write-rate, rather than the size of your dataset. This makes your migration quick, simple, and easy to plan for regardless of how much data you have. One App Engine customer recently migrated over 500G of Datastore data with only a 10 minute read-only period!

Throughout all this, HRD has had no system-wide downtime (planned or unplanned) and has grown to serve over 3 billion requests per day. Needless to say it’s been a phenomenal year.

We realize that moving data requires planning, testing, coordination, and a strong stomach. However, we believe strongly that HRD provides a fundamentally better service than Master/Slave, and we encourage all our customers to migrate to HRD. Over the coming months you can expect to see further improvements to our migration tools (Blob migrations are on the way!), more HRD-only features like Full Text Search, and of course, more 9s than you can shake a stick at.


Posted by Max Ross, Datastore Tech Lead

8 comments:

Anonymous said...

congrats max and everyone on the datastore eng and ops teams! awesome achievement, and you earned every bit of it. have a piece of birthday cake, you deserve it!

Anonymous said...

ok what about SSL support ? It's more than 3 -4 years since we are waiting for this feature!

Unknown said...

wow...

google is realy pusching standards for enterprize level MSP & SAAS

keep it up!!
p.s. i'm eager to code with and compile your webserver

cacard said...

Nice.

Damian del Rivero Lagunes said...

GAE team rules!

but, I'm still waiting SSL for my custom domain hehe, please launch it this year!

Anonymous said...

testing = not available. I already completed the "trial" sign up page but I got no response. I think that if Google would be serious about SSL would release it in "experimental" mode as they did with python 2.7 .

Unknown said...
This comment has been removed by the author.
Unknown said...

Happy Birthday Everyone! We’re all immeasurably better for you efforts. Keep up the brilliant work.
So, Where is my birthday cake?...;)

Thanks
Gary