February 4, 2012

Organic Cloud : Modeling After The Natural World

treeI am very prone to drifting off into thoughts about patterns in real life and how they correlate to things I deal with in my work life. I am fascinated by the thought of the constantly blurring line between ourselves and technology. It is really amazing to think about how social and mobile technologies have changed they way we work, communicate, and relax. I am just as guilty as the next guy of constantly tweeting during my vacation, contacting someone through Facebook only, or the fact that I have not written an actual letter in over ten years.

It is out of this day-dreaming that I often start thinking about current cloud designs and how I would change them. In my mind both public and private cloud have several core demands that have been around for a while and are an essential part of expectations in any computing utility. A simple list of these would be things like being cost effective, performant, reliable, secure, and scalable. I could spend a large amount of time defining the rules about what makes a good “cloud”. But instead I will move forward with the assumption that a cloud service provides the same or better relative utility while being cost effective to the consumer. You can find a great many blogs and personalities out there that do a much better job of defining a robust cloud service offering. My thoughts our more focus on how that actually happens. [Read more...]

The VCE Model : Yes, it is different

This post comes out of a slide deck I authored last week for a partner event. I decided I was going to try and illustrate why the VCE model really is such a different approach to other datacenter and private cloud models.

Normally my blog is light on vendor specific commentary. I see myself more as a virtualization geek who just happens to work for an awesome company (EMC) than a hardcore analysis/blogger. But I have seen so much messaging lately that distorts the VCE message, I really felt the need to offer my own perspective. [Read more...]

Besser UBER : Celerra VSA UBER v2

**** Go here for new version of UBER VSA ****

What is better than UBER?

UBER version 2.

It has only been 19 days since the original release of the Celerra VSA UBER edition for the masses. The response has been overwhelming and encouraging. And out of that appreciation I am excited to present the Celerra VSA UBER V2 (version 2). It has a host of new features and now features the combined input of the vSpecialist team to put the shine on it.

If you are not familiar with the original feature list with the first UBER version, then go here first.

Here are the new features and enhancements in UBER Version 2:

  1. Even shorter initial setup
  2. Better network configuration. Removal of old style Control Center config from original VSA (Thanks to Eric Hollis & Kevin Z for help)
  3. Completely automated addition of storage. You heard that right… If you want to add more storage simply shutoff the VSA. Add as many hard drives as needed and turn back on. The VSA now detects the new VMDK’s, partitions, formats, mounts, performs Clariion configuration, and adds to storage pools. Gone are the days of manually having to configure. See video below for demo. (This by far was the biggest request)
  4. The VSA now includes a Rapid Configuration script for setting up CIFS, NFS, and Replication between 2 VSA’s. This script will accelerate the creation of a baseline working set of VSA’s. We highly recommend you use this after becoming familiar with the Celerra management first. It is not meant to replace Control Center. (Thanks to Clint Kitson for the single-handed genius of this feature)
  5. Now the standard configuration wizard includes setup of NTP.
  6. Further speed improvements around network latency. Should see more stable and lower access times with NFS and iSCSI.

Couple outstanding issues:

  1. Some setups will get alerts around ‘slot_3’ being reset or in a stale state. You may ignore this error. This slot is for the unused data mover. Still narrowing down why this happens to some setups.
  2. If you go far along in the setup of replication and run into funky issues it is easier to redeploy the VSA and start over. Remember this is a simulation of a set of hardware. Not everything reverses as easily as it deploys. With the new wizards it is quicker this way too.

The new downloads are:

**** Go here for new version of UBER VSA ****


Please leave comments with opinions, questions, suggestions, or favorite recipes. The more comments the more inspired I will be to get the next rev out. Or maybe even something new that is not Celerra…

And while you wait for your download, watch this video showing off the new features(go full screen for more detail):

.nick

Celerra VSA – UBER : Smaller, Faster, Easier, Geekier

**** Go here for new version of UBER VSA ****

Have you tried the EMC Celerra VSA before? If so, then forget everything you experienced. If not, then welcome and let me introduce you to easiest way to test enterprise-level features with NAS and virtualization.

I won’t go through the history or the advantages of the Celerra VSA because Chad Sakac does a much better job here, and here.

I am a greenhorn at the EMC vSpecialist team. I have just barely three notches on my belt (if notches represent months). So everything is new to me. I am constantly bothering my direct manager with questions like: “Why do we do that?” or “How did this come about?”. This is because I am looking at everything and trying to understand the why behind it all. And this is part of the reason I ended up diving under the hood of the Celerra VSA; to find out what made it tick and why it wouldn’t tick faster.

