Vladimir Vivien
Software builder | Open Source | Author
I have been involved and working in the tech industry, crafting code in one form or another, for the past 20 years. I am a passionate engineer who finds joy in building useful and well-architected solutions that deliver values to users. I have worked in the cloud-native open source space including as a full-time contributor to Kubernetes, and more recently, as a lead for open source tools that help with the automation of Kubernetes cluster diagnostics and mitigation.
Publications
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.
Open source projects
Kubernetes
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.
Kubernenes SIGs / E2E Test Framework
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
Tanzu Crash Diagnostics
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
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
Gexe
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
Go for Video Linux (Go4VL)
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
Stream Processing Platform on Kubernetes
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.
Public speaking
System Programming for Realtime Video Capture in Go / GopherCon 2022
Presented at the GopherCon NA 2022 to show how to use Go to capture realtime video data from on the Linux platform (Youtube)
Realtime video capture with Go / Go Developer Network (2021)
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).
TGI Kubernetes / VMware (2021)
Hosted and participated in the popular VMware’s (formerly Heptio's) TGI Kubernetes show (episodes 151 and 170).
Go Programming with Generic Types / GopherCon Russia (2020)
Presentation exploring programming with the Go programming language's type parameters (YouTube).
Beyond operators / KubeCon NA (2019)
A lightning talk presentation on higher levels of abstractions for Kubernetes client APIs (YouTube).
Efficient IoT with Protocol Buffers and gRPC / KubeCon EU (2018)
Presentation on using Protocol Buffers and gRPC to build IoT solutions with small devices (YouTube).
Calling Go functions from other languages / GopherCon US (2017)
A short lightning talk presentation about interoperation between Go and other languages (YouTube).