Windows Web Hosting, Web Technologies, etc
General
My personal take on DotNetPanel’s decision to go open-source
May 8th
Over the past month I’ve been asked several times by vendors, colleagues and friends “What do I think about DotNetPanel deciding to go open source as WebsitePanel?” Well… I think it’s FANTASTIC! There I said it!
I’ve evaluated DotNetPanel in the past and found it to be very powerful, full of features and definitely had potential. I even own licenses that I have up and running in a lab.
5/11/10 UPDATE: Before we get started, I thought it would be interesting to have ohloh review the websitepanel project on Sourceforge and report on it. Here’s the results of that:
- 533,549 lines of code
- 142 Person Years to develop this code (estimated)
- with an average salary of: $55,000/year it would cost $7,822,306 to recreate this project.
You can click the image below to see just what ohloh sees/says about the project.
But in my opinion DNP had a few things working against it:
1. It lacked a sizeable Windows Hosting company to adopt it (someone of our size or larger). In speaking with the DotNetPanel folks this was pointed out to us a few times that most customers are smaller shops that manage only a few servers with it.
2. The company wasn’t large. Although small, agile and extremely talented I had concerns about support and it’s future as a product offering. In the past few years we’ve seen too many good hosting control panel companies take a different yet similar path to that of DotNetPanel.
3. I didn’t think the business model could really work long term. I don’t see how you’re going to cover your development costs when virtually giving away licenses for $10/month.
DNP did have some great things working for it though:
1. Most of their competitors were acquired by Parallels only to be put out to pasture to slowly run their course and eventually migrate the customer base to Plesk.
2. It came along at a time that HELM4 was launching and was very similar to HELM4. It offered a lot of the same features and functionality of HELM4 (and lacked some others). It had the potential to be a contender and I think they really benefited by Parallels acquiring all of the other control panels.
3. They were blazing new paths. They had a very nice setup for Hyper-V, support for Exchange and support for Sharepoint. At the prices this app was offered there was nothing that was going to ever come close to them. (This was also another fatal flaw though, they really should have followed Parallels, Ensim and the handful of other ISVs that build solutions around Exchange and Sharepoint at a premium.)
4. It was a distributed architecture.
5. It was XML web services based.
6. You could create a front-end for it in PHP ( I read recently that the majority of Hosting Control panels are based on PHP, think about that.. You could easily integrate DotNetPanel into your PHP based control panel).
7. Their company was fast to adopt and release support for new technology, Be it the Web Application Gallery from Microsoft, Sharepoint 2010 beta, Exchange 2010 beta or the fact that it was the first control panel available for Hyper-V!
8. The team. Feodor is awesome. I’ve had the opportunity to meet him a couple times in the past and he’s a very nice guy and you can tell he’s extremely intelligent.
9. They weren’t afraid to release bug fixes frequently and fast.
So with 2X good versus bad on the Jess list, why would they go open source?
In business you often have to make difficult decisions. Sometimes you’ll make a decision that you know will hurt some of your clients but ultimately it will be in your best interest, that of your own business and often that of the majority of your customers. So you bite the bullet and make the call.
Why do you make calls like that? They all come down to money. There’s really no stats out there saying how many installs of DotNetPanel were in play or what their revenue really was. But let’s say they had 200 monthly customers each with 10 servers online and running. Each of these customers would need a standard license at $30/month (that’s $6000/month in revenue) each of their servers would be licensed at $10/month (so that’s 20,000 in monthly revenue). Their annual revenue would have been $312,000 based on that. I was told by my rep there when I was evaluating the company that they had only 10 people. Look at the development man hours it took to write as much code as went into this application, think about the costs associated with all of those employees and quickly you start to come to realize profitable or not that their company really couldn’t have been grossing the millions and millions one would think they were and I don’t know of anyone that’s in business to just squeak by with a modest living. There’s too many headaches, liabilities and pains to do it for nothing.
So my own “conspiracy theory” is this: “the company probably wasn’t paying off in the way Feodor had hoped. He looked at his options and competition and decided the best way to really take the application forward and reduce his overhead was to go opensource!”. Plus this option would allow him to continue to work on the project and guide it and .. if he so desired he could still provide commercial offerings off of it.
But what’s the benefit of giving away your software for free?
Just ask SugarCRM. They seem to be making money doing it and think about some of the others out there. WordPress is free, they make money? And for you “Well that doesn’t work with .NET applications” Hrm.. DotNetNuke? There’s always others too.. Redhat?
You’ll gain a great deal of developers now working on your code and contributing back to it at no cost. You’ll get new features submitted and an army of QA testers out there for you and if you manage it properly you’ll benefit from it all very nicely.
AND.. There’s really only one company out there today properly positioned to support the application anyway. Yeap! CHA-CHING!!!
But I spent thousands on their licenses and now they are useless!? Cries the sissy in the back of the room.
Yes, the community has their panties all in a twist about this crying “I spent thousands on licenses for this recently!” and wondering “Well who’s going to support my application?”
First I seriously doubt you were spending thousands and if you were you were probably a handful of people doing it. Think about that…
Those of you wondering what’s going to happen to support.. you’re all forgetting .. well isn’t this an opportunity for the properly positioned company? What about a premium level of product? The way these guys were pumping out code there’s nothing to say they don’t have other features/modules they are looking to release as paid only versions.. Maybe they do a community build and then an enterprise build?
So I’d stop whining and wait to see what develops. They’re still supporting you and your customers during this transition so just wait it out..
Now let’s look back at History..
The company was small and probably wasn’t getting bankrolled by anyone and if they were they probably were burning cash. The companies that have come before them (WHA, Ensim, etc) all had superior products in one way or another to that of Parallels own product but sold out to Parallels not because it was going to get them into Forbes list of billionaires but because it was an opportunity to make a little more money than they were making and still have their customers supported. Are you really going to get rich by selling something that took tons of man hours to build, requires an insane amount of support resources and in a very competitive market at just $10/month? Not if you don’t have a way to farm those customers and grow them into larger revenue plans and products. And yeah I wrote that and said “Hrm.. Web hosting?” but the difference is we do have a growth path for our clients. This is really where DNP could have done better with the exchange, sharepoint and hyper-v offering and in my opinion should have been charging a per unit per month type of royalties license to their customers).
But who’s behind all of this? Everyone Smells Microsoft?
There’s all kinds of rumors out there floating around about DotNetPanel and the most popular is that Microsoft bought it… And although I agree this happening was a great turn of events for Microsoft, I really don’t know and I don’t care. No one has come out to say that Microsoft did acquire it and until either Feodor or Microsoft steps forward to confirm that I’d just stop spreading rumors and fishing for information. And does it really matter? I mean does it really matter? At least not to my business and if your business is so concerned about Microsoft buying your competitor then maybe you need to rethink your business model anyway!
So who’s really behind it? In the end, it’s Feodor and like I said at the beginning sometimes in business you have to make difficult decisions that ultimately you know in your gut are what’s best for you and your business.
And while we’re on it, I don’t think Feodor is the second coming of Jesus Christ so stop hating him for doing what was in his own best interest .. you wouldn’t die for his sins and you shouldn’t expect him to do so for yours.
Well What’s AppliedI going to do?
This is the next question I get asked after the first question. Well, I had already downloaded the code and had it compiled just hours after it was announced as open-source. I brought up a new lab using it and am fully evaluating it with fresh eyes. I don’t think it’s as mature as Plesk but I think it has a lot to offer and could become a great project but it wasn’t a perfect for me when it was DNP and it’s not a perfect fit now.. Though with full access the source code that changes things now doesn’t it..
Conclusion
Hey ALL THE BEST TO FEODOR and much success to him and the members of his team. I think going open-source is the boldest of moves a company could make and I applaud him for the decision. And for the record, I hope for him his decision to go open-source did get bankrolled by millions of dollars of Microsoft’s money and I hope he’s drinking scotch, lighting cigars with $100 bills and staring at his new Lamborghini with a never ending maniacal laugh.. But I doubt that’s really happening..
How to dual boot Windows 7 and Windows Server 2008 with a VHD
Dec 4th
I have a new Dell M4400 laptop that I just got up and running with Windows 7 and thought “WOW! It would be great to boot this thing as Hyper-V server and just run the demos on there … but I have everything installed already!” What to do? The solution turns out to be incredibly simple: Dual boot between Windows 7 and Windows Server 2008 R2 using boot from VHD. At the end of the day the only drawbacks seem to be that I’ll lose the ability to hibernate when I’m booted off of VHD and I’ll see about a 3% overhead in disk performance so I took the plunge, I’m pretty pleased with it so I thought I’d share what it took to get up and running and my list of reference articles/sites.
Pre-Requisites
- You’ll need a machine that supports hardware virtualization with Windows 7 already installed and hardware virtualization enabled in the bios.
- You’ll need the install media for Windows Server 2008 R2. I recommend a USB stick and following my blog article: Installing Windows 2008 off a USB stick
- You’ll need to take your prom dress off and not be a little girl about it. You’ll likely not blow up your machine but in case you do you’ll be hard at work getting things back. I run windows home server at home for backup so I have no worries, those backups are rock solid!
The Process
The first thing you need to do is create a VHD to boot off of and make it available to the setup. Here’s the steps:
1. Start the Windows Server setup. When you get to the install screen (shown below) press Shift-F12:

