Archive

Author Archive

It’s today!

May 18th, 2011 3 comments

After preparing the event for almost two months, we are finally ready. If you join us onsite, here is direction to our venue. We have free food/drinks, and many books/gifts waiting for you, thanks to our sponsors and 12 volunteers. :-)

If you join us online, we have a great news for you. Instead of WebEx, we will have a live broadcasting. Here is the URL: http://bit.ly/osvimeetup, courtesy of @lkilpatrick. You can enter as a Guest on 7PM (Pacific Time) for tech talks.

Here are the 8 tech talks we pulled together. A bit long but

Software Processes: Should You Pick One?

May 16th, 2011 3 comments

While we in software industry debating which process to adopt for development, I found something in manufacturing very intriguing. On a recent article of Business Week The Case for Making It in the USA, it mentioned a GE factory in South Carolina where aircraft jet engines are made. What struck me is the following:

“Teams can adjust the line operation as they see fit to remove bottlenecks and maximize productivity. Recently, two teams came up with different ways to speed up the washing of turbine blades. The plant leader, rather than picking one way as the winner, approved buying equipment for each team to wash the blades its own way.“

I would say it’s pretty

ESX and ESXi: What Google Says About Them?

May 11th, 2011 No comments

Yesterday the VMware community noticed that the direct ESX download links were removed from vSphere download page. When I checked the download page, the ESX link is not with the bundles but at the end of the page in its own section.

To my own curiosity, I wonder what the adoption ratio of these two hypervisors is today. As an engineer, I don’t have sales data in front of me. Even I have, I am sure if I can share it here.

Instead, I tried

Categories: Virtualization Tags: , , , ,

Managing vSphere on Android using VI Java API

May 10th, 2011 1 comment

It’s been a while since I checked the VI Java API fling at VMware Lab last time. When I checked it again yesterday, I found something new and exciting – VI Java API on Google Android. The following comment was posted there by a gentleman called Bob:

Great framework, I used it on a recently published android application (avmcontrol – vsphere client for android), I had to tweak it a bit, however developing for android using vijava was much easier then the same for iOS4 devices.

Following the link, I found

New Licensing APIs Since VMware vSphere 4: Swap Licenses

May 9th, 2011 No comments

Days ago I introduced the new licensing APIs since vSphere 4 and a sample that prints license expiration dates. Here is yet another sample that replaces an old license with a new license.

You may be wondering why anyone would do this. This is in fact not a typical use case. You probably know that vSphere Client does not treat license keys like passwords which are not visually displayed as dots or asterisks. As a result, anyone who can access a vSphere Client can write down license keys and use them elsewhere.

Normally this is not an issue at all. What about

vCenter Server Linked Mode: An API Perspective

May 4th, 2011 1 comment

A new feature called vCenter Linked Mode has been introduced in vSphere 4. It allows several vCenter servers to form a linked mode group. When you connect to any of the vCenter server via vSphere Client, you see all of them behind a single pane of glass.

I got questions from time to time, “what does it mean for vSphere API?” More specifically, if you connect to one vCenter in a linked mode group, will you “see” all of them? If not, how can vSphere Client achieve that?

New Licensing APIs Since VMware vSphere 4: Check License Expiration

May 4th, 2011 No comments

In my previous blog, I introduced the new licensing APIs since vSphere 4. As promised, I will write samples showing how to use the APIs.

Here is the first sample (stay tuned to next one, coming soon). What it does is to check the licenses in vCenter server for their expiration dates, and print them out in the console. You can of course save them into other format, say an CSV file so that you can use Excel to further analyze it. To run the sample, you must change the IP address to the vCenter server, the username/password, as would with most VI Java API samples.

Note that a license could be an

Cloud Computing Reversed

May 2nd, 2011 No comments

I always believe cloud computing is a computing, not the computing of the future. Its elastic and centralized nature allows greater level of sharing that was otherwise impossible within single organizations. It works great for anyone who has dramatic workloads and other cases. But it doesn’t work in all the cases.

Recently a new use case comes to my attention. It actually requires opposite way to cloud computing. You may have known recent developments in bioinformatics. With human genes are sequenced and analyzed, we can

Categories: Cloud Computing Tags: ,

New Licensing APIs Since VMware vSphere 4

May 1st, 2011 3 comments

There has been a total change in vSphere licensing model since version 4. Before that, you need a special/dedicated licensing server which may be more flexible/powerful but also cause many troubles in production environment which made licensing related issues one of the top categories in tech support.

vSphere 4 has dramatically simplified the whole licensing model, and removed the licensing server. To find out how the new licensing model works, check out the VMware vSphere 4 Licensing Guide. It covers both the vSphere side and the portal with which you can easily manage your license keys: splitting/combining, etc. This article does not cover the portal part but related APIs only.

Management APIs reflect product features. If you check the latest API reference, you will find out

Alternatives to Domain Specific Languages

April 27th, 2011 2 comments

I have been reading Martin Fowler’s book Domain-Specific Language during last two months. Now I am not fully done with the book but have a good idea because the rest of the book is about individual DSL patterns, which I think are better read when used.

