(Re)creating a distributed web with Chicago Boss: a politically subversive web framework on 6 July 2013

Chicago Boss is a web framework that you have not yet heard about. Once you do, it will change your expectations forever. This is a framework which has been built specifically with the intention of keeping operational costs low. Learn why this is important and how you can take advantage of it in your next project.

An inflammatory back story

Diaspora* and other projects to build distributed web services are great. However, Rails is a memory hog. In order to get a Rails app online, you probably also need to know Passenger. Or, should you use NGINX? Or, is Apache okay? As your application’s aspirations increase, so does its complexity. Soon you’ll need a background task queue. Which one do you choose? If you’re successful, you will serve a decent amount of traffic, so you need to cache your views and database queries. Let’s add Varnish and memcached.

What matters for users deploying your services?

With Chicago Boss, built on its Erlang base, everything comes included. Webserver, message queue, email, real-time web support (COMET and websockets) are all there. Plus you get the standard features of every MVC framework such as easy routing/dispatch, view templates and a sophisticated testing infrastructure.

Having everything bundled together makes installation a breeze. With a speedy installation, non-sysadmins have fewer opportunities to make mistakes and are likely to encounter fewer hair-pulling weekends.

What matters for you, creating new services?

But for you, as someone developing these tools, maybe installation and deployment is not what matters. For you, features matter. The faster your test suite runs, the faster you can deploy. Chicago Boss will win here too.

For building systems which are designed to be deployed by thousands of people, ease of installation and low cost of maintenance are critical. You should be running a system that delivers high performance and high reliability. Erlang is your friend here. Downtime for systems built on Erlang is measured in milliseconds per year.

Chicago Boss’s offers to you

extremely quick template generation

built-in message queue

first class support for real-time web

avoid Erlang by writing in Elixir or Lisp

running your application’s tests quickly

write your views in Django templates and/or Jade

easy to use translation tools, with automatic language detection

support for several SQL and NoSQL databases

hot code reloading (upgrade your app with no downtime)

Deeper

Chicago Boss is built by an economist who started his career with a pager supporting C++ applications. When things broke, he didn’t sleep. It seems that ever since then, he has tried to eliminate this pain from other people’s lives.

Your time matters. Evan Miller, Chicago Boss’s creator, is happy to irritate the rest of the Erlang community for the sake of the framework’s user base. He has even written his own compiler toolchain to simplify your learning curve.

Learn more about the motivations for framework by watching the first 10 minutes of this talk. Become entranced by its technical strengths by watching the rest.