Talks
Events

Wrapping Clojure Tooling in Containers

Mark Mandel at Clojure/conj 2015

Development tooling for Clojure is impressive. Leiningen, and more recently Boot, are fantastic products that provide library and Clojure version isolation that is often far better than what can be found in other languages.

However, a development environment for a project includes more than just lein or boot. A project often include development workflow plugins, external binaries that are specific to your project, specific Java versions and potentially more. This can be difficult and cumbersome to initially set up correctly on a local machine, and more importantly, can be even more difficult to share with your team in a reproducible way.

In this talk, we'll explore wrapping your Clojure development tooling in a container to take advantage of Docker's resource isolation to create a portable, shareable and most importantly - immutable development environment for you and your team.

While this can be a bit of extra work, encapsulating your development tools in a container can drastically reduce the amount of time it takes for team members get on board a project, cut down those "but it works for me" moments, and can also be a handy way to manage those resources you may only need occasionally.

About the speaker: Mark Mandel is a Developer Advocate for the Google Cloud Platform. Hailing from Australia, Mark built his career developing backend web applications which included several widely adopted open source projects, and running an international conference in Melbourne for several years. Since then he has focused on becoming a polyglot developer, building systems in Clojure, Go, and JRuby on a variety of infrastructures. In his spare time he plays with his dog, trains martial arts and reads too much fantasy literature.