But first a quick background story: over the last month or so I have been doing my first tour of duty. I did my first customer presentation to a huge company (very near the top of the Fortune 500 list). I got involved in a proof of concept at another major client near Washington D.C. And I even got involved in helping design labs for VMware Tech Summit and major demos for EMCWorld (more on that after the big day). I have never been surrounded by such a quantity of talented (and cool) people or challenged like this before in my life. Needless to say I am loving every minute of it.

During this first tour I had the opportunity to install the Celerra VSA for the first time. And I will be honest: I was disappointed in it. I don’t like things that take so long. One of the reasons I write in so many scripting/development languages is because I hate repetition. So even before I started setting up my first VSA, I looked at the manual which, while VERY well-written, was way above my tolerance for length. Then and there I made it a personal goal to cut those steps down to as few as possible.

But, back to my first time to build…
An interesting thing happened the first time I did it. It was faster, way faster. In fact the Senior guy who I was assisting took a look to check my work and was sure they were broken. In his words: “It is too fast, it must not be actually doing anything.” But, after a little testing he confirmed that it was working perfectly and quickly. He asked me: “What did you do?”. I looked at him, blinked, and said: “I have no idea…”

I tend to venture off the beaten path in a lot of things. Evidently me skipping around trying to figure *why* each step needed to be done (for my future script) resulted in me fixing an issue. Problem was I had no earthly idea what I did or how.

So fast forward to now- I have spent the last good chunk of April figuring out the how and why of the Celerra VSA. I’ve not only figured out the speed tweak steps. But also I discovered memory improvements, boot speed improvements, and even finished a complete automation of the configuration process.

So in summary here are the new features of what I have dubbed the Celerra VSA –UBER Edition:

1. Completely automated install: On first boot a configuration wizard will ask a few questions and automatically reboot. On second boot everything is configured and ready to use. Also configuration takes care of ALL identity issues with generating MAC addresses. Average run through from first boot to complete is <2 minutes for me.

2. Much, much, much faster. You have to try it to see it. No, seriously it evens runs great on my Core Duo.

3. Low memory requirements: It will now run with 1024 MB of RAM (it is set this way by default). If you need to setup replication it may need more but will use much more efficiently.

4. You should not need to login to the console for anything. All configurations can be done through the Control Station web console (hint: Tools -> Wizards).

******* WARNING *******

Do NOT run a Celerra VSA on ESX on VMware Workstation. You will always get horrible performance this way. On a laptop or desktop use it directly on VMware Workstation 7 with the workstation version. On a server compatible with ESX(i) 4u1 use the OVA version.

************************

The Celerra VSA – Uber comes in two versions:

1.       Celerra VSA – UBER for ESX (OVA) (download link)

2.       Celerra VSA – UBER for Workstation/Fusion (ZIP) (download link)

I am not going to lie; this was at least 40-50 hours of late night work trying to reverse engineer something I never used as a customer. It was difficult and damaging to my ego in many spots. So I ask one simple favor from you. Try it out…

Obviously I think I made something pretty darn cool. But, what do you think? If you see an issue or have a suggestion please post a comment letting me know. I am curious what others notice and if they see the same improvements I do.

I hope this helps someone out in their labs somewhere. Please drop a comment if it does.

.nick

****** Update ******

Here is a video on the installation process:

vSphere Mini Monitor : Now With More Cowbell!

The Twitter fail whale error message.
Image via Wikipedia

Roughly three weeks ago I released my first vSphere tool called the vSphere Session Monitor. The response to this was extremely positive and hopefully accomplished my goal of encouraging others to spend some time experimenting with their own ideas. In my mind, the success of adoption of cloud technologies within an organization will be tied to how they grasp the extensibility of virtualization using vSphere.

For me, a lot changed in the last three weeks. I announced I was joining EMC and leaving my current company which, when the dust settled, ended up resulting in a nice two week temporary unemployment period.

Back when I released VSM 1.0 and before the icons were dry on the shortcuts, I had already written up a mental list of features I wished I had added to it. So I quickly got busy working on the new version. However, progress was quickly slowed down to a crawl by the fact that I no longer had an environment to test against. So after spending half a week getting a decent lab setup I finally got back to finishing the new tool. I feel this version will really show that there are almost unlimited possibilities to what you can do with the API’s that VMware has provided.

First things first, the vSphere Session Monitor will from now on be officially renamed the vSphere Mini Monitor. This is version 2.0 and brings a massive list of features, brand new UI, and structured approach to how it is designed.

