VQL – A Domain Specific Language for Virtualization

February 26th, 2010 No comments

Last summer, Reflex VP engineering Aaron Bawcom visited VMware campus. He is one of the authors of Virtualization For Security: Including Sandboxing, Disaster Recovery, High Availability, Forensic Analysis, And Honeypotting.

During our talk, Aaron told me a secret project called VQL. Because it’s a secret, I didn’t talk about it to anyone. Just before the PEX 2010, we exchanged emails about the VQL. Aaron told me it’s already shipped. So it’s time to broadcast it.

VQL is a DSL that looks like SQL, easy to understand and easy to use. Unlike SQL on data, it’s on virtual resources in vSphere environment. The following is a quick sample. It gets back the VMs installed with SQL servers with verions newer than 9.2 and they are running 10 minutes ago.

SQL Server and VersionMajor >= 9 and VersionMinor >= 2 project vm at 10 minutes ago

Categories: vSphere API Tags: , ,

Why Should ISVs Care About Virtual Appliances? A Personal Testimonial

February 25th, 2010 No comments

Several years ago, I tried to install SAP NetWeaver. It took me more than a day, and N installations plus N-1 removals before I finally got it right. I searched with several search engines and read many forum postings on SDN. Hinted by one post, I renamed the 13 character machine name to 9 characters, then the magic happened all of sudden.

The result wasn’t too bad but one day of time wasted. Many things could be improved to avoid the pain there. The foremost is the installer – why didn’t it check the hostname and alert me of the limitation?

At that time, I didn’t know VMware. After joining VMware, I knew more about virtualization and realized that a virtual appliance (VA) could have been a big time saver for me had the NetWeaver been packaged as a VA.

The pain as such can easily push potential customers away. It would be a different story if you have somewhat dominance in the market like SAP in enterprise ERP – you can charge big bucks for consulting and training services. Most other ISVs are not in such a position. Even for SAP, it faces strong competitions from others like Oracle.

As a side note, SAP has a virtualized NetWeaver evaluation edition. More info can be found about the SAP-VMware partnership.

In general, ISVs can leverage virtual appliances in two different ways:

Categories: Software Development Tags: , ,

3 Easy Ways Connecting to Your VM in Private Cloud

February 24th, 2010 30 comments

Several folks asked me about how to use vSphere(VI) Java API to connect to a VM running on vSphere. The quick answer is vSphere Java API is not designed for this. You will need VMware Remote Console, browser plug-in, remote desktop/VNC, SSH client etc. However, it can help you to get the information required by the console or plug-in. Tal Altman from CISCO suggested that it be a topic for doublecloud.org. Here it is.

There are 3 ways to connect to the VM from your client side outside the vSphere and Web Access which have built-in support for console access.

  1. Using VMware Remote Console which is a standalone application
  2. Using browser plug-in to either IE or Firefox (Note: this is NOT supported by VMware. Please don’t call the company tech support for this.)
  3. Using Remote Desktop, VNC or SSH

The first two connect to the ESX host, and work even there is no guest OS installed on the VM. The last one assumes you have guest OS installed, and have IP network and server components in place already.

Note that these 3 ways work for the VMs in the public cloud as well if the related ports are open in your firewall. It is, however, not the case for most enterprises, therefore I particularly say it’s for VMs in private cloud. If you don’t have firewall issue, feel free to give it a try with public cloud as well.

Let’s go over one by one in details and see how vSphere Java API helps.

What Makes A Platform Stick?

February 23rd, 2010 No comments

Inspired by the book Made to Stick – Why do some ideas thrive while others die? by Heath brothers, I would like to give it a try on software platforms rather than the ideas covered in the book. Although the computer industry is still relatively young compared with other industries, it’s quite dynamic and we’ve seen some platforms came and died while others came and thrive. So, what are the general characteristics for such sticky platforms?

The authors of the book summarized the 6 principals to make ideas stick, meaning the ideas change either the thoughts or/and behaviors of the receivers. These principals are Simplicity, Unexpectedness, Credibility, Concreteness, Emotions, and Stories. They are shortened to SUCCESs for easy memory.

Most of these principals don’t apply on software platforms. Unexpectedness, for example, may be the last thing you would like to see of a software platform. For software platform, we definitely need predictability, among other qualities.

After thinking the problem over, I summarized 4 basic principles for a software platform to stick: Simplicity, Extensibility, Ecosystem, and Developers, in short SEED.

VIJava Browser – A Great Tool To Recommend!

February 22nd, 2010 19 comments

While browsing the project home of VI Java API, I found a link to a great tool contributed by pitchcat. It is a standalone Java application that shows managed objects and data objects in a tree hierarchy, and all the methods attached to a managed object.

I highly recommend it to all the VI Java API developers. Why? Although you can get similar information from MOB, vijava browser gives you an overview of all the managed objects and clear paths to any managed objects or data objects.

Categories: vSphere API Tags: , , ,

More Thoughts On Rich Internet Applications And Applications In General

February 21st, 2010 No comments

Compared with advances in other application development, the rich Web application development using Java is not quite there yet. Instead of simplifying JavaScript, AJAX, and JSF, we need a new head start. Don’t get me wrong, some of them are still needed and continue to work well for plain Web applications.

“Develop Once, Run Everywhere”

Adobe Flex has done a fairly good job for Web. Even better the same code can be easily tweaked to run as a standalone application with Adobe AIR. This was once an expectation for Java when it first came out to run as an Applet. Somehow it didn’t succeed in its birth place, but gained its ground at the server side instead.

JavaFX from Sun is a nice try but too late in the game. More importantly, Sun is not a client software company like Microsoft who was also late with SliverLight but has client side expertise and managed to compete. I don’t think Sun will reclaim its already lost client market at all, and therefore JavaFX is likely a candidate to be axed after Oracle’s acquisition. The investment on JavaFX should have gone to Java Swing, which is a lackluster compared with IBM SWT.

A New Member Joined vCloud Initiative For Cloud Computing

February 20th, 2010 No comments

newScale recently announced it would support VMware vCloud API in a press release.

San Mateo, Calif. February 17, 2010 – newScale®, Inc., pioneers of the self-service IT storefront for the enterprise, today announced it will support the VMware vCloud API, a key component of the VMware vCloud initiative. Enterprises and service providers integrating with the VMware vCloud API can now use the newScale FrontOfficeTM Suite to effectively manage and control self-service requests for cloud resources as well as their physical and virtual environments. 

This announcement underscores newScale’s continuing commitment to supporting multi-vendor, cross-platform data center and cloud infrastructures. The newScale FrontOffice Suite –  a complete set of Service Catalog solutions for managing IT services from cradle to grave –  integrates with VMware vSphereTM 4 and VMware vCenterTM Server. newScale is also a member of the VMware Technology Alliance Partner (TAP) program. By leveraging the VMware vCloud API, newScale demonstrates its ongoing support for a wide range of virtualization and cloud infrastructures, giving newScale customers maximum flexibility, efficiency, and agility in their data center deployments.

Learning Spring Faces, Security, Testing and Grail

February 19th, 2010 No comments

Done with the four day training, finally! It’s pretty exhausting given that I had to get up two hours earlier to match the Central time schedule.

Spring Faces

I talked about JavaScript and AJAX two days ago. They are all good to some extent, but seemingly disconnected from the server. You have to think and manage the Web app as two pieces, bad for the productivity.

JavaServer Faces (JSF) technology was created to solve this problem. It a server-side framework, which provides GUI components, manages their states from the server side, handles events, and etc. You can then develop a web app more like the standalone application in some sense. Because JSF manages the state from the server side, it uses more resources and less performant than it’s JS/AJAX equivalent.

Spring Faces is not a replacement for JSF, but complements in the “Spring” way. It facilitates deeper JSF and Web Flow integration, manages JSF components’ states, and provides more lightweight JSF components. Therefore, you can get leaner web application than using pure JSF.

Debugging

Several tools can be handy for your debugging:

Learning Web Flow With Spring

February 18th, 2010 No comments

Web flow is the most confusing part so far in RIA with Spring training, therefore a whole day was dedicated to this.

From a very high level, a Web flow is just like a wizard in a stand-alone application. It guides a user through several steps of interactions. Complicated wizards may branch out depending on the information entered in early steps, so do the Web flows.

Well, Web environment has its uniqueness and challenges. Spring Web Flow is designed to ease it. Like any other framework, you have to overcome the learning curve before you can really take advantage of it.

The good news is the Web Flow still fits in the MVC framework overall, just with a new set of handler mapping, handler adapter, plus the new flow executor.

Learning JavaScript + AJAX

February 17th, 2010 No comments

It’s the second day of the four day training. A lot of things were covered:

  • Modern Web UI including progressive enhancement, accessibility, and design.
  • Applying Spring JS, an abstraction around other AJAX toolkit. The coverage includes AJAX events, client side validation, and rich widgets.
  • Working directly with Dojo Toolkit, including DOM scripting and Dojo widgets (Dijit).

The progressive enhancement is a great concept. The basic idea is to have your web pages start with plain HTML and then “decorates” them with richer L&F and more interaction on the fly. The key benefit is better compatibilities with different browsers which all support HTML but not necessarily JavaScript. When JavaScript is supported by the browser, the pages are enhanced by the embedded JavaScript; when not, the pages just render well as normal HTML.

Learning Spring MVC

February 16th, 2010 No comments

Today is my first day in a four day training – Rich Web Applications With Spring. It’s a pretty intensive day from 7AM to 3PM which covered the following:

  • Quick start with Spring Tool Suite  and reference application.
  • Spring MVC essentials, including architecture, controllers, conventions.
  • Using layouts and views, including composite views with Apache Tiles, and multiple rendering technologies like Excel, PDF in addition to the HTML.
  • Processing form pages, including data binding, validation, and form tags.

I used Java Servlet and JSP about 10 years ago while working on a NMS project. At that time, there was no good MVC framework for developing a large web application. You had to program against the Java Servlet APIs directly. Jason Hunter’s book Java Servlet Programming was my favorite book.

