This is a story of an Infrastructure team at Zalora that implemented DevOps using Haskell and Nix.


The story is about:


• drowning in inherent complexity of existing Puppet configuration
• establishing a functional programming community inside the company
• implementing configuration management using purely-functional language and package manager Nix and using NixOS as the base OS
• challenges of using new tools at scale
• building cloud infrastructure tools using Haskell
• building a code-driven deployment platform borrowing design practices from Erlang/OTP, Mesos and other successful distributed system frameworks, accommodating engineering team growth
• overcoming adoption failures and finally reaching operational happiness