Appreciating the world of DevOps: Kubecon 2018
"Kubernetes is just the conduit. Its everything that will be build with, around, and for Kubernetes that will make it amazing."
In the short time that I have been working with and around Kubernetes, about 8 months, I have gone from working with a stale Perl code base to a completely foreign set of code bases in multiple languages including Golang, PHP, and Ruby. So walking into Kubecon 2018 in "the heart of Seattle", I knew I would be experiencing new, exciting tools and utilities that would further enhance the already outstanding list of functionality that Kubernetes has to offer. I was not disappointed.
There were several hundred talks, a full showcase, and fantastic keynote speakers on each day. As a software engineer that is still new to the space, I enjoyed the informative and collaborative environment that was fostered. My experience has been limited to updating a yaml file whenever I want increase resources or update my code base. Now my eyes have been opened to an astounding number of solutions that will revolutionize how DevOps and the rest of the stack will work together. Ideally, it will be a increasingly harmonious relationship.
As you can already tell, I am not a stellar journalist but I have been known to make a killer list, so here are some of my main take-aways from Kubecon 2018:
- Learning. Colleges, universities, and coding bootcamps, or really just anyone that is training the next generation of developers should include Kubernetes in their curriculum. I would include the history and progression of DevOps tooling as a short intro to help engineers learn the why and how.
- Integration. You will run into issues in your application code that bleed into the infrastructure domain. This is just inherent to all software engineering and there is no way to completely isolate systems that depend on each other. ** yeah yeah, thats a broad stroke of the brush but also just my honest opinion.
- Protection. Kubernetes and supporting tooling provides us with protection from ourselves. As developers, we are very lazy and we only want to fix simple problems. This makes us our own worst enemies, right along with users.
- Accessible. Infrastructure is just handled for you, which is great when you start! Then when you are ready to advance, the level of customization is unparalleled.
- Adaptation. When you grow, you need to be able to evolve the configuration as is needed. Scalability is one of the biggest challenges applications face right now and you would be insane to not consider the out of the box functionality that Kubernetes and its ecosystem offer. I honestly see no reason to have your own hardware now, almost.
- Metrics. Uptime is not the only metric, you need to also monitor latency. This is significant for developers because we might build some new functionality and run into poor performance because the feature is not lightweight or not set up to work with the pre-existing infrastructure. Tracking latency give you additional insights on how your platform behaves during up time, which is invaluable to both technology and g. There are amazing new tools coming that will bleed the lines of what is a "DevOps" versus "developer" task; Draft (tool) will allow developers to spin up and debug with Kubernetes. As someone that has been lacking proper testing environments, I cannot explain how exciting this is without using the works "slick" and "neato" constantly.
The Kubernetes ecosystem is growing at a crazy rate with a plethora of tooling. The community is the driving force behind the expansion and adoption of Kubernetes. There is no better time to join the community than now!