Monthly Archives: May 2010

Continuous Deployment With Virtualization and Cloud: An Idea for Startups

If you have a new hire, do you want him/her to push code into production system on the very first day? You may be OK with this sometimes. What if it’s a trading system with real money involved? More often than not, you come up with a different answer.

On Wednesday night, I attended a seminar organized by SDForum SAM SIG at LinkedIn headquarter. Pascal-Louis Perez and David Fortunato from engineering team gave a great talk on how they streamlined their software development process to the extent that they normally release 20 times a day to their production system. It’s quite a safe process that it’s OK for a new hire to push code on day one.

Posted in Virtualization | Tagged , , | 4 Responses

VMware SDK Support Program: It’s Available to Everyone

Many people know VMware offers support on products, but not many know VMware actually started to support SDKs. I occasionally got questions on the SDK support. So I think a blog should help here.

A little history first. VMware used to provide support to partners who are part of Technical Alliance Program (TAP), but not to others including customer. VMware partners can also propose integration projects which may get people like me to provide architectual guidance. After SpringSource coming on board, Marty Messer took over the support program and expanded it to everyone as a paid service recently.

What You Can Buy?

The paid support is available in two levels:

Posted in vSphere API | Tagged , | 2 Responses

VMware vSphere Fault Model and Common Faults

A fault is like an exception in Java or another modern programming language. It’s a data structure that holds information about an exceptional situation. Most of the faults are raised by the server; you can normally determine the cause from their fault names.

Close to 300 fault types are defined in the vSphere API. Let’s look at the top level hierarchy shown as follows.


The supertype for all faults is MethodFault. It is extended by InvalidCollectorVersion, InvalidProperty, RuntimeFault, and VimFault. The first two faults are not further extended to any other fault types.

Posted in vSphere API | Tagged , | Leave a comment

Innovation, Openness, Community: Celebrating 2nd Anniversary of vSphere Java API

It’s been two years since the first release of VI Java API on May 22, 2008. As of today, this VMware sponsored open source API has been downloaded more than 8,200 times including 1,000+ direct access to the source code from SVN. More importantly, the API has been widely adopted by VMware Community including partners and customers in their products and operation environment. I was amazed to hear success stories from companies which use this API to manage 10,000 servers.

Besides Java, people also started to use JVM languages such as Jython and Groovy to leverage the API. I think that is the direction for the API to be used by system administrators who look for an alternative to vSphere PowerCLI which is a great product with no choice but on Windows only.

How Was It Started?

The API was started because of my personal experience while helping VMware strategic partners. I found the Web Services SDK hard to use, and related samples hard to follow because of the procedural nature of Web Services. So I started to think how to solve the problem. During March and April 2008, I wrote code every night on my old Compaq notebook after helping my kid to sleep at night.

Posted in vSphere API | Tagged | Leave a comment

Why Google Needs VMware?

If you think Google is a superman and doesn’t need anyone, think twice. Yesterday in its Google I/O developer conference, it announced its Google App Engine for business. The notable features include centralized administration, a 99.9% uptime SLA and heightened security. It also announced the partnership with VMware on cloud portability.

Why does Google need VMware?

In short, it’s about Enterprise. As the “for business” in the name explains, the new service is targeted for enterprises which are not really Google’s strength.

Posted in Cloud Computing | Tagged , | 1 Response

Building Do-It-Yourself PaaS: My VMworld Session Proposals

Most people who are interested in VMworld already know the public voting for the proposal is now open till 26th. If you would like to hear about specific topics, it’s high time to cast your votes.

For each track, all the presentation proposals are listed together in one page. To quickly locate a particular proposal, you can use find feature of your browser. Once you login, I would suggest to browse all the proposals and vote for those you find useful. Casting a vote is just two mouse clicks: one for voting and the other to close the confirmation message box.

Posted in Cloud Computing | Tagged , , , | Leave a comment

Two More Jython Samples Managing VMware vSphere

Yesterday I posted an article introducing the virtual appliance Timo created last week. I am sure some of you have given it a try. I hope you liked it. If you haven’t done so, you can download it from Timo’s post.

The virtual appliance ships with only two samples. Definitely not enough. That is why the community needs to work together so that we can match the functionalities of vSphere PowerCLI.

The following are two samples by David Rousseau who is an independent consultant living in Paris. Thanks for his permission to publish his code here. He owns the copyright of the code. If you want to use it, you can contact him or leave a message in this post.

  1. This code shows how to use the tiny Client REST API I created. Check out this article for more details of the API itself.
  2. list all the hosts, resource pools, virtual machines and vApps that are found at the server.

