NixOS is a devops-friendly package manager and Linux distribution. It solves similar issues and has similar ideas about how things should work as we had when we started building the original Flying Circus platform. The foundational tools approach things in a way that resonates with our co-operative style of system and application management:
- A single very productive and fast language to describe software builds and system configuration both in a platform-specific and platform-independent way.
- Fast, reliable, and atomic updates.
- De-centralized builds with excellent tooling like binary caches, unit and functional testing, and build servers.
What will this mean for you?
- Speed: our VMs will bootstrap much faster (after our initial tests we’re shooting for less than a minute for a VM to become fully functional) and configurations will apply a lot faster
- Consistency: long-term maintenance of VMs will become much easier as well as repeating builds and testing and predicting changes
- 64-bit: many of you have asked for it for a long time, and now we’re making it real.
- Vagrant-based installations: we are also providing Vagrant images that look and behave like the hosted versions. Check out the “flyingcircus/nixos-15.09-x86_64” box.
- Custom package installations: the new platform will allow you to install packages from the package manager within individual service users without having to compile everything yourself.
- Future platform features: we’re looking towards adding container support, integrating the system configuration even more tightly into your configuration and build management, and we’re looking forward to discover more exciting options as things unfold …
When will this happen?
- It’s happening right now. 🙂
- We expect to have the first VMs available in 64-bit running a current version of PostgreSQL before the end of the year.
- The initial release will be production-ready but may not have all the features that you know from the existing platform, yet. We’ll continue to make progress on that during the coming months and way into 2016.
What happens to the existing platform?
- The existing Gentoo-based platform will be maintained in parallel.
- We will fix bugs and implement smaller features as necessary to maintain your applications on the high level you expect.
- However, we do not expect to perform a major version upgrade of the existing Gentoo platform. Individual packages will be upgraded as time permits and as necessary.
- We will start moving customers to the new platform on a case by case basis. This will likely take until late in 2016 to finish.
- The move to NixOS is a big endeavour and we’re happy to see solutions to some long-term issues we’ve been thinking hard about.
- If you would like to know more or have any questions – send us an email and we’re happy to tell you more.
Our new platform generation is completely open source, of course. We develop it as a fork of the “nixpkgs” upstream repository with our own extensions included. Our build server is accessible publicly, too: hydra.flyingcircus.io