SimDK – A VMware vSphere Simulator

March 9, 2010

Just got the following email from Andrew Kutz (@sakutz) who wrote the famous VMware Infrastructure (VI) plug-ins whitepaper and created several other great projects like VMM.

David Marshall, Dave McCrory and I, as well as everyone else at Hyper9, are extraordinarily proud to announce SimDK – a VMware vSphere4 simulator which provides vSphere4 API-compatibility for official vSphere4 clients and other applications built using the vSphere4 SDK.. SimDK is the product of reverse engineering the vSphere4 SDK and is an open source project available at http://simdk.sourceforge.net/. You can read more about this exciting announcement at http://akutz.wordpress.com/2010/03/09/simdk.

“What does it mean for me?”

Well, you can leverage this in many different use cases, for example, testing your application for scalability. With SimDK, you don’t need many ESX servers/vCenter servers. You can just simulate them! Having said that, you do need to test your application with real system with smaller scope, at least once before shipping it.

For me, I am particularly interested in having this as a learning tool. If you don’t have ESX/vCenter server but SimDK, you can still learn vSphere Java API and other bindings of vSphere API.

Thanks for the exciting contribution to the open source community, Andrew, David, and Dave!

Vote for vSphere Java API at VMware Labs

March 9, 2010

Several smart bloggers (Eric Sloof, Justin EmersonIan Koenig, Alessandro Perilli) discovered the VMware Labs web site over the weekend. As many pointed out, it’s absolutely cool.

I actually knew it was going to be online this past weekend, but would like to get official announcement from the company before blogging it. The reason I knew the site to go live is because the vSphere Java API I created is one of the first 10 projects.

As expected, all the projects there are not products, therefore not officially supported. But it’s a great way for the company especially R&D team to know what user and developer communities like. So it’s important to exercise your influence by voting for the projects you like. If many folks like a particular project, it’s possible that the project becomes a product officially supported by the company in the future.

Since you are reading this blog, I assume you likely use vSphere Java API directly or indirectly. Please take a moment to vote 5 star for vSphere Java API here.

VMwareExpress Truck: First Hand Experience

March 8, 2010

VMwareExpress truck came to VMware headquarter before noon today, parking between the gym and office buildings. I went to check it out this afternoon, also enjoyed ice cream in front of the truck.

The following is a picture of the truck. I could use others, but think this one is better because it has the cloud as background. :-)

As you can see from the picture, the truck has bright colors with a slogan saying “VMware – the source for virtualization.” On the right side, there are two big screen showing slides.

Internally the truck body is divided into three parts. The front is a small meeting room; the middle is a demo room for desktop and vSphere products; the rear part is a very small server room behind glasses. Besides the vSphere demos, there are desktop demos like FollowMe desktop that are very useful in hospitals where users move around frequently. You just wave your badge in front a reader to get your desktop and wave again to sign off. Whatever you left as last sign off is what you see at next computer. Great use case for the virtual desktops!

The truck will leave for the 2010 Virtualization Tour. Don’t miss the opportunity to check it out when it goes close to you.

Lightweight Caching Framework in vSphere Java API 2.0

March 7, 2010

In vSphere Java API 2.0, I wrote a lightweight caching framework. It’s still experimental but has a great potential to greatly simplify your development work. Commercial companies already use it in their products.

The motivation behind this framework is simple – instead of keep polling the changes from the server side, you keep a local cache that is made as fresh as possible. The View in the vSphere Perl toolkit is one way to do. It caches all properties of a managed object despite the fact that you don’t need that many at all.

The caching framework in vSphere Java API takes another approach. You tells it what managed objects and what properties you want to be cached. After that, the caching framework does its best to read the properties and keep them as fresh as possible.

Architecturally the caching framework is totally separated from the core of the API. You can take it away without any impact on the rest of the API. This is quite different from other toolkit.

Have enough introduction? Let’s take a look at sample code: Read more »

Who is Hyping Cloud Computing? You Will be Surprised!

March 7, 2010

I came across a blog “5 things VMware must do to fend off Microsoft.” The author Jon Brodkin listed the following musts: cut prices, improve Security, win the desktop war, simplify management, don’t overhype the cloud. Here is a response to the article by Steve Kaplan.

Because I am working on cloud related projects, especially I am the creator of the vSphere Java API that manages the “cloud operating system,” I am curious to know whether VMware is overhyping the cloud computing.

Instead of expressing my opinions, I decided to do a simple research using Google and Wikipedia. To my surprise, the “cloud computing” page does not include VMware in “Cloud computing logical diagram.” The companies listed are Microsoft, Google, Saleforce, Amazon, Yahoo, Rackspace, Zoho. Well, that is good for me to do the next step.

