I’m lazy, and I write software. But you see, I actually view this as efficiency. Usually, this is not fancy, high-profile code. It is usually glue code—code intended to help me automate someone else’s code.
I’ve been writing code for the past two decades, give or take a few years. Throughout my career, I’ve been an operations guy and a software developer guy. I’ve worked a lot in embedded devices. Because of this, I find myself dabbling within the open source community. When you find a fix or need a fix, I’m of the mindset that others should not have to reinvent the wheel.
I was first exposed to the collaborative nature of open source software at college. Before sites like GitHub, working on and sharing code improvements was not as easy as it is now. In the late ‘90s, I was in college and discovered software for the first time. At that point, I did not even have my own computer! I came to appreciate what it means to take other people’s ideas and run with them and, on the flip side, contribute to them. That passion for a sharing economy turned into a defining part of my career. Since those early days, I never worked a job where I could not use open source software.
Progress Isn’t Made By Early Risers
Today, I work on consulting projects at VMware, where I focus on future-looking technologies. What is the cloud technology of the future? What do good cloud operators do? And how do we get there? On this quest, I leverage the paths others have paved, and contribute lines of code to open source projects wherever I can.
I write code to improve processes and make things more efficient. That way I have more time to develop the high-profile code that runs up the stack and really pays the bills. Also, I can spend more time reading gems from Robert Heinlein, like:
“Progress isn’t made by early risers. It’s made by lazy men trying to find easier ways to do something.”
An example of this automation/glue code is project Chaperone, a project started by my colleague, Tom Hite.
Project Chaperone
The last couple of years at VMware, I’ve contributed to an open source project called Chaperone, working with others to help automate the installation of VMware products. Rolling out a full software-defined data center (SDDC) is difficult. With Chaperone, we try to make parts of that process easier and repeatable. Internally, we use Chaperone in professional services to handle things like deployments of VMware Integrated OpenStack (VIO), VMware vRealize Automation (vRA), VMware vRealize Orchestrator (vRO) and VMware NSX in mixed brown/green field situations.
People should focus on more engaging details at the high level, and let tools do the “ho-hum” work. Using Chaperone, a person can deploy VMware tools faster and spend more time thinking about the things they want to do on top of that stack. For these humanitarian reasons, Chaperone has been open sourced.
Ansible Roles
Recently, we installed govc, Liota (Little IoT Agent) and vSphere Integrated Containers (each are also VMware open source projects). We captured that work as Ansible roles to be included in Chaperone. We released this code under the MIT license as open source software. We released these Ansible roles publicly, so that other people can deploy those same bits with less effort.
Here are those repos:
- github.com/vmware/ansible-role-vic
- github.com/vmware/ansible-role-liota
- github.com/vmware/ansible-role-govc
- github.com/vmware/chaperone
My team works with others to improve the process of deploying these bits and to help pave the road for future work automating new bits of code. Please join in with our work here at VMware Open Source. Learn from the code, submit patches or just use it to move from SDDC rollout drudgery to more rewarding tasks.
The ultimate goal? To be lazy about the dull stuff and write the code that really matters.
Because you liked this blog: