We've recently started re-designing the systems that power xfinity.net and our mobile applications to use a novel, in memory distributed system called Sirius. Sirius allows us to build exactly the data structures we need to create our services in memory, and to do so across a distributed set of nodes. We're storing our non-personalized entertainment metadata, things like movies, TV series and videos in Sirius while keeping our personalized data in a key value store. This lets us greatly cut down on the number of network round trips that our services needs to make behind the scenes, which means we have a lot less partial failures and timeouts to deal with than we would in a traditional SOA architecture. It lets us scale out our system easily, since most of the data that we need to serve a request is on a single node, we can easily add more nodes to handle more traffic. The guts of Sirius are based on an implementation of multi-paxos written in Akka and Scala. In this presentation I'll go over the general architecture and design of the system, and then talk about some of the lessons we've learned from our foray into distributed systems development.