Slides can be found here: http://monkey.org/~lotia/aalotia_euroclojure_2014_why_devops_needs_clojure.pdf
Although there is much disagreement on what the term DevOps represents, it is widely acknowledged that maintainable and reliable automation of infrastructure is a core principle. As applications evolve, their infrastructure requirements can also change. Applications and servers can be managed using configuration management and continuous integration/deployment systems but scaling policies, alarms, setting instance sizes, setting metadata such as tags aren't well covered by those tools and engineers need to work with service provider APIs to manage them.
Since Clojure encourages developers to work with data structures instead of objects and the facilities for manipulating data are so beautifully provided for in the language, we have found it to be an excellent fit for building long running services to audit the configuration of our infrastructure as well as for writing jobs to make one-time changes on an AWS hosted platform composed of over 700 instances.
Additionally the excellent Clojure libraries and services for stream processing such as Riemann and Storm provide much of the foundation on which to build tools that allow us to get better visibility into our platform through analysis of logs and metrics.
It’s really hard to hire people with the exact skills you want or need for your DevOps team. Just look at the job boards! There’s tons of competition, and not nearly enough people to meet the demand. DNSimple decided to take a different approach by starting an apprenticeship program to train people with little to no experience in DevOps. This talk goes over the lessons learned in budgeting, hiring, and on-boarding our first ever apprentice along with why and how you might want to start a similar program at your company.
About the Speaker
Aaron Kalin is a System Administrator for DNSimple hailing from Chicago and has been programming for over 15 years. At night you'll find him hacking on game servers or experimenting with other programming languages. He's passionate about solving problems and enjoys giving back as much as possible.