This will bring up a dos prompt. You’re actually inside of a WinPE (Windows Preinstalled Environment) it’s from here we’re going to: Mount our drive on the Windows 7 install, connect to the volume, create a VHD on that drive, attach the VHD to the system before we continue the setup.
2. In this step we’ll create the VHD and and attach it to our system so the installer will see it.
- From the DOS prompt enter DISKPART
X:\Sources>diskpart
- List our drives in the system.
DISKPART> list disk
Disk ### Status Size Free Dyn Gpt
——– ————- ——- ——- — —
Disk 0 Online 298 GB 0 B
Disk 1 Online 3864 MB 0 B
- Select the drive we’re going to create the VHD on.
DISKPART> select disk 0
Disk 0 is now the selected disk.
- List our volumes before we create the VHD.
DISKPART> list vol
Volume ### Ltr Label Fs Type Size Status Info
———- — ———– —– ———- ——- ——— ——–
Volume 0 E DVD-ROM 0 B No Media
Volume 1 C System Rese NTFS Partition 100 MB Healthy
Volume 2 D NTFS Partition 297 GB Healthy
Volume 3 F FAT32 Removable 3863 MB Healthy
Volume 4 FAT Partition 172 MB Healthy Hidden
- Create our VHD on the drive we have our Windows7 OS installed on.
DISKPART> create vdisk file=d:\vhds\windows2008.vhd MAXIMUM=50000 TYPE=EXPANDABLE
100 percent completed
DiskPart successfully created the virtual disk file.
- Select the VHD Disk
DISKPART> select vdisk file=d:\vhds\windows2008.vhd
DiskPart successfully selected the virtual disk file.
- Attach the VHD Disk to the system
DISKPART> attach vdisk
100 percent completed
DiskPart successfully attached the virtual disk file.
- Create the Primary Partition on the VHD
DISKPART> cre part pri
DiskPart succeeded in creating the specified partition.
- Format the new Partition (quickly thanks Alex)
DISKPART> format fs=ntfs quick
100 percent completed
DiskPart successfully formatted the volume.
- Assign a drive letter to the new Partition
DISKPART> assign letter=v:
DiskPart successfully assigned the drive letter or mount point.
- Verify the Volume is there.
DISKPART> list vol
Volume ### Ltr Label Fs Type Size Status Info
———- — ———– —– ———- ——- ——— ——–
Volume 0 E DVD-ROM 0 B No Media
Volume 1 C System Rese NTFS Partition 100 MB Healthy
Volume 2 D NTFS Partition 297 GB Healthy
Volume 3 F FAT32 Removable 3863 MB Healthy
Volume 4 FAT Partition 172 MB Healthy Hidden
* Volume 5 V NTFS Partition 48 GB Healthy
- Exit DISKPART and DOS (type exit at both prompts) and continue the installation.
DISKPART>EXIT
X:\Sources>EXIT
3. Now you’ll run the installer making sure to select your 50GB drive you created earlier and install the OS there. On my Dell M4400 it said that booting from the VHD wasn’t supported on my bios. I ignored it and the boot works anyway. Your mileage may vary.
After it’s installed
Okay you should have run through the installer now and yes it’s really just that easy.
Now in Windows 7 and Windows Server 2008 The OS creates a special boot partition that’s 100MB in size. There’s a boot configuration file there that gets automatically updated by doing this install procedure for you so when you’re booting your OS you’ll see the options on the screen. I’m not going to include more information about that in this HOW-TO but will provide links to some of the great resources I referenced in my own learning process.
The Cool Stuff
My favorite part of my blog (and why I blog) is The Cool Stuff! Here’s the cool stuff:
- You’re able to automatically see your parent drive on the VHD machine. In my case it’s the D: drive.
- You’re able to mount a VHD within Windows 7 and see the content there as well.
- We used a Dynamic Disk which will expand automatically (it will not contract automatically) as needed up to the size of the disk we created it as. Right now my 50GB VHD only uses 7GB of actual diskspace.
- We’re able to use Hyper-V now and create our new machines be it for labs or demos and get to use all the cool features of Hyper-V like snapshoting.
- All of my laptop’s hardware features are all directly available to the OS since we’re booting from a virtual Hard Drive not a virtual machine.
The Gotchas
This is the stuff I ran into that could pose a problem and how I addressed it.
- The installer said my Laptop BIOS didn’t support booting from VHD but I tried it anyway and it’s working fine. YMMV (Your Mileage May Vary)
- We’ll lose Hibernate when booted from the VHD and we’re not able to run the System Index Tool to see what kind of scores our computer gets (you can use other tools for that like SiSandra).
- When I first installed Windows Server 2008 I couldn’t see my wireless NIC. Turns out this is a feature you need to turn on in Windows Server 2008 which makes sense as I don’t know of any servers with a Wireless NIC.
- Once you enable your Wireless NIC, Hyper-V won’t be able to use it to create a virtual switch. But don’t worry there’s a few clever blog posts out there on how to do this using Internet Connection Sharing
. - I saw a blog post about BitLocker and it not supporting the boot from VHD. I haven’t enabled bitlocker on the new laptop so I don’t know the impact that will have.
Applied Innovations Nominated for asp.netPRO Magazine Reader’s Choice Awards
Apr 22nd
Applied Innovations is among only 16 hosters recently nominated for the asp.netPRO Magazine Reader’s Choice awards. The voting ends 4/25 (just days away!).
You can vote today by clicking on the image in this post or visiting:
http://www.aspnetpro.com/awards/default.asp
You’ll find the hosting category on the second page of the survey/poll and you don’t have to vote for items in every category.