So here is what is new in 2.0:VMM UI

New UI
Because of all the new features I had to revamp the UI to be better organized and look slicker.

Saved Configuration
One big request from the last release was the ability to save credentials when the VSM (now VMM) was closed. The new VMM will save all configurations when closed including username, password, vCenter URL, and alerts and channel settings. I also implemented encryption of all security-sensitive data (passwords, tokens). These configurations are stored per unique user securely for multiple user workstations and all encrypted credentials will not work for another user.

Alerts
Now instead of just monitoring sessions on your vCenter server, the VMM will now monitor a large number of changes to multiple objects. Within the UI there is now the ability to turn on or off specific Alert categories. Here is a list of the possible choices:

Sessions
New Session*
List Sessions*
Terminated Session (New!)

Datacenter
Not very much here yet

Cluster
Creation
Deletion
Changes (HA, DRS, etc)

Host
Connection/Disconnection
Addition/Removal
Changes (Network, Storage, Maintenance Mode State)

Resource Pool
Creation
Deletion
Changes

Virtual Machine
Creation
Deletion
Changes (Device Add/Remove, CPU, Memory)
Snapshots

Distributed Switch

Creation
Deletion
Changes (Uplinks, Port Groups)

Datastores
Renaming

*original features

As you can see, this was quite a lot of work. All the alerts are based around letting you know something is occurring and if available who is doing it. The really cool ones are at the Virtual Machine and Host level. Those were quite fun to code.

ChannelsVMM Channels
In VSM 1.0 there was only one method to alert the user, the notification tray. But, what if you weren’t looking at your tray? What if you were down the hall eating an apple and getting the newest gossip from the front desk guy/girl? That is where the definition of ‘Channels’ comes in. You can now choose to alert via multiple methods. Here is a list and explanation of each:

Notification Tray
This is pretty similar to the VSM 1.0 except with the addition of new alerts it can be quite a bit busier. I also changed it to condense similar messages into one popup instead of multiple. This means if someone changes the CPU count, removed a CD device, and renames a VM you will see one popup showing all three changes.

Email
Pretty self-explanatory, this will basically send an email to you or a DL with the exact text as the notification tray popups. This requires SMTP relay rights for the IP that VMM is sending from to the email domain VMM is sending to for the server specified in the settings. This really comes in handy when you are going to be out of office or away from your desk and want to still see the alerts.

RSS Feed
This is my second favorite channel and works really well. Basically you set an output path, either local or UNC, that VMM will drop an RSS.XML file into. You can have the path be a folder on a web server or run a script to copy it to one. This will provide an RSS 2.0 compliant feed of the last thirty VMM alerts and will be updated each new alert. This is very handy for those that don’t like the notification tray or want to share alerts among a team.

Twitter
Yes, you read that right. By far my favorite feature in the new VMM 2.0 is that you can now use Twitter as a channel for alerting. This required quite a bit of elbow grease and testing but works wonderfully.

When you enable this channel the VMM will open a browser window prompting you to Authorize VMM for a Twitter account. It will also open an input window for you to enter the corresponding PIN number. After you login into the chosen Twitter account and approve the VMMTool application, Twitter will supply a PIN which you type/copy/paste into the VMM input window. This will authorize VMM to update this account’s tweetstream with alerts. This authorization is per workstation and per user. It will stay authorized until you remove access via Twitter or delete the VMM application. All this is done via OAuth and even the tokens used are still encrypted at rest just to be sure.

This rocks for several reasons. If you are a Twitter addict like me you check your tweets every five minutes. Now your vCenter server will keep you up to date on what is going on from your cellphone or Twitter client. Big things to remember on this are: Don’t use your personal Twitter account for this. Make sure you make the Twitter account private to control who sees the tweets. Also, Twitter’s API is a little hit or miss sometimes(Fail Whale). Even though I get a update successful message back, sometimes the tweet may not show. I didn’t build in tweet validation yet so your mileage may vary. And remember that you don’t own the data on Twitter.

The purpose of the vSphere Mini Monitor is to provide a simple extension of the vSphere Web SDK to allow for real-time alerting of important user-based events on your vCenter server. It is not meant to replace a holistic monitoring platform. I wrote it to be secure, multithreaded, and lightweight. It is simply a cool geeky tool.

