How Conspire Built Its Backend on Akka and Scala
Sometimes you stumble across a blog post or article that so perfectly speaks for your technology that it makes you giddy. That's what happened when our team came accross Ryan Tanner's recent series on Akka at Conspire. The five-part blog post chronicles how a team of three people built a scalable backend for their website with Scala and Akka in just three months- only one of them having used Scala in the past!
Conspire is a TechStars company, founded in 2012, built to analyze email data and give users detailed analytics on their network so they can understand the strength of connections between people. When Ryan, Alex and Paul decided to rewrite their existing codebase, they dove in to Akka and Scala to provide a scalable and resilient site.
We found this series compelling because it succinctly summarizes key strengths of Akka:
"...what does Akka bring to the table?
- Fault-tolerance and resilience: any given node can fail without taking down the entire backend
- Scaling out is as simple as spinning up a new EC2 instance and having it join the cluster—Akka will start using it as a worker node for whatever role it’s registered with
- Actors: a concurrency model that’s easy to reason about (more on this in the next post)
...Akka takes care of the heavy lifting of our dual requirements for fault tolerance and elastic clustering."
Also, we loved how easily their team was able to transition from Java to Scala:
"Originally the bulk of the code was to be in Java but I slowly started writing more and more in Scala. Paul and Alex were reluctant but Paul gave Scala a shot. His first time writing Scala was in building out the first pass of our new analytics service. In one sitting, he went from no prior Scala experience to an analytics service that worked correctly the first time it compiled."
Through the series, Ryan continues to provide informative and helpful background on his experience with Akka, from lessons learned to suggestions for future projects. Your can read more about Akka at Conspire in their blog series:
- How We Built Our Backend on Akka and Scala
- Why We Like Actors
- Making Your Akka Life Easier
- Don’t Fall Into Our Anti-Pattern Traps
- The Importance of Pulling
We encourage you to check out the site, and if you're interested join Conspire at goconspire.com!