To help you understand the code, I added a little comment before each file.

Posted in vSphere API | Tagged , , , , | 2 Responses

VMware vSphere PowerCLI Alternative on Linux?

After creating a light virtual appliance last year, Timo Sugliani continued with a full fledged version of virtual appliance with all you need for vSphere development with Java and Jython. This is what Timo called “my linux powershell toolkit.” The biggest advantage is that you are no longer limited by Windows as your development platform.

Posted in vSphere API | Tagged , , , , , , | 4 Responses

BigDog: Next Big Thing After Cloud?

This week I attended an exciting seminar by Marc Raibert. He is a former MIT Professor who founded the Boston Dynamics Corporation in 1992 as a spin-off from MIT. The company develops a quadruped robot called BigDog among other types of innovative robots, including PETMAN, an anthropomorphic robot for testing equipment, RISE, a robot that climbs vertical surfaces, SquishBot, a shape-changing chemical robot that moves through tight space, and etc.

The BigDog is different from other robots in that it’s designed to operate in rough terrain like rocky, muddy, sandy and snowy surfaces. It can walk, trot, jog, climb a slope, follow a person, and even dance. Marc showed several cool videos, some of which are actually available on Youtube as well.

As you may have known, robots have many real world use cases. For example, it can help to carry weapons in battlefields, move heavy logistics for exploring wild areas, etc. In daily life, it can be a house maid who can help to handle house chores, take care of your kids; it can be a replacement for the Segway.

Posted in Cloud Computing | Tagged , | Leave a comment

Real-time Communication Cloud: Can You Take Advantage of It?

Like it or not, many technologies in IT industry have a new tag called “cloud” these days. Tonight I came across yet another one at a SDForum emerging technology SIG meeting. It’s a great presentation Tropo & Moho: Disrupting telco with simple cloud-based communications by Jason Goecke, VP of Innovation of Voxeo Labs.

The company was started at Silicon Valley in late 1990s’ and almost went belly up in the Internet Bubble. It then relocated to Orlando FL and became profitable slowly thereafter. Now it’s emerging again with some cool technologies, mainly the communication cloud service.

Their cloud service is quite different from what most cloud companies offer in that it helps to build voice, IM related applications. To do that, the computing cloud has to connect to the telephone system, and be able to handle voice in real-time. This sets a high bar for most start-up companies. If we have to put the service into one of the IaaS, PaaS and SaaS, it fits in the PaaS where the platform is for real-time communication applications.

Posted in Cloud Computing | Tagged , | 1 Response

How to Enable ESX Server Logs for Troubleshooting

Examining logs is an important way for debugging and troubleshooting a system. There are about ten log files in the ESX server for the hostd agent, which listens API calls, with the same naming pattern as hostd-?.log under the /var/log/vmware directory. The hostd-index file has the number of currently used log files.

The log entry has a similar format to that of VC server logs. Following is a quick sample:

[2008-06-21 07:24:40.769 ‘SOAP’ 64834480 trivia] Received soap request from []: checkForUpdates

The log level can be configured in the /etc/vmware/vpxa.cfg file. Just look for a section like the following. The possible levels are the same as those of VC logs: none, error, warning,info, verbose, or trivia, in an order from less to more detailed messages.

Posted in Virtualization, vSphere API | Tagged , , | 6 Responses

How to Fix Task Timeout in vSphere?

Task management is an important part of vSphere API. It enables asynchronous calls by returning a Task back before the work is actually done at the server side. If a task takes too long (for example, more than 15 minutes to create a virtualmachine snapshot from VirtualCenter), however, it can time out before it finishes. It means you lose tracking of the task.

You can easily fix this issue by changing the configurations. On the ESX server, add the following to the /etc/opt/vmware/vpxa/vpxa.cfg file:




Remember to restart the service:

Posted in vSphere API | Tagged , , | 1 Response

Attention Administrators: vSphere Java API is for You too!

Most people have the perception that vSphere Java API is for developers. It’s true but actually more than that. Administrators can take advantage of it as well.

Today, William Lam (@lamw) posted a Java version of his vdf tool which was originally written in Perl. For people don’t know William yet, he is a system administrator at now and Yahoo before. He created and maintains the famous vGehtto script repository that almost every VI Perl developer knows about. William is also a vExpert and the No.1 contributor to the VMware developer community. Having not touched Java for 4+ years, William got his first HelloVM with VI Java API working in less than 5 minutes, and got the code converted in about one hour.

