A programmatic approach to VMware solutions: Part 1

This is the first of a series of planned blogs pertaining to the use of the VMware SDK APIs to seamlessly exploit VMware ESX Server services programmatically.
This is the result of the experience that I have gained by working on a live project to provide VMware support to an existing Java-based enterprise software product.
An early disclaimer is highly in order: All these examples are idiomatic and do not relate to the actual code used in the aformentioned product. Phew! Now that we have got that out of our chest, let’s proceed onto the meat of the matter directly.

The roadmap of this tutorials series is roughly sketched out as follows:

Part 1Introduction to VMware and definition of the scope of the tutorial.

Part 2The VMware ESX server service exposed as a web-service, brief discussion of the WSDL file, generation of the required JAR files for the Java client.

Part 3Introductory code samples – logging on to the VMware ESX server, connecting and verification of session.

Part 4 In depth discussion of Raw LUNs and VMFS disks and their applications in industry. Technical differences and varied approach in code.

Part 5 In depth discussion of the VMware ESX Server SDK.

Part 6 Continued discussion on the VMware ESX Server SDK.

Part 7 Concluding session on the VMware ESX Server SDK.

Part 8Operations on the Virtual Machine -code samples.

Part 9 Operations on the ESX Server (Host) – code samples.

Part 10Operations using the VMware SDK APIs specifically for the Storage domain – code samples.

Part 11Threading, concurrency and gotchas while using integrating the VMware programs with existing products.

Alright, so that is pretty much the road ahead. More sessions can be charted out based on feedback. Any specific operations can be discussed in-depth in future blogs.

Introduction to VMware:

VMware is a virtualization software which basically comes in two flavors – desktop and enterprise. In this tutorial series, I will be dealing with the enterprise server solution – VMware ESX Server and how to write programs to access the services provided by the server, which can be integrated with enterprise solutions. I will be using Java as the client language throughout this tutorial. This is not a series where the internal details/ performance statistics et cetera will be discussed, as also the relative merits of VMware with respect to other virtualization software. Those topics will be, at best, touched upon and skimmed through. Now there are enough resources to implement client programs to avail of the services exposed by the VMware ESX server but not nearly enough resources which show how to actually go beyond writing mere scripts and actually create enterprise ready VMware solutions. More details can be availed on the VMware site or better still, on Wikipedia.

As I have mentioned already, I will not be delving too deeply in the specifications of the ESX Server. Such information is widely available (though the VMware site documentation, in my most humble opinion, sucks!) on the Internet.

That’s all for part 1. The next session is shortly forthcoming. Till then, peace!

William Reardon’s rant against Scribd – justified? I think not.

Hilarious. Ludicrous. Ridiculous. Nefarious.

Four words that came to mind when I chanced to read the comments section of this blog. I had posted a comment on it around a month back. It is William Reardon’s (I have no idea who he is) allegedly technical blog and this particular one was one denigrating and denouncing Scribd. I was amazed at the bilious and vicious wording of the blog (maybe he was pissed off at something?) and more than that, the lack of any justification for his rant irked me tremendously. I promptly stated the fact that the site did indeed provide a way to store files as PDFs (which the author had vehemently denied) and also that it was quite a pointless blog. What happened next is there for all to see in the comments section. One thing is for sure – whatever respect I could have had for the author was quickly dissipated within the first two paragraphs. I guess the author had forgotten that noblesse oblige applies to all. Even programmers.

Goof-off Day

That is right. Today is officially ‘Goof-Off Day’ for me. The title may be slightly misleading in that it implies a deliberate attempt at mooching off a fine wednesday work day. In fact, if it were indeed a story right out of The Daily Wtf, it would definitely be so. However, I reiterate (at pain of sounding redundant but it’s just the goofing-off potion at work) that it is a natural progression of events.  Now onto a more serious discussion of this phenomenon.

In every workplace, but especially in an industry placing so much emphasis on “thinking”, it is inevitable that every so often, even the most assiduous mind-worker has to take a break. No compulsion, no rebellion, no coercion. Our industry is characterized by periodic variations of extreme stess and complete leisure (with a general slope of gradations in between of course but not so pronouncedly as the two end-points). For a complete and statistics-backed analysis of such matters pertinent to Software Management, what better resource to point to than Peopleware. I first came across this title when I was reading through the interesting (but not so useful – my opinion strictly!) book called Smart and Gets Things Done: Joel Spolsky’s Concise Guide to Finding the Best Technical Talent . He had highly recommended this book but the title of the book put me off initially. It reminded me of those weird and untractable academic Software Engineering books from my college days. I hated them. I positively despised, abhorred and reviled them. In hindsight, my revulsion seems to be justified as I am yet to see one positive use of anything mentioned in those fat books. The one and only Software Engineering I would recommend is The Mythical Man Month. And now, Peopleware. You had better go read that book. Now.  Afore you get mired in this goofy business! As I was saying (pray, indeed this is a day for digressions!) every software engineer inevitably finds that he needs a day now and then to just plain do anything but his main work. It can be anything – chatting, surfing, going to the gym, dozing off in the dorm, writing blogs (as I am doing right now!), catching up on news, handling personal calls (which I am definitely not doing right now), going out for a stroll, playing some football (that’s soccer for you Uncle Sam), planning for the evening ahead, meditating or just plain staying in stasis like a zombie (nothing different from the status quo for some). To demonstrate what I mean, let me recount the activities that I have engaged in today – in strictly chronological order:

1. Reached office… made my favorite cup of stomach-burning black coffee… glanced at the headlines.

2. Logged onto system… checked mails for half-an-hour… checked calendar for any meetings.

3. Switched on GTalk, Jabber, MSN Messenger… most folks are green! (how ironical in some ways)

4. Turned JBuilder on… stared at the code that I had been hacking yesterday… closed it immediately.

5. Started two chat boxes… reddit, the daily wtf, new.google.com and youTube… looks promising!

6. Some snide remarks in reddit… messaging some ‘special’ ladies… complaining about the A.C.

7. Discussed Wimbledon with a friend…tried an archery MS-Excel game…tried turning JBuilder on…again.

8. Ran yesterday’s code…crashed the JVM… end of line for JBuilder for today… cleared teammate’s doubts.

9. Called up a few friends…planned for the evening…got to beat the traffic early.

10. Reminisced on the mysteries of life…no answers…forget it… let me go for a nice stroll.

11. Lunch done… cannot work now! …listen to cranium-cracking music for a while (read: an hour).

12. Too tired to work…coffee downstairs with a friend across the floor…the usual banter.

13.  Seems like I’m goofing off major today…well, maybe I deserve it!…hey, I could write a blog on that!

And here I am – eating ten minutes of your time to compensate for the day that I have mooched off… and enjoyed! Tom and Timothy (of Peopleware fame) would certainly approve! The fact is that it is inevitable that one has to just do anything but that which brings in the moolah at the end of the month. In some ways it clears up the head, refreshes the spirit and also it is healthy to take a break on official time! Try it out… works wonders… and the fact is, if you tell me that you do not mooch off at all – I’ll show you a horse that can bark in German!

So folks, how do you goof off your day?