Rootconf 2019

On infrastructure security, DevOps and distributed systems.

Participate

Functional programming and Nix for reproducible, immutable infrastructure

Submitted by Brian McKenna (@puffnfresh) on Sunday, 31 March 2019

Section: Sponsored talk Technical level: Intermediate

View proposal in schedule

Abstract

The Atlassian Marketplace team in Bengaluru uses functional programming at the application level and infrastructure level. Each service which makes up Atlassian Marketplace uses Nix, a purely functional programming language, package manager and operating system. The Nix tool allows determining every version of software, all the way from the application level, down to the C standard library. All of Atlassian Marketplace’s services are bit-for-bit reproducible and are deployed to Atlassian’s internal PaaS, using Docker images.

The audience will be presented the ideas behind Nix and high-level details on how it works. They will see the ways Atlassian Marketplace team exploits Nix to create infrastructure.

Outline

  1. Why functions?
  2. How are functions relevant to package management?
  3. How are functions relevant to operating systems?
  4. Development shells
  5. Docker without Dockerfiles

Speaker bio

Brian McKenna is a contributor to Nix, nixpkgs and HNix. Brian joined the Atlassian Marketplace team as a Site Reliability Engineer and worked on using Nix to migrate the product’s services away from a custom Amazon AWS deployment to Atlassian’s internal PaaS. Brian has since moved to Bengaluru to help teach the team how to exploit functional programming effectively.

Slides

https://brianmckenna.org/files/presentations/rootconf19-nix.pdf

Comments

Login with Twitter or Google to leave a comment