As we like to bring up, there are a lot of people doing great work in and around the VMware {code} program. Back in March we introduced the “featured member” segment here on the VMware {code} blog: brief interviews with some of our key contributors to help everyone get a better sense of the kind of things the VMware {code} program aims to make possible.
Our second interview was done via email and is presented below (with minimal edits for consistency).
As always, we’d love to hear your feedback in the comments below, on Twitter or on Slack. If you’d like to be interviewed yourself or know anyone who might be interesting – please get in touch. Thanks!
Who are you and what brings you to VMware {code}?
My name is Cody De Arkland, and I’m a Senior Systems Engineer with VMware out in Sacramento, California. My focus is on the Core VMware technologies; but my passion is around automation. I’m relatively new to VMware and in my previous role worked pretty heavily with VMware’s various APIs for a lot of automation and reporting work at a major utility company. I also run my own blog about my lab adventures, called The Humble Lab (https://www.thehumblelab.com). Finding the {code} community and seeing how active it is was really exciting to me. It felt like a natural place to visit any time I was going to code something in vRealize Orchestrator, or interact with the APIs. Knowing that most, if not all, of the API documentation was landing here made it really easy to “dig up” as needed. Lately I spend most of my time here browsing the code samples for things to include in my Alexa with VMware project (Codenamed Gideon) or reviewing API documentation.
How long have you been actively coding? What got you started?
I started writing code mostly as scripting in PowerShell probably around 5 or 6 years ago. I stayed pretty active working with PowerShell up until about 3 years ago when I took a role working on private cloud at the utility I mentioned previously. In this role, I had to work in vRealize Orchestrator a ton which heavily leverages JavaScript. I spent a few years working with and learning JavaScript in the vRO context. Eventually I found myself wanting to do more live custom reporting, and wanting to dig a bit deeper into VMware’s software development kits. I knew Python was a pretty active language with a strong community, and that it had a reputation for being easy to get started with. I made myself sit down and learn Python over the course of several months while I was off work with my newborn, during her nap times. This led me down learning more about taking Python code, and feeding into webpages to build various tools. Rest was history!
What languages do you use the most? Why?
I use PowerCLI/PowerNSX pretty much every day for something. With my current project (the Alexa and VMware one) I’m in Python a lot, also working with regular HTML quite a bit. I like PowerCLI and PowerNSX because how fast and programmatic you can be with configuring items. It’s also a great way to track your “changes” to an environment, or even track how to deploy something. Python I love because of the community that surrounds it. There’s a tool for every project in Python, and normally a huge community of people who are willing to help!
So we’re hearing you did a project recently using Amazon Echo. In a few sentences, what was it you were trying to accomplish?
When the Echo first came out, I found out that it was extensible using a number of developer-friendly languages. I had spent a few months while I was off work with my newborn learning Python during naps – and I felt like practical experience automating with the Echo would help me learn Python faster. I always learn better by doing; and diving into a code project like this seemed like it would teach me volumes – which it TOTALLY has. I’m also an avid homelabber, and I had this thought of “How cool would it be to be able to wake up, and say “Alexa, hows my lab running?” and have it respond with current status.
It started off as a simple project; but it’s quickly grown into something a bit bigger with a full UI, configuration options, and proper hosting configurations. It’s pretty exciting. I opted to use VMware’s ClarityUI because of how well documented it was, and how easy it was to get started with. It made my page look a lot cleaner than I typically could’ve done on my own.
Was this a work project or just for fun (or both)?
I would say both. I wanted to learn to interact more with our SOAP API via Python since it’s a bit more full featured than the REST API is currently, but I also wanted to learn more about consuming the REST APIs. When I worked at the utility, I felt like learning more web development skills would help me answer the needs of the business more, and now that I’m working at VMware I also identify a bit more with what our customers are looking for in our platforms.
On the fun side, who didn’t grow up wanting their computer to interact with them? I thought it would be a fun thing that would grow from being only VMware focused into larger home automation stuff. Plus, I’d learn a ton. I feel like any day you don’t learn something new is a day wasted.
At VMware {code}, our goal is to provide developer with tools and resources to “learn, code and connect”. Were you able to make use of any of these resources? If so, how?
You guys are definitely meeting your goal! The amount of documentation available on “code”-related items on the VMware {code} site is unreal. It’s nice having a central repository for all the developer-centric documentation. The sample exchange encourages sharing back out to the community, and it’s really easy to jump in there and find good samples around the concepts I was working on. I spend a ton of time on the site. Furthermore, the Slack channels are great. There’s a channel for pretty much everything it seems and the community is pretty friendly when you have a question you’re stuck on.
Thanks very much, glad to hear! Now that your project is up and running, what’s next?
Ha! Nothing’s ever done…come on now 😉
I’ve certainly made some progress, but there’s a long way to go on this. One of the things I love most about the VMware {code} community is the community involvement. Since I tweeted out the stuff I was working on, I’ve had a lot of people internally and externally jump in offering to contribute and help out. It started out just being something to interact with vSphere and vRA, with a future view of NSX. Now I’m talking to a ton of different people about additional products that we could tie into APIs against.
Excellent! Thanks so much for taking the time. Finally, how might people best connect with you online?
Twitter is probably best; @CodyDeArkland, along with TheHumbleLab blog
* * *
Links:
- Cody’s blog post: Integrating Amazon Echo and VMware API’s
- GitHub: Amazon Alexa vSphere Skill Using Flask-ASK and VMware REST API’s
- Follow Coy on Twitter at @CodyDeArkland