The BEAM provides us with some unique and amazing tools for storing state and for addressing distributed computing problems. But discerning the best way to solve problems that require state which must also be distributed, is far from obvious. In this talk, we'll discuss the questions we should be asking ourselves when dealing with distributed state problems on the BEAM. Questions like: when does it make sense to keep our state in a distributed BEAM cluster as opposed to some external data store. And, if we do want to keep the state in-cluster, should we favor availability or consistency?
After building a repertoire of questions, we'll apply this type of Socratic analysis to some real world examples and explore the tooling available to solve these problems.
Before beginning his career as a software developer, Dan practiced law as a corporate attorney. Feeling largely unfulfilled with a career as an attorney, he left the practice of law to begin developing software. He now thoroughly enjoys the challenges of building software products and recently began working for SalesLoft in Atlanta, where he gets to write Elixir and work on distributed systems problems.