Berlin DevOps Meetup - May 2015
Berlin DevOps Meetup - May 2015
Berlin DevOps Meetup - May 2015
Bundler, Cabal, Composer, CPAN, CRAN, CTAN, EasyInstall, Go Get, Maven, npm, NuGet, OPAM, PEAR, pip, RubyGems, ...
brew, apt-get, yum, rpm, emerge, ports, ...
virtualbox, docker, vmware, vagrant, rocket, ...
Travis, Soucelabs, Jenkins, Hudson, ...
Ansible, Chef, Puppet, ...
Xen, Docker, LCX, ...
Linux, OSX, Windows, BDS, ...
Berlin DevOps Meetup - May 2015
package manager
reliable
reproducible
portable
osx, linux, cygwin*, bsd*
multi-user, multi-version
and
also a language used in Nix
(the package manager)
- atomic upgrades
- rollbacks
- packages installed in isolation
of each other
- complete dependency tree
source - binary model
Berlin DevOps Meetup - May 2015
% nix-shell default.nix
% nix-build default.nix
% nix-build release.nix
OSX
Linux
Windows
Berlin DevOps Meetup - May 2015
% nixops create -d khaleesi khaleesi.nix khaleesi-room.nix
% nixops deploy -d khaleesi
You only need to know one tool !!!
Berlin DevOps Meetup - May 2015
Developers focus on development
Ops and Devs have a common "language" to speak
Reusability of tools between developers (even vim configuration)
Not needed to jump all into Nix. Gradual migration. Nixify only when it brings the value.
Reproducible environments without any virtualization/containers
Berlin DevOps Meetup - May 2015
Rok Garbas, @garbas
https://garbas.si
Berlin DevOps Meetup - May 2015
Berlin DevOps Meetup - May 2015