Monday, March 24, 2008

Virtualization Is Hot, But Don't Get Burned

Virtualization is getting a lot of buzz right now, and for good reason. I think it offers some real benefits in a variety of uses. I've been trying to write an article for the Alpha VAR newsletter discussing some of these that should be of interest to that audience for some time now, but I keep getting pulled away. Rather than keep waiting, I want to share an important point I was going to make - especially since it just bit me and I knew about it in advance.

One of the really useful things about virtualization is that your entire VM is usually just 2-5 files. This makes it easy to back up an entire system or move it to a different host system.

It also makes it really easy to get yourself into trouble. Of those few files, one of them is typically the virtual disk for the virtual machine. That one file represents the entire hard drive, so any corruption to it means none of your VM is usable.

Normally, that downside far outweighs the benefits because it is so easy to back up. And everyone backs up, right?

Well least week, in the midst of all of the scurrying here to release Alpha Five Platinum, one of the customer service rep's machine died. It wouldn't power on in the morning. After swapping a power supply, power switch, power cord and other troubleshooting, we determined that the motherboard was fried. The disk was still good though, so we were in pretty good shape.

For all the reasons that I haven't written about in that elusive article yet, James' PC was a perfect candidate for virtualization. We created a new VM, put his old physical disk into another system and fired up Ghost on both to clone the physical disk to the new virtual disk.

There are a number of ways to go from physical machine to virtual, but we have had a 100% success rate with this method. That was, until last week anyway. After cloning and firing up the VM, the Windows XP install went into the endless blue screen, reboot, blue screen cycle. When we finally got a screen shot of the blue screen, we saw that there was a hardware conflict. Something about the failed physical system was too different from the virtual hardware.

After a bunch of trial and error (and blue screens) we found a system in our QA lab that was apparently close enough to the original hardware to get XP booted. Now with a running Windows instance, we could use VMware Converter to do the p2v conversion since that is much better at dealing with hardware subtleties.

Finally after running overnight, VMware Converter gave us a usable VM for James to use. We had already lost much valuable time and needed to get back to work on Alpha Five, so we made a conscious decision to take a calculated risk and not set up proper snapshotting and backups for this new VM.

And in case you can't guess what happened next, the hard drive in the host system for James' VM began to fail.

We gambled. We knew we were gambling. We lost.

Just a few sectors on the drive are damaged so it needs a new disk but fortunately only one file is damaged. That one file is James' 28GB virtual disk file. Any attempt to copy it, move it, read it or repair it results in a CRC error.

As I write this, I'm waiting for yet another repair attempt to complete. The last one said it found and fixed everything, but then the move to the replacement hard drive failed at 96%. I hope this one works and if the timer on the progress meter that I've been staring at for entirely too long is accurate, I'll know in another 8 minutes.

If we don't get this virtual disk file repaired and usable, we still have the old physical disk to go back to. In this case, James will have magically jumped back about a week in time and lost all work he's done since. Well, not everything - we do have backups of his documents, email, etc. but getting this VM repaired is still the best way to go.

So all the old warnings about backing up that have historically applied to physical machines apply to virtual machines as well. With the corruption of one single file, we're potentially looking at the loss of 30GB, not to mention all of the time lost today when we could have simply copied a single file from a backup archive if we had gone ahead and set that up last week.

Saturday, March 22, 2008

If You Build It, Will They Come?

No. I'm sorry to shatter the dream, but just building it is not even close to enough. Not here in the Field of Reality anyway.

And building it well is not enough either. You can be a damn good builder and produce some great creations, but that just doesn't matter. If you want the crowd to come and buy your wares, you need to create something that is interesting and solves a problem, and then you need to make sure everyone knows about it.

It's really quite simple. If nobody needs what you've built, they are not going to care about it. But wait, what if they really do need it but they just don't realize it? It's still a no. Most people aren't going to wait around while you try to educate them about something they already have decided is a waste because they don't think they need it.

OK, so you've built something that people need, and they even know they need it. Now will they give you all of their money for it? That's a fat chance if they don't even know it exists. Let's say I've had my head in the sand for the past few years and I've decided I really need a portable music player. I'm probably not going to go look for an iPod if I've never heard of it.

I do kinda miss my clunky old Sony Sports Walkman in bright yellow though so maybe I can find one of those. I don't think I would have made it through junior high without that thing.

Now raise your hand if you think all of this is common sense and you're wondering why I've bothered to write about it.

Yep, just as I thought, I haven't revealed any deep dark secrets to very many of you yet. That's OK, I have more for you. Here's where it gets interesting.

I'll bet most everyone with a hand in the air has a widget that passes the two tests above, right? Of course! Your idea is different, better, cooler than the rest. The world is begging for your widget, aren't they? Even if they don't know it (OK, so you only passed 1 1/2 tests, no biggie), they really really need it.

Listen up sonny, take off those rose colored glasses and put down the Kool-Aid. Trust me, I know what I'm talking about here, I drank the Kool-Aid too and I liked it just as much as you do. That sugar might put a smile on your face, but it isn't going to pay the bills.

You see, back around 1999 or so, Greg Donarum, a good friend and really smart guy that I went to college with, and I started building an online catalog system. We weren't sure exactly what we were going to do with it, but it was a good way to leverage the experience we already had and learn some new technologies. What we ended up with was a complete system with full e-commerce, CRM and BI functionality built as an ASP, or as a SAAS in todays revised jargon.

North of Zero was great, if I do say so myself. Greg architected an incredible data model, I built a fault-tolerant hosting infrastructure and together we coded fast and robust web interfaces for all of it. Our third business partner, Ralph Lucier, is a very talented graphic designer and all-around professional business person so our application screens, marketing collateral, etc. were all impeccable.

