Well, it's the end of the show. I'll definitely write up my thoughts when I have a better chance to consolidate them and make them coherent. Until then, I'll knock out a quick recap of my sessions and experience from day three as well as a closing thought or two.

Keynotes

The keynotes were pretty good today, just like the previous two. Even though they were all great, Kelsey Hightower's was easily the best. His statements around how Kubernetes isn't the platform but them platform that platforms are built on and how developers solving problems shouldn't have to learn Docker, Kuberenetes, and the other cloud native pieces in order to be productive. It was also an epiphany that my CLI's (where appropriate, not everything) should play music if given the opportunity - there's gonna be a flag for that.

You Can't Have a Clusterf*ck without a Cluster

I was fortunate enough to have an opening during my post-lunch time slot and was able to sit in on Kris Nova's last talk of the day. She did a great job at outlining what exactly the components are in the simple sounding Kubernetes cluster, and man it's quite the list. Kube does an incredible job at (mostly) abstracting away the concerns around the bare metal, kernel, OS, virtualization, networking, and a ton of other components. That doesn't mean that we can forget all of it is there.

It's also really easy for a minor change to completely undermine any of the ~20-25 high-level components that make up a modern software stack and they can often be very subtle. Kris was able to provide a few moments from her experiences where the most inconsequential things caused decent explosions.

There are plenty of people talking about the successes and uses they have for Kubernetes, but (as Kris called out), very few talking about how they're abusing (or being abused by) Kubernetes. Her final closing words were encouragement to share through common channels all of the experiences you have, not just the good ones.

Unified Observability in Kubernetes and Beyond with OpenCensus

The talk from Morgan McLean and Jaana Burcu Dogan on full stack observability and the offering provided by OpenCensus in this space was great. We had efforts earlier this year to implement Open Tracing-compliant interfaces and tracing functionality throughout all of our applications and services, but it only addressed one part of the full observability picture.

The expanded functionality offered by the OpenCensus agent and the (admittedly alpha-grade at this point) OpenCensus service covers exactly what we hadn't directly addressed at this point. The additional exporters for our already-implemented vendors and the ongoing work for a common, shared interface definition between OpenCensus and Open Tracing may be exactly what pushes us towards a drop-in swap to OpenCensus in the near to mid-term.

I'm really excited about the work being done on OpenCensus. It's a project I'd definitely want to contribute to and plan on following a bit closer over the coming months.

!go - Interacting With and Extending Kubernetes in a Polyglot World

This was my last Kubecon talk and it was an interesting one to go out on. Brendan Burns took an opportunity to talk about efforts to make the Kubernetes API and its client library accessible in a wide range of languages. From Java to C# to Haskell, there are efforts to support client libraries that have feature parity with and equivalence to the one offered and used by the standard library.

That's easier said than done though - most of five implemented and supported libraries (Java, Python, C#, Typescript/Javascript, and Haskell) are built via swagger-codegen and use of the OpenAPI definitions for Kubernetes. Brendan was open about the inconsistencies and problems found in the OpenAPI definitions as well as other details, like how the code generation doesn't always leave an idiomatic library or offer a library that meshes well with the expectations and practices that are common in the implementing language.

Closing Thoughts

My first conference finally came to an end. While a better write-up and retrospective is planned, I can give a few initial thoughts.

It was an absolute blast, even with the crowds, the running around, the escalators, and all of the random slow downs in the halls. I really enjoyed being around everything going on and hearing all the amazing stuff going on in the community.

I've got more ideas and follow-up to do than I was originally planning on, but it's a great problem to have. There were quite a few epiphanies and an equal amount of "well maybe we should give that another try" moments as well. I was able to start considering the platform work I'm doing from a different perspective and it's definitely a good thing.

And a final thought - I can't wait to go back. For all the criticism and support that was aired out about sponsors, speaker slots, and other attributes, I feel like I got a lot out of it and I'm looking forward to what KubeCon 2019 has to offer.

Seattle, it's been fun. So long, and thanks for all the fish.