Then, I used Google to search each company’s name and “cloud computing.” I wasn’t testing the performance, but to see how many web pages are there including these keywords. Strictly speaking, the number of hits is not an index of hyping cloud computing, but you can get a good sense on how much marketing effort each company invest into “cloud computing.”

To save you time, I captured the screenshots of each search, and list the most important parts we are interested as follows. Read more »

2 Easy Steps to Add Source Code into Your Blog

March 6, 2010

WordPress is a great blogging software. I am very happy with it except that it does not have nice built-in support to include source code, which an absolutely needed feature for me.

Given the rich set of plug-ins WordPress has, I know there must be some plug-in there already. Today I spent a little time on research. After trying several plug-ins, I decided to use Google Syntax Highlighter for WordPress. You can check out how it looks like as follows.

Thinking many other folks may be interested in having this in their blogs, I decide to share it. It’s also a reminder for me later on for adding source code.

The installation is pretty simple. First, click on the Plugins and then Add New. On the page, type in Google Syntax Highlighter for WordPress. You will get it as the first item in the result list. Just click on the install link at the end of the item. It’s pretty straight forward and I don’t need to repeat it here.

After you install it, you can see a little link “usage directions.” You can find much information and discussion there. Here is what I used for my post:

1. Add the following part with source code into the post editor HTML mode.

... Your Source COde ...

You can change the value of class to any others like cpp, css, xml, html, csharp, javascript, python, ruby, sql, etc. These are pretty much all I need. More can be found here.

2. Add the following part at the end of the HTML source.






It should be working after you save the page.

The trick part is the name attribute in part 1. Somehow after I saved it, I could not find it later. It might be caused by the switching of visual mode and HTML mode. In the end, I switched to HMTL mode and made sure the name attribute there for sure before I saved it. The highlighting doesn’t work if the name attribute is missing. So pay a little attention there.




Building Trusted Datacenters in the Cloud

March 6, 2010

RSA just had its annual conference at San Francisco this past week. Intel, VMware and RSA demoed how to build up layers of trust in data centers in the conference.

The foundation for this new trusted computing infrastructure is a hardware root of trust derived from Intel® Trusted Execution Technology (TXT), which authenticates each and every step of the boot sequence, from verifying hardware configurations and initializing the BIOS to launching the hypervisor. Once launched, the VMware virtualization environment collects data from both the hardware and virtual layers and feeds a continuous, raw data stream to the RSA enVision® Security Information and Event Management platform. The RSA enVision solution is engineered to analyze events coming through the virtualization layer to identify incidents and conditions affecting security and compliance. The information is then contextualized within the Archer SmartSuite Framework™ solution, which is designed to present a unified, policy-based assessment of the organization’s security and compliance posture through a central dashboard.

To get more info, check here.

The news release also mentioned a white paper: Infrastructure Security: Getting to the Bottom of Compliance in the Cloud. It’s authored by many industry thought leaders including VMware CTO Steve Herrod. Highly recommended.

Using vSphere Java API in Jython and Other JVM languages

March 5, 2010

As a by-product, the vSphere Java API makes Jython programming a lot easier. The following is a very simple sample written in Jython to print out the name of the first virtual machine in inventory.

    from java.net import *
    from com.vmware.vim25.mo import *

    si= ServiceInstance(URL(“https://sjin-dev1/sdk”),\
    “root”, “password”, True)
    rootFolder = si.getRootFolder()
    vms = InventoryNavigator(rootFolder) \
    .searchManagedEntities(“VirtualMachine”)
    print “Hello ” + vms[0].getName()
    si.getServerConnection().logout()

As you can see, it really brings in the benefit of VI Java API into Python community at almost no extra cost.

Click here for the presentation for more details including setting up an IDE. For more about what JVM languages you can use with vSphere Java API, check out here.




5 Easy Steps Using vSphere Java API

March 4, 2010

In my previous blogs, I have introduced the vSphere API object model, vSphere Java API architecture. I assume you’ve run through the 5 minute Getting Started Tutorials with HelloWorld sample.

Now, let’s take a look on how to use the API in general.

1. Always starts with a ServiceInstance with URL/username/password, or URL/sessionID. For example,

ServiceInstance si = new ServiceInstance(new URL(urlStr), username, password, true);

2. From the ServiceInstance object, you can: Read more »

vSphere Java API Architecture Deep Dive

March 3, 2010

In my previous blog, I talked about the object model of the vSphere API. Many people like the UML diagram that illustrates how the managed objects are inherited from each other.

Following that blog, I will introduce the object model of the open source Java API that is built on top of the Web Services, as well as some key design decisions I made while designing the API.

The following UML diagram is extracted from the overall model but adds much more details with properties and methods. If you can understand this diagram, you can then easily understand all other managed object types. Read more »

OfficeFolders theme by Themocracy