I recently attended my first Open Source Summit, formerly LinuxCon. It’s strange that having worked in the space of Linux for so long that I kept missing these Linux Foundation events, I think the only event of theirs I’ve been to was the Linux Collaboration Summit in 2010. I always had conflicts, then differing priorities with regard to events, especially since I’ve rarely been paid to actually do work directly on Linux, it’s always been a hobby or base for other projects and infrastructures I’ve worked on. The co-location with MesosCon and shift to general open source conference changed the game for me, so I could finally attend and speak at this North America edition in Los Angeles!
I was thrilled to have a talk accepted at the Open Community Conference run by Jono Bacon. My talk was on Building Open Source Project Infrastructures where I explored the current state of proprietary infrastructures used to assist open source project and asked the audience to consider the benefits of self-hosted and open source solutions for their projects. The OpenStack project and others listed on opensourceinfra.org have open sourced various parts of their project infrastructure to allow for outside contributions and even assistance from the community in hosting. Both the Xubuntu and DC/OS projects have websites that are hosted in revision control. Several projects are using open source tooling for their continuous integration work, and publishing your build system helps contributors replicate releases when adding their own patches and improvements.
I then walked the audience through steps to opening up their infrastructures more, including finding talent (systems administrators do exist in open source projects!), determining what hosting is required, and seeking funding to support anything your project may end up needing to pay for. The talk concluded with a closer look at OpenStack and Xubuntu to walk through the different ways these projects are maintained and the various pieces of the infrastructure we put in the hands of community members. Slides here (PDF).
On Tuesday I spoke in the ContainerCon track on Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS. This was actually a talk submitted by a colleague who wasn’t able to participate, so he handed it off to me. I was able to take some slides from other talks, but I always have to do a fair amount of rewriting to make a presentation my own. In this talk I walked through modern continuous deployment pipelines and stressed two things in a containerized infrastructure: running everything in containers and organizing workloads efficiently. DC/OS does this by running both services (Jenkins, GitLab, etc.) inside of containers and software actually being tested. Jenkins has a really nice plugin for Mesos which allows it to farm workloads out to the Mesos cluster automatically, negating the need for something like Nodepool that we used in OpenStack land. The use of containers lends to the second bit, being able to run multiple, isolated workloads across the same hardware instead of using discrete, dedicated servers for various services. Additionally, by using something like DC/OS you can give developers the flexibility they want to use their own tooling without the additional infrastructure administrative needs that exist on for each team running their own hardware/VMs themselves. Everyone gets a chunk of the Mesos cluster and they install what they want, only having to worry about maintaining versions of the applications themselves.
It was after this talk that I learned something fascinating about my references to container. My colleague Jörg mentioned to me that a lot of folks he interacted with automatically assumed “container” to mean “container image” rather than the concept of a running any generic container in the operational sense. I was puzzled by this until I went to a talk later that day by another one of my colleagues, Jie Yu who spoke on Containerization in Mesos, Embracing the Standards. It dawned on me that the communities Jörg tended to work in were developer-focused and mine were operations-focused. It makes sense that we’d see those views in our work. It did cause me to be more cautious about my definitions though, the assumptions I made about what people mean when they say “container” and would indeed be a bit confusing if the assumption is that I’m talking about an image.
Terminology revelations aside, Jie’s talk was an interesting one. He gave some introductory details about how Mesos works, but then dove into the history of containerization in Mesos. This was a history I had mostly pieced together over the past 8 months as I learned about the Mesos containerizer and how Docker fits into the Mesos world, but it was great to see it presented formally, in chronological order so I could more deeply understand the progression and design decisions throughout. He then got to the heart of his talk, where he linked many of the changes being made to improvements users were asking for, as well as the importance of standards in the container space, specifically saying we needed:
- Stable interfaces
- Backward compatibility
- Multiple implementations
- Vender neutrality
- Interoperability
He specifically called out efforts by the Open Container Initiative, the Container Network Interface (CNI) and the Container Storage Interface (CSI).
Moving on from my own focus at the conference, I enjoyed the keynotes I saw on Monday and Tuesday (most of the videos can be found here). Though I wasn’t nearly as star-struck as some in the audience, it was particularly interesting to hear from Joseph Gordon-Levitt about hitRECord where they’ve built a community very similar to online open source communities, but for content creation. I believe in the principles of open source, but it’s still inspiring to see that the key concepts of online collaboration are transferable to things beyond software. He also dove into monetary compensation for artists (and developers), which is something we’ve spent many years shying away from as a community. Many of us are paid for our work in open source today, but as someone who came up as an unpaid community member for most of my career, honest, open, discussions about it are not as frequent as I’d like. Video here.
I also really appreciated the keynote from Dan Lyons, author of Disrupted: My Misadventure in the Start-Up Bubble. The talk began by poking fun at the culture of startups, but a third of the way in took a turn for the dark about the dangers of startups and what the fun is hiding. Workers are increasingly being exploited in and around our industry, we need to see this turned around. Video here
During the summit I had the pleasure of meeting Ed Warnicke who gave a lightning talk on Tuesday afternoon about Bringing Network and DevOps People Together. He’s a Principal Engineer at Cisco and was raising awareness around the disconnect between networking and systems folks. This talk hit home for me, literally. When we got married, my husband was working as a network engineer and I was working as a systems engineer. Whenever we talked about networking-related topics, we’d talk past each other. This became even worse when I was working on OpenStack, and then my OpenStack book. I had a networking chapter that I wrote with a fellow systems engineer in the OpenStack community and as soon as I showed it to network engineers, they were confused. I probably spent more time on this chapter than any other because I had systems and networking reviewers pushing back and forth at terminology and ways I explained things and more fundamentally how OpenStack was doing certain things.
Coming back to the talk, Ed stressed that with the future we’re heading into with microservices, we can’t afford to talk past each other and the DevOps world shouldn’t be ignoring the expertise of the networking community that’s been solving problems for decades. His own call to action was for all of us to talk to someone from the other discipline. Done and done! Video here.
There were bunch of other talks I enjoyed as I moved between the Open Community and Containers tracks. It was a little disappointing on Wednesday when my attention was pulled over to the MesosCon Hackathon, but I did make it upstairs to see the puppies.
The event was also great for meeting up with people I hadn’t seen in a while and meeting new people. I enjoyed a women of open source lunch on Monday where we heard an intro blurb from every woman in the room (there were dozens!) and I just happened to sit down next to someone I know online via following each other on Twitter.
…and this collage only captures a fraction of the people I managed to chat with. Great conference.
More photos from the Open Source Summit here: https://www.flickr.com/photos/pleia2/albums/72157687000663014
Friday, Sep 29th, 2017 at 6:12
Great writeup, it’s nice to see people blogging the whole conference experience (so many just livetweet, then move on without leaving a lasting impression to help others).
And the “what does ‘container’ mean to you” point is really interesting. Not just with the Dev / Ops split, but the #opensource old hat vs. the new hire/college kids, vs. the traditional big business software developer, I wonder what other obvious terms we all see slightly differently.
Sunday, Oct 1st, 2017 at 16:01
Thank you for taking time to leave a comment!
Coming off a decade in Linux ops, I’ve been using chroots, openvz, vserver and their ilk for some time now (and am aware of BSD jails, though I never used them). I often run into fellow systems folks who want to remind everyone that the latest container craze is built on the shoulders of giants :)