Ravi Pandya
ravi@iecommerce.com
www.iecommerce.com
+1 425 417 4180
vcard

syndicate this site

Ravi Pandya   software | nanotechnology | economics

ARCHIVES

2007 11 10

2004 10 09 08 07 06

2003 04 02 01

2002 12 11 10 09 08

2001 11

ABOUT ME

Ravi Pandya
Architect
Cloud Computing Futures
Microsoft
ravip at microsoft.com

03-Microsoft
00-02 Covalent
97-00 EverythingOffice
96-97 Jango
93-96 NetManage
89-93 Xanadu
88-89 Hypercube
84,85 Xerox PARC
83-89 University of Toronto, Math
86-87 George Brown College, Dance
95-Foresight Institute
97-Institute for Molecular Manufacturing

DISCLAIMER

The opinions expressed here are purely my own, and do not reflect the policy of my employer.


Sat 20 Oct 2007

Werner Vogels on Dynamo

Werner Vogels had a great paper at SOSP on the Dynamo distributed storage infrastructure underlying Amazon's applications. There were a number of interesting insights in the paper:

  • Target metrics at the 99.9% percentile of the distribution for defining SLA, to avoid poor user experience
  • Prioritize availability over consistency, using vector clocks to assist in resolving the resulting conflicts
  • Response in the face of failure is critical, since at scale you always have failures
  • Partitioning is key for scalability

These are all great principles for developing scalable distributed systems, but in addition, there is the basic data model - single-index blob storage with optimistic transactions and intelligent conflict resolution. This is very different from the classic normalized relational transaction model for developing applications. It clearly works very well for Amazon, and you might be tempted to say it applies only to cloud-scale Internet sites. But then you hear someone like Pat Helland say this is the way you should develop service-oriented applications for the enterprise.

So where does that leave the relational model? Running a lot of complex legacy apps like SAP? Data mining and analysis? There's clearly a lot of value in having a well-defined declarative schema for organizing your information, and running ad hoc queries, but maybe it's not the best model for writing software. Is anyone working on a general business application platform using these principles? Or will it show up inside some cloud SaaS platform? I'll be curious to see how this develops.

08:55 #


© 2002-2004 Ravi Pandya | All Rights Reserved