Posted in vSphere API | Tagged , , , | Leave a comment

Top Ten Things a CIO Should Know About VMware vCloud

Since the term “vCloud” was made public at VMworld 2008 in Las Vegas, VMware has been working hard to define and implement its vCloud vision and strategies.

In 2009, VMware announced vCloudExpress with service provider partners such as Terremark. VMware also submitted its vCloud API spec to DMTF so that the industry could benefit from the standardized management of APIs. VMware also acquired SpringSource in 2009. The acquisition attracted a lot of attention, scrutiny and questions.

Earlier this year VMware acquired Zimbra, the leading provider of SaaS collaboration software, and subsequently it also bought RabbitMQ. Both are now part of the VMware SpringSource portfolio. Last week, VMware and announced which is a joint venture targeting enterprise PaaS cloud. Yesterday VMware announced acquisition of GemStone (pending).

With these acquisitions and announcements, the company’s strategy is clearer than ever. Looking back again, VMware has been building a cloud product and service portfolio under the vCloud umbrella. Some previously misunderstood acquisitions become well aligned in the vision and strategies of vCloud.

vCloud is not the only player in the industry but VMware is well on its way. Given its deep roots in enterprise data center virtualization, no one can ignore the potential of VMware in cloud computing.

To help enterprises better understand vCloud, I offer ten things you should know:

Posted in Cloud Computing | Tagged , , | 1 Response

Facebook HipHop Compiler for PHP: What Is It For You?

I attended a great seminar at Stanford by Haiping Zhao on the open source compiler which converts PHP code to C++ yesterday. Haiping is the tech lead for the open source HipHop project at Facebook.

As many have known, Facebook is a PHP shop with all the front end dynamic pages written in PHP. The upside of using PHP is that it’s very easy to read, write and debug, plus platform independent. The downside is that it’s really slow, probably one of the slowest scripting languages.

Why PHP is slow?

Haiping summarized three reasons, which he thinks are common contributors for slowness of scripting languages in general:

  1. Byte-code interpreter.
  2. Dynamic symbol lookups, including functions, variables, constants, class methods, properties, etc.
  3. Weakly typing. The zval has to evaluate the data type of any variable before any operation. Plus, the PHP array is too generic because it can represent any collection. 

Why Should Facebook Care?

When Haiping joined Facebook, new servers cannot catch up the new users. The server farms became so big that any percentage saving could save the company millions of dollars. Like all the big web companies, Facebook does not disclose the number of servers they have. The size of the datacenter is guarded as a secret. One of the professors did an estimate in his questions anyway: 15,000 to 30,000 servers.

Posted in Software Development | Tagged , , , | 2 Responses

4 Rules for Converting Onyx Generated Code

VMware PM Carter Shanklin (@cshanklin) once gave a great presentation on how to use Onyx with Java development at PEX 2010. I covered it briefly in a previous blog, and left out the “4 rules” hoping Carter would help.

As many of you have already known, Carter moved on to SpringSource division as the PM for tc server. So he has been pretty busy with his transition. With his coverage on both administrator and developer oriented products, he is right on the wave of devops movement. Make sure you follow him at Twitter.

Posted in vSphere API | Tagged , , | Leave a comment

vCloud API Spec 0.9: What’s New?

Some of you may have noticed that VMware released vCloud API Spec version 0.9 last week. The 9 page document describes all the functions and corresponding REST syntax of version 0.9. Better than I had expected, it highlighted changes from version 0.8. So if you have read previous version, you can just scan for the changes with keywords: CHANGED, NEW, REMOVED.

The vCloud API includes the following categories of functions.

Basic functions

Posted in Cloud Computing | Tagged , , | 3 Responses

Tutorial: Easy vSphere Web Apps with Grails and the VI Java API

In a previous post, I blogged about a tutorial on using the open source VI Java API in Groovy by Aaron Sweemer. Two weeks later, he wrote a new tutorial Easy vSphere Web Apps with Grails and the VI Java API.

In his new tutorial, Aaron introduced detailed steps in how to use the VI Java API for a simple web application with Grails framework. The web application displays a web page that lists all the virtual machines with the corresponding guest OS names and whether they support multiple snapshots.

Posted in vSphere API | Tagged , | Leave a comment

    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__

    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.