I got two key points from the book. One is that the key to DSL is semantic model (“The semantics of a program is what it means – that is, what it does when it executes”). You can implement semantic model as APIs/frameworks in system languages like Java. If you are confused by the question, “what is the difference between DSL and normal code on top of high level APIs?

Developing Web Applications With Vaadin

April 26th, 2011 1 comment

After Shreyas shared his experience with Vaadin in his comment on my previous post, I started to play with the web framework. As it advertises, it’s “a Java framework for building modern web applications that look great, perform well and make you and your users happy.”

Based on my experience, I think it’s a great framework that is very intuitive yet powerful. All you need to do is to write Java code in a similar way to using Java AWT and Swing for standalone applications. The minor different is

Vertical vs Horizontal APIs

April 25th, 2011 No comments

Many APIs have emerged since the inception of computer software. Its root can be traced back to the layered software architecture in which high layer calls to low layer. The low layer is not necessarily called APIs, but the other way is mostly true.

Initial APIs were inside a single or multiple vertical call stacks that share same memory space. As a result, you have good performance and ease of use. After that, inter-process communication (IPC) emerged and allowed API services to run in a different process for better

Mark Your Calendar For Our First Community Event

April 13th, 2011 7 comments

After I touted the idea to have a meetup last week, I got quite positive feedbacks from the community. More importantly, I secured sponsorship from my employer VMware so that we can have the event at VMware headquarter. Due to a little time conflict, we will have it on May 18, instead of May 25 as I planned before. It’s still a Wednesday and food/drinks will be served with no charge.

This event was designed for professionals like developers, system administrators. Even if you are not but interested in virtualization and cloud computing in general, you are still very welcome to join us.

The first 100 registers for onsite will have chance to win

Introducing vSphere Guest API

April 11th, 2011 1 comment

If you want to read information about a virtual machine from the guest OS running on it, the vSphere Guest API is for you. It’s a C library coming with VMware Tools. Unlike the vSphere API which can be used anywhere, the vSphere Guest API is only available in the guest OS.

High Level Characteristics

  • It’s read only. You can use it to retrieve state and performance of a virtual machine running on ESX, but you can NOT
Categories: vSphere API Tags: , , ,

Features Not Exposed in vSphere Client but vSphere APIs

April 6th, 2011 10 comments

If you think vSphere Client exposes everything, you are wrong. The vSphere APIs actually expose more features than the vSphere Client, which is a great product. This is one reason why system administrators should learn vSphere APIs.

While writing my book, for example, I noticed that vSphere APIs actually allow you to change guest OS screen size with a simple call setScreenResolution(int width, int height).

Given the time pressure, I didn’t summarize these API only features at that time. To be honest,

VI Java API Community Meetup?

April 5th, 2011 10 comments

By this May, the open source VI Java API will turn 3 year old. While there is a big community out there, we haven’t organized any event for people to meet each other in person.

I think now is a good time to do so. How about a meet up in the silicon valley around May 25(Update: 18 as new date) which is a Wednesday?

Agenda

  1. 6:30PM-7PM. Reception and Networking.

Should You Invent a New Wheel?

April 4th, 2011 No comments

It has become a conventional wisdom in software development that you should NOT re-invent a new wheel – reuse an existing one instead. There are many compelling cases in which re-inventing wheels had caused catastrophic failures as described in Joel’s article Things You Shoud Never Do (Great article BTW). One famous example there was the NetScape’s loss to Microsoft in the browser war more than a decade ago.

Nothing is absolute in software however. You can find opposite cases like Microsoft’s successful re-inventing Windows from Window 95 to Windows XP. Actually in a longer term, you cannot stick with a wheel forever; otherwise we are still using wooden wheels in the pre-industrial age. Same is true for software.

I think the question is really not whether to invent a new wheel, but when. In other words,

Non-Patentable Software Architecture

March 30th, 2011 1 comment

I was working at Rational Software when IBM bought it almost 10 years ago. After the acquisition, we got emails and trainings encouraging us to file patent disclosures. As you may have known, IBM has been the top patent holder in the USA, maybe worldwide as well. At that time, I coined the term “non-patentable software architecture.”

Pattern system was invented to protect and encourage innovations. There are three criteria for a valid pattern: novelty, usefulness, and non-obviousness. Those are all in relative terms. As I can tell, there is rarely anything

Learning Google Web Toolkit

March 28th, 2011 No comments

Google Web Toolkit is an interesting project. It’s basically an AJAX toolkit but presents itself as a Java toolkit. The idea is that you still write Java code as you would with Java AWT, SWING, and the GWT converts it to JavaScript code for you.

But why don’t write JavaScript code directly? Well, you may know Java better than JavaScript. More importantly, Java is a typed language and easier to develop a large system than JavaScript.

Using GWT for Java developers is mostly

Virtual Machine Roaming in the Cloud

March 28th, 2011 No comments

If you have a mobile phone and travel to other areas or countries, you can still use it to make and receive a call. Your phone number does not change. This is called roaming in the wireless telecommunications.

In the cloud environment, your virtual machine can “travel” around as well, maybe from one datacenter to another, from your enterprise to one of your service providers or the other way around, or from one service provider to another.

It’s relatively easy for a virtual machine