Tag Archives: best practice

Best Practices for Best Practices

Like many other industries, IT industry has all sort of best practices, from how to use a product to how to design software. I have personally contributed top 10 best practices on how to use VMware vSphere APIs (part 1, part 2).

Given the complexity of IT systems, it makes sense to capture the expert knowledge in the format of best practices. I think there are just too many of them and not all of them are of high qualities, thus I have a mixed feeling about best practices these days.

Posted in Cloud Computing, Software Development | Also tagged | Leave a comment

Best Practice vs Never Practice

Today I read a commentary of latest MSDN magazine by David Platt who is famous for his book why software sucks. In his commentary titled Never, Never Land, he compared our software development to the medical industry on malpractices, and drew the following conclusion:

Certain occurrences are never, never, acceptable. We need to define these events, publicize them and educate developers about what they are and how to avoid them.

In IT world, we’ve heard many best practices. I have personally contributed many of them in using VMware vSphere APIscloud application development, and writing sample code. For consistency with best practices, I call these never land “never practices.” If you search the Internet with “never practice” today, you won’t get any but this post at the top. But we do need more never practices. In the article, David offered one general never: never lose users’ data, and he asked readers to share more.

Posted in Software Development | Also tagged , | Leave a comment

The Mythical Sessions in vSphere and VI

In my previous blogs, I talked about session management for scalability and best practices (#9). In this one, I am going to drill down to the bottom.

To your surprises, there are two types of sessions involved in vSphere SDK:

  • HTTP Session. It’s used to identify a client and tracked by the cookie in HTTP header. Once you login the server, all the successive requests have to carry the cookie header similar as follows


  • User Session. It’s used to identify a login session of a particular user. You can use SessionManager to find out more the details of the current user and other login users from the UserSession data object. The key in the UserSession is in the same format as the HTTP session, but you should never confuse them, or use them interchangeably.
Posted in vSphere API | Also tagged , , , , , , , , | 8 Responses

Top 10 Best Practices Using VMware VI and vSphere SDK (part 2)

#6 Consider Views in Your GUI Application

Most developers don’t know much about the View and related managed objects. The reason for that is that they were mainly designed for VI/vSphere Client in the first place. But nothing stops you from using it to your advantages.

As you can imagine, you can use the View and its subtypes InventoryView, ListView, and ContainerView to monitor changes on the server side. It provides an efficient way to monitor for changes with only these visible in your GUI and nothing more. You can use ViewManager to create views according to your specific needs.

Posted in vSphere API | Also tagged , , | 8 Responses

    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.