Pat Helland and me: How to build stateful distributed applications that can scale almost infinitely

Prerequisite knowledge

Familiarity with distributed applications, distributed databases, and common techniques for scaling stateless applications (useful but not required)

What you'll learn

Understand how to write easily scalable applications using scale-independent APIs, maximize performance and scalability by minimizing coordination, and organize and structure state so your application can scale

Learn a new vocabulary you can use to discuss stateful distributed applications

Description

In 2007, Pat Helland published “Life Beyond Distributed Transactions: An Apostate’s Opinion,” in which he conducts a thought experiment on how to design a distributed database that can scale almost infinitely. While the paper explicitly addresses distributed database design, Sean Allen shows that the ideas are far more widely applicable, particularly in scaling stateful applications. Sean explores some of Helland’s ideas through practical examples from his experience building data processing systems using tools like Apache Storm and, more recently, developing a stateful distributed stream processor at Wallaroo Labs.

Sean Allen

Wallaroo Labs

Sean T. Allen is vice president of engineering at Wallaroo Labs and a member of the Pony core team. His turn-ons include programming languages, distributed computing, Hiwatt amplifiers, and Fender Telecasters. His turn-offs include mayonnaise, stirring yogurt, and sloppy code. He’s one of the authors of Storm Applied.