Depending on who you talk to, distributed systems are either easy or hard, and they're either critically needed or totally irrelevant. The reality's a little bit more complex. In this overview, I'll describe the kinds of situations where distribution is needed and where it's not, as well as a quick look at the engineering tradeoffs and the care required that make using it seem hard. Ignoring them can make your life pretty unpleasant. To round things off I'll sneak in a quick intro to VoltDB, a distributed, in-memory true-ACID SQL DB.
"Who's afraid of the big bad distributed wolf? - An overview of distributed systems for application developers"
Christo Fogelberg is a self-employed software engineer and consultant. With an academic background in machine learning, a passion for enterprise craftsmanship and industry experience that mostly centres on big data and distributed computing, he finds he spends most of his time helping other developers make the most of the power that's at their fingertips.