I recently gave a few talks in which I gave some reading advice to the audience and I promised to follow-up with posting the links here.
The first article is the interview of Michael Stonebraker by Margo Seltzer in the May/June edition of ACM Queue (unfortunately the article is online yet, but this link seems to work thanks to Peter O’Kelly). One of the points Mike makes is that almost everything in the data management world has changed dramatically over the past decade: applications, operating environments, hardware architectures, but that databases management systems have stuck to the one-size-fits-all architecture from 25 years ago. He goes into several examples why there is a need for different approaches to address application needs and to exploit hardware advances.
I refer to this article in my talks as it resonates strongly with my experiences. Even if you would only take a narrow look at scalability and reliability requirements you can see that the traditional database architectures have clear, well understood, limitations. There are many data patterns at application level that can be served by simpler data storage systems, for example applications that only need to access their data store through a primary key (promotion for this product, shopping cart of this customer, thumbnail image of this product). One can develop storage technologies that specifically address this category of applications and that have excellent scalability and reliability properties and are very cost-effective.
The second reference is a presentation by Richard Gabriel where he lays out a time model of traditional software adoptions: “Models of Software Acceptance: How Winners Win”. I use the data from this presentation for two purposes: the first to show that for companies such Amazon, who require technologies to address scaling needs that have not even left the research labs yet, it is essential to accelerate this adoption model through active involvement with productizing research results. Most often these advanced research results will come from our own product teams. The second point is how service oriented software development can help break through the traditional barriers.
A paper I refer to often is “From Push to Pull – Emerging Models for Mobilizing Resources” by John Hagel and John Seely Brown. This paper describes the shift in economic models to deal with uncertainty in demand and growing consumer power, etc. At Amazon we are addressing these new realities with our web-scale computing services. On-demand, pay-as-you-go, connectable services are key in the “Pull models” that are arising in many different economic areas.
I use Richard Conniff’s “Limits of the Alpha Male” as an easy intro into self-organizing systems and how in real life self-organizing is a proven concept. For any truly scalable agile environment, self-organization is essential.