SRECon Europe 2016
Disclaimer: I went to this conference representing Facebook, but as with all posts on this site, the opinions here are my own.
SRECon Europe was great as usual this year. This is the first year that I went representing Facebook.
Here are a couple of standouts from the conference that I particularly enjoyed.
"Docker from scratch" workshop
Nati and Avishai presented a day-long workshop building your own Docker-like containerisation, delving into cgroup/isolation internals.
This ended up being kind of a mix of stuff I already know, but don't get to exercise much (e.g. specific details of cgroup isolation from a kernel API perspective) and stuff which I was not previously familiar with (e.g. the nuances and caveats of using an overlayfs as a container filesystem, especially around atomicity).
Unfortunately this workshop was all using cgroupv1 and not the new unified cgroup hierarchy introduced recently, but that's not a slight on the workshop itself :-)
Sasha presented a brief but reasonably comprehensive eBPF primer talk, which I thought was a great introduction to understanding its place in the tracing ecosystem today.
We're using eBPF more and more at Facebook. I'm personally using it more and more on my personal servers too, especially as it becomes easier to maintain and quickly prototype new tracing tools on the fly.
One big mistake I made at SRECon this year was to not go to the extended eBPF workshop – I need to do that some other time. My experience with eBPF and building out BCC-based tooling right now is acceptable, but I could definitely benefit from understanding more of the wider context and spending more time building out tools.
Sasha is a very engaging presenter and I hope he continues to do more of these. I will definitely catch a more detailed eBPF workshop when we happen to next be at the same conference.
The Production Engineering Lifecycle
Andrew did a talk on the lifecycle of PE teams at Facebook, with the impressively lengthy title The Production Engineering Lifecycle: How We Build, Run, and Disband Great Reliability-focused Teams.
I think one of the most important things we don't discuss frequently is how to disband teams well, and the conditions for doing so. Especially as we as a community grow to become more adaptive to rapid change, we need to have a transparent strategy around team growth and team disbanding. Without a good story in that area, I think it's simply not possible to sustainably nurture talent for the amount of time it takes someone to become truly "senior" in a rapidly changing organisation.
I need to go back to Dublin more often.