Vladimir Vivien
Software builder | Open Source | Author
Software builder | Open Source | Author
I've spent 20 years writing code and building systems — from enterprise software in banking, healthcare, and publishing, to full-time open source engineering on Kubernetes and the cloud-native ecosystem. Over the years, the drive to build things that are well-architected, useful, and valuable to the people who use them has been my motivation.
Much of that work has been in the open source space. I contributed to Kubernetes core, where I led the initial implementation of the Container Storage Interface (CSI) resource controllers — the storage abstraction now used across every major cloud provider and Kubernetes distribution. I created and currently lead the Kubernetes SIGs e2e-framework, a Go testing toolkit widely adopted across the community. I also conceived and built Tanzu Crash Diagnostics, shipped as part of VMware's Tanzu Kubernetes Grid, as well as tools like ktop, gexe, and go4vl — each solving a specific, practical problem in the Kubernetes and Go ecosystems.
Beyond the code, I've written two books on Go and JavaFX, published technical articles on Medium, and presented at KubeCon, GopherCon, and the Go Developer Network. I find that sharing what I've learned is just as important as building — it's how good ideas spread and communities grow.
I am a published author on several titles about Go and frequently write about my OSS projects and other topics on my blog.
Packt Publishing 2017 (ISBN 9781788390552)
I frequently (well, relatively) publish blog posts on the Medium platform about Go, Kubernetes an other topics.
Worked as a contributor to the Kubernetes project where I collaborated with the storage community and led the initial implementation of the internal resource controllers for the Container Storage Interface (CSI), an API that allows storage providers to uniformly expose storage primitives to running Kubernetes pods.
Created and serve as current lead of the Kubernetes Testing SIG e2e-framework project which is a Go testing framework that provides developers a simple API to express end-to-end tests for Kubernetes cluster components. This project has been adopted by many organizations in the community to capture and drive their Kubernetes testing needs.
Github.com/kubernetes-sigs/e2e-framework | blog
This project was created as part of the initial release of VMware's Tanzu Kubernetes Grid platform. I conceived, designed, and implemented this toolto automates the collection of Kubernetes cluster diagnostics data. Crash-Diagnostics is distributed as part of VMware’s Tanzu Kubernetes portfolio and plays a prominent role in its supportability.
Github.com/vmware-tanzu/crash-diagnostics | Crash-Diagnostics docs
Ktop is a top-like tool that I created to display useful metrics information about nodes, pods, and other workload resources running in a Kubernetes cluster. The tool works with or without an installed metric-server and can run as a Kubernetes kubectl command-line plugin.
Github.com/vladimirvivien/ktop
Before platform engineering was a coined term, I created Gexe as an API for the Go programming language to simply the programmability of OS interactions using script-like idioms. Gexe plays crucial roles in several projects including Kubernetes-SIGs/e2e-framework by providing the programmable API to interact with the underlying OS.
Github.com/vladimirvivien/gexe
Project Go4VL was created out of a need to use the Go programming language to capture live video from a device attached to a Linux machine. Go4VL hides all the complexities of working with the native Video for Linux (V4L2) APIs and provides idiomatic Go types, like channels, to consume and process captured video frames.
Github.com/vladimirvivien/go4vl | GopherCon NA 2022 presentation
Designed and created a stream processing platform that runs on Kubernetes. The platform uses the kube-builder project to allow users to define custom resources that can be assembled together to compose streams and stream functions to process data from different sources and send the result to different collectors.
Presented at the GopherCon NA 2022 to show how to use Go to capture realtime video data from on the Linux platform (Youtube)
Presented at the GoBridge's Go Developer Network presentation series on using Go for system programming to capture real-time video on the Linux platform (YouTube).
Hosted and participated in the popular VMware’s (formerly Heptio's) TGI Kubernetes show (episodes 151 and 170).
Presentation exploring programming with the Go programming language's type parameters (YouTube).
A lightning talk presentation on higher levels of abstractions for Kubernetes client APIs (YouTube).
Presentation on using Protocol Buffers and gRPC to build IoT solutions with small devices (YouTube).
A short lightning talk presentation about interoperation between Go and other languages (YouTube).