What we built essentially enabled SMBs to have their very own Amazon-quality online store with features like upselling, cross promotions, affiliate programs and so on. On the back-end, we built full business intelligence and customer relationship management. The hosting infrastructure provided 100% uptime for over 3 years straight and the monthly fee was very reasonable. And our customers loved it!

So why haven't I retired yet and why haven't you ever heard of North of Zero? We didn't know it at the time because of those darned glasses, but we failed both of the tests.

First up is the requirement that people need what you have and they know it. Well, we actually only half-failed this one - I still think the world needed our solution. Back when we were trying to sell our application, many business owners that we spoke to had no idea what CRM and BI were and only had an inkling about why they may want to get into e-commerce. Few of them had actually shopped online and they were still doing business using telephones, faxes and snail mail. Trying to educate them on what the technology could do for them was usually an insurmountable feat and made the sales team spin their wheels far too much.

Second is making potential customers aware of what you've built. We were self-funded, which was good in that we didn't explode when the dot-com bubble burst, but it also meant we had a pretty small marketing budget. We did get some great PR, but it wasn't enough for the companies that were looking for our kind of solution to find us, and cold-calling just isn't effective. So those companies found some other offering (most of which did less and cost more) and never even considered North of Zero.

So would I do it all again? You bet. And would I do things differently? Absolutely!

I could go on and on about lessons learned, things I'd change here and there, if I had only known then what I know now, yada, yada. But I can really sum it all up quite simply - take a step back and look at what you are doing more objectively. You might think you already are, but I can almost guarantee that you aren't.

Monday, March 17, 2008

Cut to the Chase Already

Joel Spolsky has a new post on web standards and why browsers are such a mess. I had noticed it earlier and ignored it because it looked so long, but Alpha's PR folks passed it along to me just a little while ago to get my thoughts on it. They know their business and they are good at what they do, so I figured I really should take another look at what Joel wrote.

I think I agree with where Joel is going, but frankly I feel more inspired to write a rant about why his article is waaaay too long for me to bother reading all of it.

Maybe that's because I'm all too familiar with non-standard standards and bitter about the chunk of my life wasted while testing web pages in umpteen different browsers at a time. I still have the scars, and the copy of Netscape Navigator 1.0 on a floppy, to remind me.

HTML and browser "standards", like many standards in technology and other industries as well, are almost always implemented in a non-standard way. This means that if you build a web page and test it on your own PC, say using Internet Explorer 7 with a screen resolution of 1024x768, and everything looks great, you now know absolutely nothing about what your web page is going to look like to other folks viewing the exact same page.

This concept is very valuable, critical really, to anyone new to web development.

Joel goes to great lengths to explain this and you can see that he obviously put in a lot of effort to make his explanation clear and included numerous diagrams to back it all up. I appreciate and applaud the effort But I still haven't read the whole darn thing and I'm not going to.

I'm a busy guy and I have work to do. Alpha Five Platinum will ship in the near future and that means I'm busy testing, fixing bugs (of course not in MY code ;), and making sure that tech support is as up to speed as possible on the new release so they can help customers, not to mention all the other "distractions" of the job. And even without an upcoming release, I still would have plenty of work to do and would not have read the whole article.

Don't get me wrong Joel, I like your stuff. And I know you'll sleep better tonight knowing that :) But printed, your post is 13 pages! It's not an attention span thing either - I've read and reread most, if not all, of those "non-standard standards" and those certainly aren't light or entertaining reading. But please, cut to the chase already!

Yes, I know I've taken too much of readers' time writing a blog post this long, so I'm done.

Thursday, March 06, 2008

When Should We Ditch Our Platform?

Slashdot has a recent story where a member has asked "When Should We Ditch Our Platform?" The member's company has recently replaced their web developer and it seems that they had one heckuva time finding a replacement that could work with their existing technology.

Those familiar with Slashdot will not be surprised that there are no meaningful answers to the question, rather just bickering about whether this is the right question to ask, a lambasting directed at the member for not giving the specific details about the current platform and some attempts to blame all the world's problems on Microsoft.

While I'm no die-hard fan of Microsoft, this question is exactly the right question to ask and I'd like to give a meaningful answer. Sure, I could post this to the Slashdot discussion and be lost amongst the noise, but that's not very productive.

I think the meaningful answer to this question is quite simple really - it is time to replace your technology when it no longer solves the problem at hand. I don't care what the "existing" technology is - be it something from Microsoft, an open source project, or even Alpha Five. At the end of the day, it doesn't matter if your platform has a really cool sounding acronym with all of the media's current attention, because those things don't run your business and help you earn your paycheck.

Alpha Five, just like any other software, is a tool. Tools are what set humans apart from other animals, but only if we use the right tools for the right job. Have you ever tried to change a light bulb with a sledge hammer? I haven't, but I'm pretty sure it won't work too well.

Well, when your technology feels too heavy to even pick up, you are probably using the wrong technology. If a reasonably intelligent person can't adapt to the technology in a relatively short amount of time, you are probably using the wrong technology. If you have to work significantly harder than everyone else, only to produce a fraction of the results, you are probably using the wrong technology.

I admittedly am biased, but I think Alpha Five is the right technology to solve a wide range of problems facing businesses today. But I don't want you to take my word for it:
  • If you are not already using Alpha Five, download the trial now and check it out for yourself. I think you'll be impressed with what you can accomplish in a very small amount of time.
  • If you are already using Alpha Five, go ahead and download some alternative product trials and see what they can do. If you can find something that lets you get more done with less work and does not bankrupt you, I'd love to hear about it!