Archive

Archive for April, 2010

Top 20 Most Popular Programming Languages

April 30th, 2010 No comments

If you are a software engineer, you might have known Tiobe popularity index of programming languages. The index is updated on monthly basis. The following table shows the top 20 most popular languages this month.

The index caught many people’s attention this month because C regained its No.1 position. Java, used to be No. 1 for years, dropped to No. 2. Although percentage wise Java is still very close to C, the declining of Java popularity can be eye-catching.

What Does DevOps Mean for Cloud Professionals?

April 29th, 2010 No comments

I heard about DevOps a while back but didn’t really look into it. My initial understanding was that the roles of developer and system administrator would merge into one called devops. Last week, I attended a DevOps meet up at Palo Alto and got the chance to learn from others about DevOps.

The hosting organization even wrote up a good blog defining what a DevOps is. According to the blog,

DevOps is, in many ways, an umbrella concept that refers to anything that smoothes out the interaction between development and operations. However, the ideas behind DevOps run much deeper than that.

So the DevOps is more about a movement than merging of two roles. The basic idea behind the DevOps is to breach the wall between development and operations.

Traditionally developers ship products which are then run by operators in other companies. In this new age where much of software is delivered as services, the developers run their software directly. When there is a problem, the developers must fix it right away. That is why you see engineers at Google required to rotate on calls for support. When more companies ship software as services, it’s natural that more engineers will have two hats on their heads. The DevOps concept is not really new, but the terminology is.

Key Takeaways from VMForce Announcement

April 28th, 2010 No comments

Today VMware and Salesforce.com announced vmforce.com finally after several weeks of speculations on what the joint project is about. The following diagram I captured from the live webcast of the event answered the question nicely.

The event attracted about 3,500 online viewers, not to mention the audience onsite. This was a very successful event, resulted in more media coverage than anyone can read. If you missed the live webcast, you can check out the recorded one from the website.

Among all the blogs and news coverage, I think you should read the one by Steve Herrod who has done a great job in explaining the joint adventure in a big picture. His blog also has links to other bloggers.

Looking beyond the exciting keynotes and demos, I think the key takeaways from the announcement are as follows:

What The CTO Wants YOU to Know?

April 27th, 2010 2 comments

I just read a book by Ram Charan What The CEO Wants You to Know? Using Business Acumen to understand how your company really works. Having grown up in India, the author has earned D.B.A and M.B.A from Harvard Business School, and has taught at Harvard and Northwestern.

In the book, Ram coined a new term “business acumen” to describe the fundamental capabilities for business success. He claims, “Every business is the same inside, cutting through to cash margin, velocity, growth, and customers.”

Here are more quotes from the book:

When you come down to it, the business is very simple. There are universal laws of business that apply whether you sell fruit from a stand or are running a Fortune 500 company. Successful business leaders know them. They have what I call business acumen – the ability to understand the building blocks of how a one person operation or a very big business makes money. You, too, may learn the fundamentals of cash, margin, velocity, return on investment, growth, and customers.

You can develop your own business acumen. While these ideas may sound complex, they are not. Think more about your best teacher in a subject like chemistry. Once you understand that the atom was made up of protons, electrons, and neutrons, you then had the fundamentals to solve any problem in chemistry. I want to show you that it’s the same with business . When you know the fundamentals, you can “get” the basics for how any business works.

This made me think what the CTO wants you to know, and what “technical acumen” is. Here is my paraphrased version:

Really Easy Way to Clone a Session: Yet Another Contribution from NetApp

April 26th, 2010 1 comment

Recently there were questions in the vSphere Java API forum on how to clone a new session from an existing one. Although vSphere Java API wraps around the basic Web Services API cloneSession() method, simply calling the method doesn’t get what you want.

Why? The signature of cloneSession() is as follows. It returns UserSession, which is embedded inside ServiceInstance managed object in vSphere Java API. While using the API, you always starts from the ServiceInstance.

public UserSession cloneSession(String cloneTicket) throws InvalidLogin, RuntimeFault, RemoteException;

In vSphere Java API, the ServiceInstance and UserSession have one to one mapping. Without a new ServiceInstance around the new UserSession, the UserSession is not much helpful.