One quick disclaimer: I do not endorse using the VMM for anything other than your whitebox home lab in the closet under the stairs and even then only late at night when the wife and kids are asleep. I am not responsible for anyone opening up Visual Studio or a Java IDE and spending countless hours drinking Mountain Dew and learning object class structure. This product is not endorsed or affiliated with EMC Corporation at all. I technically don’t work for EMC till next week but, I am future-proofing this post.

To download the vSphere Mini Monitor click one of the links below. I have built both x86 and x64 versions. I only ask three things in return for this tool:

  1. Please post a comment below with your feedback. Bad, good, or indifferent.
  2. If you are a Twitter user follow me at @lynxbat to catch updates as they come out.
  3. Think real hard about the last cool idea you had. Now plan sometime this week and start working on it.

Download x86 version
Download x64 version

.nick

Look I’m A Tool! : vSphere Session Monitor 1.0

Patio hacking

(version 2.0 is now released! Go here)

So eight days ago I decided I was going to give another try to write an application that uses the VMware vSphere Web SDK. I had attempted this at least a year ago and never finished anything because of *insert excuse here*.

I always have ideas for cool (at least in my mind) tools swirling in my head. Even though I am a data center quadruple threat kind of guy (Microsoft, VMware, Cisco, and EMC), I like to do scripting and development to sharpen my mind. I always thought I was going to be a developer in college and love to turn ideas into reality.

So last week I fired up Visual Studio 2008 and started spending some nights coding. Along the way I found out some interesting things, caused a great blog post, and had a blast learning more about vSphere. I have a tendency to roll my challenges together and so decided to make this slick as possible including:

  • Making it a Tray Icon (A must for this app)
  • Doing all forms in WPF which I have never worked with before (XAML crash course)
  • Making all background processes multithreaded and eliminating the need for timers
  • Learning how to effectively use PropertyCollector.WaitForUpdates method to touch vCenter as little as possible
  • Building a proper MSI setup

On top of all this I went and wrote all the operations, connections, and credential pieces into classes for re-usability.  I am a bit of a perfectionist and probably went WAY overboard without much gain.

So without further self flagellation and glorification I present the: [drain file 2 url vSphere Session Monitor]

 

This little bad boy right here’s only purpose is to keep you informed of who is on your vCenter server.
Let me walk you through the steps to try it out.

Download the x86 installer from here: [drain file 2 url vSphere Session Monitor]

I do not endorse using this tool in production. Please test in a lab environment until you (if ever!) are comfortable using elsewhere.

Run the installer on the workstation of your choice. You must have .NET 3.5 installed. Also this workstation must have the ability to hit the vCenter Web SDK which is https://*your vCenter Server/sdk

After the application is installed, launch it from your new desktop shortcut or Program Files menu.

The application will prompt you for your vCenter fully qualified domain name (FQDN):

It will then prompt for you vCenter credentials:

If you entered everything correctly the tool will open up the main page:

And down in your notification tray a little pop-up will list current vCenter sessions:

 

Couple quick UI things to get out of the way:

  • To close the application, click the “X” in the main window.
  • Minimizing will hide the form. You can bring it back or hide it with a left-click on the notification tray icon.
  • If you right-click on the tray icon it will list the current users on the vCenter host.
  • The “Change Credentials” button will allow you to switch username and password. And the ‘Change vCenter Server” will let you change the FQDN you entered.

I bet at this point you are thinking: “Well Nick, that is cool and dandy but I can get that info from my vSphere client! Way to reinvent the wheel…”
Well… now for the best part. This is the real reason I wrote this little app. It all started with my senior engineer, Justin. He had a nasty habit of yelling out “What are you doing?” every time someone did something on a vCenter server. That got me thinking; “It would be cool if something popped up telling Justin someone logged in. And it would be even cooler if you didn’t have to have the vSphere Client running to do it.”
So with the vSphere Session Manager, the instant someone logs into your vSphere vCenter, you see this:

Not super fancy but if you want to know when someone is playing in your pool (like Justin) this will let you know.
Here are couple features I was going to add but will (maybe) later:

  • Storing of credentials (encrypted) – not too difficult, a little RSA key generation, mix in some environment specific salt, and dehydrate a class to XML.
  • Allow multiple vCenter hosts – You can open multiple monitors to watch each vCenter for now

So that is a few hours of my life dedicated to seeing how easy it is to utilize the VMware vSphere Web SDK. And from a datacenter guy I can definitely say that the documentation, community (thanks @sjin2008), and SDK made this a pretty easy task. I highly recommend everyone take your cool tool ideas and try something out too.

Do me a favor and leave comments with feedback/questions. Thanks!

 

.nick