Monday, September 15, 2014

How to build and deploy distributed applications with Akka, Docker and CoreOS

In this post I’m going to show you how to build a distributed application using Scala and Akka and deploy it on a cluster using Docker and CoreOS.

When we started building our in-house web crawling system we wanted it to be distributed, fault-tolerant and dynamically scalable. I had prior experience building distributed applications, but I never really figured out the deployment part. It had always been a pain. I remember spending many unhappy hours debugging deployment scripts, setting up load balancers, and dealing with environment variables. This time I wanted it to be different. Deployment should be easy. Or if that’s asking for too much, at least it should be less painful.

We chose Akka (and Scala) to build our crawling system. Akka provides actor-based abstraction that make it easy to build distributed applications. It also includes a clustering module that provides many of the properties we needed out of the box. Not having to build a distributed system from scratch leads to huge time savings and better code maintainability. Of course you are still responsible for handling the fault-tolerance of your application logic, but sticking to Akka’s actor abstractions makes that a bit easier as well.

Read more here

Leave a Reply

All Tech News IN © 2011 & Main Blogger .