Scaling the Internet of Things with Scal...
In early 2014 when we sat down to start building eero’s cloud backend, we had a big decision to make. Which language would we use to get the best performance from our eero WiFi systems. On the backend of eero, we faced a challenge: how would we build a highly available, high performance infrastructure that would be able to communicate with each eero device in customer’s homes? In order to do this correctly, it was important for us to choose an architecture that would scale up and out, without having to constantly rebuild it. We chose Scala as our primary language and Akka for core pieces of our infrastructure. Concurrent requests, long-running workers, and parallelized jobs become very complex, very quickly. And as things scale, the introduction of performance optimizations, like caching, further complicates things. Today, by using Scala, we are able to support asynchronous IO in a high performing, highly concurrent environment. In this talk, I will walk you through eero’s experience using Scala and how it’s helping us scale to serve the Internet of Things.