FOSDEM is the biggest free and non-commercial event organized by and for the community. Its goal is to provide Free and Open Source developers a place to meet. No registration necessary.

   
Speakers
Sander van der Burg
Schedule
Day Saturday
Room H.1302
Capacity 200
Start time 14:00
End time 15:00
Duration 01:00
Info
Track CrossDistro devroom

Using NixOS for declarative deployment and testing

Linux distributions are often used in a distributed setting, such as web application environments containing web servers, databases, proxy servers which are all connected to each other. Manually installing and configuring networks of machines is often a complex and time-consuming process. Upgrading is even more difficult, as this may render (parts) of a system inaccessible. Furthermore, it is also difficult to test a distributed environment, since it is usually too expensive to set up a test environment faithfully reproducing a production environment.

NixOS is a Linux distribution built on top of the Nix package manager, a purely functional package manager. In NixOS, a system configuration is built from a declarative specification capturing the complete system configuration. Moreover, because of the Nix heritage, a user can safely and efficiently install multiple configurations next to each other without interference. This allows users to perform atomic upgrades and rollbacks of a complete Linux distribution.

In this talk we explain how we can use NixOS to manage a network of machines by using a declarative specification of a network of NixOS configurations. We can use this specification to:

(1) Automatically, reliably and efficiently install or upgrade a network of physical machines (2) Deploy virtual machines in a cloud infrastructure (3) Generate networks of virtual machines to automatically test a distributed environment with complex environmental dependencies. These virtual machine instances use components stored on the host machine, so that the same components can be shared across multiple machines and no disk images are required, making virtual machine instances relatively cheap.

Concurrent events:

When Event Track Where
13:30-14:15 Étoilé: What has been done over the past year and what's next? World of GNUstep AW1.117
13:45-14:15 Firefox 4 Mozilla H.1301
13:45-14:15 SSH libraries: SSH vs TLS; libssh Security & hardware crypto AW1.105
13:45-14:15 Introduction to Clustering with Mahout Data Analytics AW1.124
14:00-14:15 Coreboot: x86 system boot and initialization Lightning Talks Ferrer
14:00-14:25 Manos: web apps for the lazy hacker Mono AW1.120
14:00-14:25 Boosting Enterprise MySQL performance: implementing I/O prefetch for InnoDB MySQL & friends H.2213
14:00-14:30 IcedRobot: The GNUlization of Android Free Java AW1.125
14:00-14:30 XMPP and Security Jabber & XMPP AW1.121
14:00-14:40 Dynamic hacking with Guile GNU H.2214
14:00-14:45 Community Anti-patterns Crossdesktop H.1309
14:00-14:50 DevOps? - More than Marketing System Janson
14:00-14:50 The life of a Firefox feature Web Browsing Chavanne
14:00-15:00 Advanced Experiments with XMOS Multicore Embedded Hardware. Embedded Lameere
14:00-15:00 mk-configure BSD AW1.126
14:00-15:00 Swimming Upstream CrossDistro H.1308
14:00-15:45 LPI Exam 1 Certification Guillissen
14:00-16:00 TYPO3 Exam Session Certification UA2.114
14:00-16:00 BSD Associate Exam Session Certification UA2.114
14:15-14:45 Mapping Wikileaks' Cablegate using Python, mongoDB, Neo4J and Gephi Data Analytics AW1.124
14:15-14:45 libcurl: Supporting seven SSL libraries and one SSH library Security & hardware crypto AW1.105
14:15-14:45 LanguageKit - supporting Smalltalk and JavaScript dialects on the Objective-C runtime - what's hard, what's easy, and why developers and users should care. World of GNUstep AW1.117
14:20-14:35 flashrom: Run your BIOS/EFI/firmware updates under any free OS Lightning Talks Ferrer
14:30-14:55 Over 20,000QPS, XtraDB performance show MySQL & friends H.2213
14:30-14:55 The Web Objects Kitchen Mono AW1.120
14:30-15:00 In-tab UI Mozilla H.1301
14:30-15:00 Stump the XMPP Experts! Open Q&A Jabber & XMPP AW1.121
14:40-14:55 0MQ: Multithreading magic Lightning Talks Ferrer
14:45-15:00 Tools and Methods for Web Data Extraction Data Analytics AW1.124
14:45-15:00 EtoileText World of GNUstep AW1.117
14:45-15:00 CyaSSL Security & hardware crypto AW1.105
14:45-15:30 Gallium state trackers applied to 2D rendering libraries Crossdesktop H.1309

Next (up to 3) talks in the same room (H.1302):

When Event Track
15:00-16:00 Amazing openSUSE CrossDistro
16:00-17:00 Gentoo's RelEng and catalyst use CrossDistro
17:00-18:00 Gentoo's Reform and Future CrossDistro

Events that start after this one (within 30 minutes):

When Event Track Where
15:00-16:00 Amazing openSUSE CrossDistro H.1302
15:00-15:15 Neo4j: Graph DB and Neo4j introduction Lightning Talks Ferrer
15:00-15:15 Datalift, A catalyser for the Web of data Data Analytics AW1.124
15:00-15:20 Making happy developers Mono AW1.120
15:00-15:20 Why Linux Distributions Hate Java Free Java AW1.125
15:00-15:25 Data Recovery for MySQL MySQL & friends H.2213
15:00-15:30 CiviCRM & XMPP as your personal assistant Jabber & XMPP AW1.121
15:00-15:30 GNU Parallel GNU H.2214
15:00-15:30 Fribid and browser security software Security & hardware crypto AW1.105
15:00-15:50 Qt WebKit goes Mobile Web Browsing Chavanne
15:00-15:50 systemd: Beyond init System Janson
15:00-16:00 Downstream packaging collaboration CrossDistro H.1308
15:00-16:00 Flukso - Community Metering. Embedded Lameere
15:00-16:00 Fast and Flexible UI Development with EtoileUI World of GNUstep AW1.117
15:00-16:00 Bringing OMAP3 into the FreeBSD Tree BSD AW1.126
15:20-15:35 iRail: Creating a public transport API Lightning Talks Ferrer
15:20-15:40 The Java Packaging Nightmare Free Java AW1.125
15:30-15:45 GDL - GNU Data Language Data Analytics AW1.124
15:30-15:45 Group Photo Crossdesktop H.1309
15:30-15:55 Taking Backups With XtraBackup MySQL & friends H.2213
15:30-16:00 XMPP Conf Calls: One Way or Another Jabber & XMPP AW1.121
15:30-16:00 EJBCA and OpenSC Security & hardware crypto AW1.105
15:30-16:00 Mono packaging in Debian and Ubuntu - why we're always right Mono AW1.120
15:30-16:15 Moving to the client - HTML5 is here Mozilla H.1301