VMware vSphere API Training is Ready

During the last 3 weeks, I’ve been working on the courseware and online lab for the VMware vSphere API training. It’s now available for delivering as private classes, either online or onsite. All the contents in the training will be highly customizable per your project needs in terms of content and time. For example, if you are a networking company, we can put more focuses on the networking aspect of the vSphere APIs. As a former VMware employee who authored the VMware vSphere SDK book with Prentice Hall and created of the de facto open source VI Java API, I can also give you practical advice for your projects.

For the public classes, we are still planning it. If you are interested but not enough people (5+) from your company, please leave a comment and preferred time. we will see how we can group multiple groups together for a public class. Should you have a question, please feel free to contact us. (steve _at_ doublecloud.org).

Lost VMs or Containers? Too Many Consoles? Too Slow GUI? Time to learn how to "Google" and manage your VMware and clouds in a fast and secure HTML5 App.

Course Outline

I know what you care the most is the content. Here is the course outline. For a PDF version, you can get it here.

Day 1 
•	Introduction and Course Logistics
•	VMware vSphere API Overview
•	vSphere API Reference
•	Lab 1: Using vSphere API Reference
•	Open source VIJava API Architecture Overview
•	vSphere Managed Object Browser (MOB)
•	Lab 2: Using MOB
•	Doublecloud Proxy
•	Development Environment Setup
•	Lab 3: Hello vSphere – Your First Program
•	Task Management
Day 2
•	Virtual Machine Management Overview
•	Virtual Machine Configurations	
•	Lab 4: Resizing VM
•	Virtual Machine Stats
•	Lab 5: Retrieving Stats
•	Virtual Machine Power Management
•	Lab 6: Power on/off/suspend VMs
•	Device Management
•	Lab 7: Attach a New CD to VM
•	Virtual Machine Snapshot Management
•	Lab 8: Create/Revert Snapshots
Day 3
•	Virtual Networking Overview
•	Lab 9: Portgroup Creation
•	Lab 10: Static Route Assignment for ESXi
•	Host Management
•	vSphere Clustering Management
•	Resource Management
Day 4
•	User Management and Security Model
•	Lab 11: Create User and Assign Role
•	Session Management
•	Lab 12: Monitor Live Sessions
•	License Management
•	Lab 13: Assign Licenses
•	Event Management
•	Performance Monitoring
Day 5
•	Alarm Management
•	Lab 14: Create Alarm to SNMP
•	vSphere Plugin Development
•	Lab 15: Hello World Plugin to vCenter
•	Other Language Bindings
•	vSphere API Best Practices
•	Q&As

Hands-on Labs

We understand it would not be fun for an IT training without hands-on labs. That is the something I’ve building and developing. The training lab is now online accessible from anywhere with Internet access. Here is a screen shot that a trainee would see while using her Linux machine.

As you can see, the Linux machine is in a browser (either firefox, IE, or Chrome). Every trainee will have her own environment with 4 machines.

The technology we have developed can be helpful for other training companies or even companies who want to just show off their products to customers online. Please feel free to contact us if you would like to license it or order the service from the data center by my company. :)

