For any developer to be effective, they need services and infrastructure to support them. Things like wikis, code repositories, a build pipeline, and a publishing pipeline are all examples. They also need less visible infrastructure like DNS, email, and collaboration tools.

Developers who write open source need all the same things, but they operate with an added desire for the software to be open source. There is another trend in the community: running the infrastructure as an open source project.

To enable the people who are trying to do this, we held the first ever Open Infrastructure Day. This was a one day conference with three topics: “Running infrastructure as open source,” “Running infrastructure to support open source,” and “Tooling, Process, and Services to support open source.”

We had talks in the morning and an unconference session in the afternoon.

Here are seven takeaways from the event:

1. Kube changes the game for Jenkins

We heard from R Tyler Croy from the Jenkins project. As part of a three-person infrastructure team, they maintain several Jenkins websites, a wiki, an issue tracker, and a huge distribution network for the Jenkins software itself and a plugin library. They code in Puppet (which is licensed Apache 2 and available on github) and they deploy their infrastructure on Azure.

2. Wanted: Developer time

We heard from Daniel Takamori, an engineer with the Apache Software Foundation, a software warehouse with decades of history and a completely self-sufficient infrastructure. He talked about the reasons why money or virtual machines aren’t what they need most, what they need most is developer time.

3. Mozilla gets automated

We heard from E Dunham, an engineer at Mozilla who runs all the DevOps for the Rust and Servo projects. Rust is a new language from Mozilla (very hype) and Servo is a browser engine that will eventually be integrated into Firefox. She took us through the automation they have in place to handle the volume of contributors to their wildly popular open source software projects.

4. Under the hood at Travis CI

We heard from Carmen Andoh, who gave us an overview of the tech behind Travis CI. Travis CI runs millions of free test jobs on open source projects. They’ve had a huge impact on how open source is developed in just a couple of years.

5. OpenStack Infrastructure’s great growth

We heard from Monty Taylor, who talked about the OpenStack Infrastructure project. This is a group that writes only open source software and deploys the entire OpenStack developer ecosystem onto donated OpenStack clouds. The project has scaled from a handful of developers to 2,500 developers today and runs thousands of tests per hour at peak times.

6. Postgres gets encrypted

We also heard from Magnus Hagander, one of the people running the infrastructure underneath the Postgres database project. He talked about how they used Let’s Encrypt, Postgres, and a custom configuration management tool to set up encryption for all their services, including internal services and services that are not HTTP like PSQL and email.

In the afternoon, the group broke up into less structured conversation groups in a format common to the Open Source world called an unconference.

7. People > servers

We had a discussion on funding these infrastructure projects, which again focused on how people were in higher demand than servers or cloud time. There was a wider discussion about the ethical requirements to deploy FLOSS solutions, which led to some agreement that the practicality of Open Source was not enough, and that an ethical requirement did exist, though it did not mean the same thing to everyone. Other groups discussed using containers and how to do testing properly on Mac OS X.

For more info, check out these resources:
https://mako.cc/writing/hill-free_tools.pdf

http://opensourceinfra.org/
http://scale.opensourceinfra.org/
http://scale.opensourceinfra.org/

… and these technical links:
https://git-wip-us.apache.org/repos/asf?p=infrastructure-packer.git
http://git.openstack.org/cgit/openstack-infra/system-config/

https://github.com/pono/ (Daniel Takamori)
https://github.com/jenkins-infra/

Join The Discussion

Your email address will not be published. Required fields are marked *