In a recent experiment, I needed to get the VMware Tools installer. Somehow after searching many different places, I couldn’t find it. While writing this article, I found a link to all the installers organized per ESX versions and CPU architectures. The installers are single files, different from an installable CD which I hacked.
Just finished reading the book The Art of Scalability: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise by Martin Abbott, Michael Fisher. The book draws on authors’ experiences working at PayPal/eBay and other Internet companies, and covers many aspects of scalability including people, organization, process, and technology. According to Yishan Wong, who used to work under the authors and is now an engineering director at Facebook, “the opportunity to directly absorb the lessons and experiences presented in this book is invaluable to me now working at Facebook.”
If you have read my previous article on vSphere security model, you know how it works. Still, you may wonder what roles a particular user may have, as asked in a recent email from one of my former VMware colleagues.
In an operating system, a user is assigned to a group or multiple groups therefore granted a certain permissions. In vSphere, a role is simply a set of privileges and that is it. It’s natural to think of a role as a group sometimes, but it’s really not.
Last month a question was raised in our open source vSphere Java API forum regarding an exception during HostSystem.getSummary() method call. As you can see from the stack trace, the actual exception was “org.dom4j.DocumentException.”
Recently I upgraded my computer and got into all sorts of issues. I first ordered an Intel Core i7 based desktop and a 24’ monitor from Costco website. I know desktop is not the most popular one these days, but for me it’s still the most effective one for programming, writing. For one thing, the tablet even laptop screen is way too small to be productive for coding and blogging. Tweeting may be a different story. But then why would you need a tablet if you can use a smart phone for tweeting? Anyway that is a different topic that doesn’t belong here.
While checking out the exhibitions at CloudExpo weeks ago, I learned about the Red Hat Enterprise Virtualization (RHEV) 3.0. Due to my interest in virtualization APIs, I started to look into its management APIs. With no surprise these days, it’s a REST API.
After installing the UCS emulator, I started to read and try UCS management APIs. I found the following two documents very helpful: Cisco UCS Manager API Management Information Model, and Cisco UCS Manager XML API Programmer’s Guide.
The key concepts of the APIs are pretty similar to VMware vSphere API. For example, it has managed objects which represent UCS resources like chassis, blades, fabric interconnects, etc. They contain administrative states and operational state.
Recently I started to learn Cisco UCS because VCE uses it in Vblock. I thought I would need a real server like Vblock, but to my surprise Cisco has a pretty nice emulator there, meaning anyone can play with it without a real physical server in place.
Here is the download link for the emulator. You will be asked for Cisco.com user id. Just fill an online form if you don’t have it yet. It’s fairly straightforward and quick, and I got mine within one minute.
This month Eclipse turns 10 years old. Ten years ago, IBM donated the initial Eclipse Java IDE, which was then estimated $40M, to Eclipse Foundation. It has since grown to 273 open source projects and $800M portfolio today. Quite an achievement by any standard!
This news release summarizes some of the key accomplishments:
My former colleague Emad Benjamin at VMware has just published a new book on running Java on vSphere. When I was still there, I had the opportunity to review the Chapter 5 of his book.
As many of you know, Emad is a well-known expert on this subject who has spoken at various events like VMworld and helped numerous customers. You can buy his book at Amazon or from publisher directly. Remember to bring it to next year’s VMworld for his autograph.:-)
I think it’s going to be the longest single post I have ever done because we have quite a few openings in our VCE team. We are building our software capability for what I called turnkey software stack for cloud computing on Vblock.
The following are just three openings we want to fill immediately: Sr. GUI Engineer, Sr. Build/Automation Engineer, and Sr. Software Development Manager (update: Principal Solutions Engineer). We also have more software engineer and QA positions whose descriptions are not listed here. If you are interested in any position, please feel free to email me (firstname.lastname@example.org).
Because my new team at VCE uses Maven, I just picked it up again. Last time I used it was when I helped to port the CloudTools to vSphere for the CloudFoundry demo for VMworld 2009 keynotes. Because the project founder Chris Richardson had chosen Maven, I just followed his footsteps forward. After that, I didn’t use Maven.
Like many other industries, IT industry has all sort of best practices, from how to use a product to how to design software. I have personally contributed top 10 best practices on how to use VMware vSphere APIs (part 1, part 2).
Given the complexity of IT systems, it makes sense to capture the expert knowledge in the format of best practices. I think there are just too many of them and not all of them are of high qualities, thus I have a mixed feeling about best practices these days.
Yesterday I went to Microsoft Azure DevCamp in its Silicon Valley office. Like other developer events organized by Microsoft, it featured awesome presentations with nice overviews and demos by top evangelists like James Conard, Wade Wegner, Nick Harris, etc.
As you’ve probably known, Microsoft has been betting heavily on cloud computing. Anyone who is interested in cloud computing simply cannot ignore its Windows Azure, which is a comprehensive platform for developing cloud applications. Note that, the focus is applications, not virtual machines as offered by Amazon and other IaaS providers.
Upon hearing about my leaving VMware, quite a few members in the community sent me emails or tweets asking about the future of the API. Most of them have built products or automation scripts using the API, therefore would like to see the continuous success of the open source project. I am sure there will be more inquiries coming without this post.
After leaving VMware and taking a short break at home last week, I am excited to be part of VCE solution engineering team as an architect at its Santa Clara office. For those who are not familiar VCE, it’s a joint venture of EMC, Cisco, VMware and Intel. My formal title is consultant software engineer which, according to my recruiter, is the top engineer rank in the company.
Today is my last day at VMware.
Looking back, it’s been almost four and half years since I joined VMware in June 2007. At that time, VMware was still part of EMC, and two months later it went IPO (to be exact, spin off). Together with many of my colleagues I watched the historical moment for the company on a very early summer morning. I still remember there were quite a few sleeping tents inside the new offices.
It’s been one plus month since I pushed out the beta code which has since been downloaded more than 700 times. As promised, I am happy to announce the GA of VI Java API 5.0 today. This is the fourth major release after 1.0, 2.0, and 2.1 which are all shipped on time. Predictability is important for commercial products, even so for open source projects like this. I think we’ve demonstrated it in the past three and half years since the first release in May 2008.
Session management is a very important part of vSphere management, especially when scalability is involved. I’ve blogged about this in my previous posts (1, 2). If you haven’t read them yet, it’s high time to do so.
In this article, I am going to share with you a new finding while helping a development team. By default, an idle session is terminated by vSphere server after 30 minutes. The team found that it’s not totally true. They use several types of sessions for different purposes. Two of the sessions remain live even after the 30 minute default while others are gone.
It’s a known bug in VI Java API that it did not escape strings to be included within a XML tag. The potential risk, although very very rare, is that it can blow the de-serialization of a request on the server side. I did get one or two reports on failing on login, which turned out to be caused by special characters like < or > in passwords. As a quick fix, an escaping logic has been added to escape the special characters in passwords.