This entry was posted in News & Events, vSphere API and tagged , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.


  1. Kaustav Bose
    Posted January 17, 2014 at 12:20 pm | Permalink

    Hi Steve
    I have a reading your blogs for some time. I am interested in knowing more about this training environment that you have. Is this something you can write about or share?

    Thank you.

  2. Posted January 17, 2014 at 1:02 pm | Permalink

    Hi Kaustav,

    Thx for the interest. What do you want to know about the online training lab?


    Posted January 18, 2014 at 1:56 am | Permalink

    I would like to know if the 4 systems are physcial ESX hosts or VMs running on a single host. What is the configuration of your ESX hosts in terms of storage and network.@Steve Jin

  4. Posted January 19, 2014 at 10:20 pm | Permalink

    The 4 systems per student in my training lab consist of one desktop VM, two virtual ESXi servers, and one vCenter server. The virtual ESXi hosts use minimum memory of 2GB (version 5.1). Storage wise, it’s 10 GB or so. It’s not enough for production, but for my training lab for API classes, it’s good enough.

    Together with the system is an automation system so that I can deploy these systems based on the number of students in the training and create URLs to be emailed to each student. All these are done without manual interactions.

    Hope this helps. BTW, any particular reason you are interested in these?


  5. Kaustav Bose
    Posted January 21, 2014 at 2:27 pm | Permalink

    Thanks for the reply Steve. I am planning to setup a dev environment at home to play around with the API and was wondering what kind of hardware I need to get.

  6. Posted January 22, 2014 at 3:21 pm | Permalink

    You are welcome Kaustav,

    You probably don’t need the same setting as I have for training lab. My recommendation is to install the free VMware Player and install evaluation versions of virtual ESXi servers and vCenter appliance. Good luck!


  7. Nitin
    Posted September 10, 2014 at 9:57 pm | Permalink

    Would you have training using C#libraries too?


  8. Posted September 10, 2014 at 10:58 pm | Permalink

    The training uses Java for lab. The concept and object model are independent of Java and applicable for other bindings too.


  9. Zhuang Liang
    Posted December 22, 2014 at 7:41 pm | Permalink

    I’m interested in the training. Is it still being offered?

    My preferred lanaguage is Python. I see that there is a Python implementation as well from VMware called pyVmomi https://github.com/vmware/pyvmomi. what’s the difference between vijava and pyvmomi?

  10. Posted December 27, 2014 at 2:31 pm | Permalink

    pyVmomi and viJava are very similar but different implementations in different programming languages: one in Python and the other in Java. The basic concept and object model are the same – we can use pyVmomi for training. Will email you in private.


  11. Gopi
    Posted January 28, 2015 at 2:34 pm | Permalink

    I am interested in API programming especially for custom scripts in vCO.

  12. Posted January 28, 2015 at 3:16 pm | Permalink

    Hi Gopi, thanks for your interest. Do you have a group for the training as I only do private training for the moment? If not, it’s hard to justify the cost. Thanks! Steve

  13. Posted March 7, 2015 at 2:11 am | Permalink

    I’ve a query concerning the post, where am i able to get in touch with the author?

  14. Posted March 10, 2015 at 9:01 am | Permalink

    Saved as a favorite, brilliant website!

  15. Gopi
    Posted March 10, 2015 at 9:51 am | Permalink

    Thanks Steve! But i don’t have group to go for. Is there any opportunity i can look for to get a seat in other group?

  16. Mala KV
    Posted July 24, 2015 at 2:11 am | Permalink


    I am Mala from Bangalore, India, working for Hewlett Packard. I am learning and development program manager for the HP R&D, India.

    I am writing this email in context of VMware Vsphere API. we have a need of training in API for our R&D engineers in Banaglore. we are looking for an onsite training. I would like to discuss in detail about this requirement. It would be helpful if I get some contact to whom I could speak, it would be helpful. My coordinates are given below. please do respond.

    +91 9986330224

  17. Posted July 24, 2015 at 6:50 pm | Permalink

    Thanks Mala, I’ve sent you an email. Let’s go from there. Thanks!


  18. Posted September 24, 2015 at 12:56 pm | Permalink

    Steve, would you be interested in coming to Boulder to give some customized training for SolidFire engineering? We’re very heavy into automation and could probably use your expertise to improve our automated testing.

  19. Posted September 24, 2015 at 2:08 pm | Permalink

    Thanks John, I will email you to follow up the training arrangement.

  20. Posted January 14, 2016 at 12:49 am | Permalink

    Hi John,

    I’m curious about the training, but would be interested primarily in rbvmomi, as I’m mostly extending Puppet to manage vSphere.

    Is that something you might be able to offer?

    Can we discuss the training further, perhaps via email? I’d like to know about costs, etc.



  21. Posted January 14, 2016 at 12:50 am | Permalink

    Erm, Steve, not John. Sorry! Hah.

  22. Posted January 18, 2016 at 11:58 pm | Permalink

    Hi Zee,

    Thanks for reaching out. We don’t offer rbvmomi training, but vSphere API which is the fundamental of the rbvmomi. Should you be interested in the vSphere API, we can discuss further.


  23. anjaneyulu
    Posted January 5, 2017 at 1:40 am | Permalink

    Hi Steve Jin,

    I am interested to learn VMware vSphere API in java or python online and want to know more about this training. Please contact my email ID.

Post a Comment

Your email is never published nor shared. Required fields are marked *


You may use these HTML tags and attributes <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>


    My company has created products like vSearch ("Super vCenter"), vijavaNG APIs, EAM APIs, ICE tool. We also help clients with virtualization and cloud computing on customized development, training. Should you, or someone you know, need these products and services, please feel free to contact me: steve __AT__ doublecloud.org.

    Me: Steve Jin, VMware vExpert who authored the VMware VI and vSphere SDK by Prentice Hall, and created the de factor open source vSphere Java API while working at VMware engineering. Companies like Cisco, EMC, NetApp, HP, Dell, VMware, are among the users of the API and other tools I developed for their products, internal IT orchestration, and test automation.