A Meteorologist In A Computer Company

February 14th, 2010 No comments

During VMware PEX last week, a partner told me a story. His wife’s company had a party where he had a conversation with the company CEO. Being asked what he did for his company, he explained the cloud related projects and his roles. In the end, the CEO said, “Oh I see, you are a meteorologist in a computer company.”

Well, this is an interesting story. But I take it as a sign that as an industry we haven’t done enough to explain the cloud computing to the potential customers like the CEO. This eventually hurts the transformation of IT toward this new computing model.

Categories: Cloud Computing Tags:

VMware PEX 2010 – Day Three

February 12th, 2010 3 comments

I know I haven’t written the day three of my PEX yet. You know there was a celebration party at that night and we had a really good time there. Now I’m back and have more time to write about day three.

CTO Steve Herrod’s Keynote

This is the most important part of day three, followed by the celebration party:-). If you are interested in knowing what is happening in VMware R&D and what new products are coming from VMware, you don’t want to miss a single minute of Steve’s keynote. That is why I got there early and sat in the front.

VMware PEX 2010 – Day Four

February 11th, 2010 No comments

After my presentation yesterday, I had more time on the break-out sessions and self paced lab today.

Accelerate Your Services With VMware Services Automation Tools

This session is by Budianto Bong, VMware Sr. Product Manager. He demoed three tools from VMware PSO that help consulting partners: Migration Manager, Desktop Reference Architecture Workload Simulator, and HealthAnalyzer. The first one is not the P2V converter, but a management tool that tracks, manages, and reports large scale migration projects.

Using the VMware vSphere PowerCLI for Automated Installation And Configuration of ESXi and vCenter for ISV Partners

This is a joint presentation by VMware TAM Ken Brady, and CareFusion network engineer Fisk Shogren. Ken introduced the basics of PowerCLI and VMware TAP programs. Fish showed off his PowerShell code that is used to set up the environment, which took 2 days, if lucky, of manual work before. It’s a great example on how much you can get by automating vSphere API, particularly with PowerCLI. I handed over my business card so that Fisk can show more of his code later.

Getting Stoned With “Project Onyx

VMware PEX 2010 – Day Two

February 10th, 2010 No comments

The day started with the keynote by Carl with lots of coverages on cloud computing and what that means for VMware partners. Backed by virtualization, cloud computing brings in efficiency, agility and freedom of choice to the cloud adopters. It’s interesting to see that even CostcoConnection has an article about “computing in the cloud.”

After the keynote, I went to the self paced lab and then the Exhibit Hall. That is the most fun part for me to be in a VMware conference. I can see how our partners use our technologies and product, how they use our SDKs/APIs, what more they want from us in terms of partner enablement. You don’t normally see so many demos in time and have deep conversations face to face.

Categories: News & Events Tags: , , , ,

VMware PEX 2010 – Reception Party

February 9th, 2010 No comments

After posting my last blog yesterday, I went on to the reception party. Besides good food, I had opportunities to talk to several companies with cool technologies and services.

Categories: News & Events Tags:

VMware PEX 2010 Kicks Off Today In The Cloudy Las Vegas

February 8th, 2010 No comments

Today is the first day of VMware Partner Exchange. According to a company news,

VMware Partner Exchange 2010 Kicks Off With Record-breaking 2,600+ Attendees, 55 Sponsors and 45 Countries Represented

Third Annual Event Grows More than 60 Percent Year over Year; VMware Continues to Invest in Solution Competencies, Partner University and Education to Help Partners Deliver Virtualization Solutions to Customers on the Journey to Cloud Computing

Categories: News & Events Tags:

Can You Express Your Love With VMware For Valentine’s Day?

February 7th, 2010 No comments

While reading my personal emails today, I also checked the spam folder. One email title caught my eyes instantly, “Express Your Love with A Domain Name.” That sounds like an interesting idea for techies.

Following the lead, I was thinking what VMware can offer to help you to express your love. Obviously VMware has done far more than expressing. According to our CTO Steve Herrod, VMware VMotion had saved 74 marriages by the time of his keynote at VMworld 2009 (32’35”). I bet the number is even more today.

With that statistical in mind, one quick solution is the VMotion and DRS which balance the computing workload, also your work and life I suppose. It’s great but only for the system administrators who have access to vSphere and VMware Infrastructure. For other people, it’s not that practical.

Luckily, VMware is not only about business, but also about personal. Here are several ideas you can consider for this coming Valentine’s day:

Categories: News & Events Tags:

Automatically Generate Your Java Code With Onyx?

February 6th, 2010 2 comments

During last Friday VMware beer bash, I bumped into Carter Shanklin. He told me he’s ready show off how his Onyx project can help Java developers using VI Java API at Partner Exchange next week in Las Vegas. If you will be there, be sure to attend his session TEXIBP1007 – also known as “Getting Stoned with ‘Project Onyx’” on Thursday at 11:30.

The Mythical Sessions in vSphere and VI

February 5th, 2010 7 comments

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

vmware_soap_session=”5229c547-1342-47d1-e830-223d99a47fba”

  • 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.