Luckily, we got yet another contribution from Eric Forgette who works at NetApp. The contributed code includes a new overloaded method cloneSession() method to return a ServiceInstance object.

As I described before, we’ve been trying very hard to keep the vSphere Java API as close to the basic Web Services as possible. In this case, we decided to break the rule a little bit for good reasons, mainly for usability.

Categories: vSphere API Tags: ,

Zimbra Architecture Overview – A Must Read Document

April 23rd, 2010 2 comments

It’s been a while after VMware acquired Zimbra. In a VMware Console blog, VMware CTO Steve Herrod explained how Zimbra fits in VMware’s mission to simplify IT.

After the acquisition, I actually tried the online demo at Zimbra website. The impression I had was that the Zimbra client was very much like Microsoft Outlook in a browser.

Synchronous versus Asynchronous Calls in vSphere API

April 22nd, 2010 No comments

In a previous article Top 10 Best Practices Using VMware VI and vSphere SDK, I mentioned synchronous versus asynchronous calls in the second best practice “Choose Right APIs.” But no detail was provided there. In this article, which is based on my book VMware VI and vSphere SDK , I discuss all the details.

Some methods defined on managed objects in vSphere API are asynchronous, meaning they return right away whether the operations are done successfully or not. That makes sense for long-running operations; you don’t want to block your current thread by waiting for the return of the call, and you might want to cancel it before it’s done.

For these asynchronous methods, the VI SDK provides a way to track the progress and results after the invocation is returned. As a naming convention, a long-running asynchronous method has _Task as a suffix in the method name, and it returns MOR to a Task. With MOR pointing to the Task object, you can track the progress and even get the result of the operation. For example, the cloneVM_Task() method defined in VirtualMachine is a long-running method that returns MOR pointing to a Task managed object.

Categories: vSphere API Tags: ,

SOA and Cloud Computing: Are They The Same?

April 21st, 2010 No comments

SOA has been a buzzword in enterprise computing for a while. Cloud computing is relatively new one but gaining stronger momentum than SOA. With these two terms, many people get a little confused: is cloud computing just a new name for SOA? And can they play together?

Definitions

Before drawing a conclusion, let’s take a look at the definitions from wikipedia.org:

Service Oriented Architecture (SOA): is a flexible set of design principles used during the phases of systems development and integration. A deployed SOA-based architecture will provide a loosely-integrated suite of services that can be used within multiple business domains.

Cloud Computing: is Internet-based computing, whereby shared resources, software and information are provided to computers and other devices on-demand, like a public utility.

What’s Common?

As we’ve read in various articles and books, SOA is mainly for enterprise; the cloud computing is, as its definition points out, Internet based services. In my previous blog, I mentioned cloud as architecture pattern (CAA), which can be leveraged in enterprises as well. If we compare the SOA and CAA, they look somewhat similar and share some core principles:

Categories: Cloud Computing Tags: ,

Tutorial: Easy VMware Development with VI Java API and Groovy

April 20th, 2010 4 comments

Every time I google for VI(vSphere) Java API, I get something new. Here is yet another one I just found. It’s a blog article Easy VMware Development with VI Java API and Groovy by Aaron Sweemer. By reading his blog site, I came to know Aaron is actually my colleague at VMware working as a Sr. System Engineer in Cincinnati Ohio. He is the principal blogger at Virtual Insanity.

Virtual Appliance: Is It a Virtual Machine or an Application?

April 19th, 2010 6 comments

With the growth of virtualization, a new term “virtual appliance” has been coined for a special type of virtual machines that are used like applications. What does it really mean?

First, a virtual appliance is still a virtual machine. When seen in vSphere Client, the virtual appliance does not look much different from other typical virtual machines. Secondly, the functionality of the virtual machine is limited to that of an application. More often than not, the virtual machine is installed with one application. Because of this, the underlying OS is stripped down only to the minimum required to support that application. This type of OS is also called Just Enough OS (JEOS). All the existence of the JEOS is to support the application in the virtual appliance.

Now, is it a VM or an application? It could be either, depending how you look at it. For ESX/vCenter, a virtual appliance is a virtual machine. You can manage it just like any other virtual machine. For application users, it’s an application, a special one that is different from a normal application.