In the previous post we described how we were able to operate an Akka cluster of 2400 nodes on Google Compute Engine (GCE). In that test the nodes were added slowly—stretching the process over a total period of four hours—to also verify the cluster’s stability over time with repeated membership changes.
Bulk additions are a more typical use case when starting up a fresh cluster. We tested how long time it took to get an Akka cluster running across 1000 GCE instances, hosting one cluster node each. For this we used the same setup as described in the previous blog post.
The results blew us away.
2013-10-29 07:14:29,279 INFO [akka://TestApp/user/resultsCollector/ singleton] : Adding node [akka.tcp://TestApp@n0001:2552] took  ms in  nodes cluster 2013-10-29 07:17:50,115 INFO [akka://TestApp/user/resultsCollector/ singleton] : All confirmed Up of node [akka.tcp://TestApp@n0159:39866] took  ms in  nodes cluster
It took 4 minutes and 15 seconds from starting the script until all 1000 Akka cluster members were reported as full members and seen by all other nodes.
That measurement also includes the time it takes to start the actual GCE instances, which is just mind-boggling—cloud elasticity taken to its extreme. GCE is a perfect environment for Akka Cluster and its ability to scale up and down automatically as nodes are spun up or shut down. We believe that it really sets a new standard for cloud computing and its promise of scale-on-demand and pay-for-what-you-use, allowing users to scale with predictability and be as cost efficient as possible.
Tomorrow we'll wrap up the final post in the series!