July 8, 2015
One of the slides at the opening session of the BSDCan conference read, “So many smart people in one room. This is why I attend BSD conferences.” I smiled to myself, and began to soak up the excitement of my first BSD conference. After nine talks and multiple conversations with the aforementioned smart people, I am thoroughly convinced! Not only does a BSD conference have way too many very smart people in one room, but also some of the nicest. You hear about the great work done by the FreeBSD community all the time, but not enough is said of the incredible FreeBSD community and the inspiration it provides.
I came in on 12th June, the first day of the scheduled talks, after a grueling finals week at grad school, and was very sleep deprived, but the excitement and the energy at the conference kept me wide awake. I found each of the nine talks I attended very interesting. It was incredible listening to THE Steven Bourne talk about the creation of the Bourne shell at the plenary, and his many insights and inside stories to do with it. I especially loved the part where he explained how he convinced Dennis Ritchie to inculcate the ‘void’ type into C and his candor about the debugging of shell scripts.
I especially enjoyed the following talks, among the ones I attended:
FreeBSD Operations at LimeLight Networks Content Delivery Networks (CDN) are something that interests me, having had a research component on it at graduate school this year, and to see it in the operations perspective, with their usage of FreeBSD was very interesting. They deploy their own backbone and use FreeBSD on their backbone. For a big CDN, with many data centers, large scale installations of FreeBSD on the edge is an important factor. Such an operations workload requires fluidity in software and configuration changes and what is interesting is that only a handful of people are involved in the design and operations at Limelight Networks, as opposed to the usual model. The usage of FreeBSD allows both of these as you are pulled into the source tree and can get involved in the operations of the system. While deploying FreeBSD, their strategies involve upstreaming everything, using ports, and creating a src team. Tools used by Limelight were discussed, which I found informative Zabbix for monitoring to ensure API driven configuration management, monitoring in test, dev and QA to form an efficient feedback loop, OpenTSDB for storing time series metrics, SaltStack for configuration management using a declarative style where the system takes action based on policy using an orchestration bus, Vagrant for pushing FreeBSD on the edge servers.
CloudABI by Ed Schouten which is a Unix application binary interface which provides capability based security. It extends the concept of Capsicum, by providing a more compact representation with only about 60 system calls. This can be applied to cloud computing environments, instead of using full system virtualization or virtualized namespaces. CloudABI can be used in a far simpler way, with better performance, without complicated configurations, while providing security by controlling access to sockets, files and other resources. This was interesting to me, because it provides a whole new way of creating environments by building on capability based security to provide isolation and resource access control at the process level rather than complete isolation of environments to provide the level of security required.
An Introduction to the Implementation of ZFS by Kirk McKusick This was an interesting talk for more reasons than the fact that it was Kirk McKusick himself talking about ZFS there was also a fire alarm going off in the middle of the talk, followed by the arrival of fire trucks! I loved this talk for the clarity with which Dr. McKusick explained the ZFS block structure and checkpointing and made simple the rather complex concepts like freeing of filesystem and snapshot blocks in ZFS. The closing session hosted by Dan Langille was a lot of fun, and again the awesomeness of the BSD community was on shining display. I also attended the closing party at the nearby Lowertown Brewery, which was fun and a good opportunity for some networking as well.
Through this conference, it was great to finally meet Gavin Atkinson, who was the administrator for all of us GSOC students at FreeBSD last summer. I also got to converse with Diane Bruce, Ed Schouten, Deb Goodkin, Justin Gibbs, David Chisnall among others and every conversation was refreshingly unique in the perspectives it provided me with about the work done at FreeBSD, specific projects in FreeBSD, technology in general, the codebase, ways to contribute to FreeBSD, history, music and other myriad subjects. Ottawa was an incredible city to visit, and is so steeped in history and culture, and I soaked in the museums, art galleries and beautiful hiking trails it provided.
In terms of the work I’d like to do for FreeBSD in the future, besides wrapping up the testing of the BSNMP IPv6 project, I also learnt more about other projects I could potentially contribute to in the future, like further IPv6 support (userland cleanup, unification of ping and ping6, unification of traceroute and traceroute6), improvements to the Bluetooth module, 802.11 improvements and Space Communication Protocol, after exploring these with the people I spoke to. Even though I landed at Ottawa mentally exhausted, I returned completely excited and inspired, with many plans for future contributions to FreeBSD, and so very grateful to the FreeBSD Foundation for having provided me with this opportunity to attend my first (of many more, hopefully) BSDCan.