Build Systems that Drive Business
June 11–12, 2018: Training
June 12–14, 2018: Tutorials & Conference
San Jose, CA

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

Sean Allen (Wallaroo Labs)
11:25am–12:05pm Thursday, June 14, 2018
Distributed Systems
Location: LL21 A/B Level: Beginner
Secondary topics: Distributed State
Average rating: *****
(5.00, 3 ratings)

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


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.

Photo of Sean Allen

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.

Comments on this page are now closed.


Picture of Sean Allen
06/03/2018 10:52pm PDT

John Mumm’s talk on Local Knowledge that will be held on Tuesday June 13 would make a great intro to my talk: