Windows Web Hosting, Web Technologies, etc
jcoburn
Experienced as a Web Developer and Web Server administrator since 1994, in 1999 Jess set out to start a Web Hosting Provider that would leverage the latest in cutting edge and innovative technologies and make them available to businesses in a way that was easy to understand, easy to use and affordable. Today Applied Innovations is a recognized leader in Windows Hosting and specializes in ASP.NET, E-Commerce and Advanced Web Application Hosting.
Homepage: http://www.jesscoburn.com
Yahoo Messenger: tarzan
Posts by jcoburn
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.
ScottGu announces WebsiteSpark Program
Sep 24th
Earlier today, ScottGu (pictured to the right of me and no I’m not about to spit on him!) announced the WebsiteSpark program.
WebsiteSpark is a new program by Microsoft to help independent web developers and designers build on the Microsoft Web platform. Applied Innovations was selected as one of the first hosters involved in this program and I’m personally excited as the prospects this program means for web developers that have been hesitant to move to the Windows Platform as well as existing developers running their websites on Windows.
The program is exciting because it’s going to SPARK many new businesses and allow developers in the program to increase their business tremendously!
Removing the roadblocks to Windows as a Web platform hosting.
The most common compliant you’ll hear when you ask someone why they don’t use Windows hosting is:
Windows is too expensive! The licensing and software costs are too much for me!
The great news is WebsiteSpark removes the roadblocks! Once accepted in WebsiteSpark you’ll gain FREE (as in $0.00!) access to the following software and licenses:
- 3 licenses of Visual Studio 2008 Professional Edition
- 1 license of Expression Studio 3 (which includes Expression Blend, Sketchflow, and Web)
- 2 licenses of Expression Web 3
- 4 processor licenses of Windows Web Server 2008 R2
- 4 processor licenses of SQL Server 2008 Web Edition
- DotNetPanel control panel (enabling easy remote/hosted management of your servers)
But it’s not just about FREE (as in $0.00!) software! You’re also going to get to be part of the Microsoft ecosystem of customers, partners and other Web Pros with complimentary technologies and get free Marketing and Lead Generation!. You’ll also be listed in the WebsiteSpark Marketplace (starting on November 20, 2009) where Web Pros can:
- Be found by customers
- Build a web presence and showcase their capabilities
- Simplify the process to connect with qualified customers.
Microsoft is providing the software and business leads, what else do you need to make the move to the Windows web platform? Support! That’s included too. Some of the support benefits include:
- Two professional support incidents per program membership
- Free online training
- Managed newsgroups on MSDN (a community of over six million developers) and/or other Microsoft online properties
- Access to broad community support through connections with Network Partners, Hosting Partners, and peers with complementary services and technologies
Now as a WebsiteSpark member developer you’ll have access to Free Software, Free Support, Free Marketing / Lead Gen, what’s the last thing you need? A web hosting partner that will provide you the hardware platform and support you need to be successful and that’s where Applied Innovations, the Windows Web Hosting Experts, come into play!
Applied Innovations, as a hosting partner and network partner we’re able to sponsor you in the WebsiteSpark program and provide you the guidance and resources need to make the most of the program. In addition, we’re offering EXCLUSIVE WebsiteSpark discounts and promotions! For example, you’ll be able to leverage our high availability managed windows vps hosting platform as a base to your hosting business. You’ll be able to purchase a scalable, flexible VPS server that will allow you to increase or decrease your server resources on the fly.
Your websites will be powered on a cluster of dedicated servers with failover clustering backed by a 100% uptime SLA! (As in 0.00 DOWNTIME GUARANTEED). Backups, updates and monitoring all managed for you automatically and seemlessly and a team of experienced Windows Server experts standing by to help you resolve any problems or answer any questions you may have. In addition, we’re giving all WebsiteSpark developers an additional 10% discount and TWO MONTHS of Free Hosting on any managed Dedicated Server or VPS they select.
JessCoburn.Com running on ARR! and that not be Pirate speak thar Matey!
Aug 9th
3 Blog posts to say “Hey I’m running on my site load balanced using ARR”. This is the third and hopefully last blog post for tonight. I posted two other posts tonight:
- Discusses the first stage of Applied Innovations Cloud Initiative.
- Discusses ARR & Load balancing.
All of this was to explain how I’m running my website currently (which I tend to test everything on first so I break it a lot but you have to break eggs to make cake, right?).
ARR or Application Request Routing is a new extension to IIS7 that allows you to turn a Windows Server (or VPS as in my case) into an Application Aware Load Balancer with such features as offloading compression and SSL encryption!
How I’m running JessCoburn.com
For the past year and a half, JessCoburn.com has (and continues to) run on a shared web hosting server that runs IIS7 on top of Windows Server 2008. My site is treated identically to how my customers sites are treated as I firmly believe in eating your own dog food (no not ALPO but using the same services you sell). The site makes use of FastCGI to run the PHP engine and backends to a shared MySQL server. All of our shared web servers connect to the SQL servers via a private dedicated gigabit network for optimal performance. In addition, I make use of expiry headers for output caching of my images and also use the wordpress plugin supercache to reduce my reliance on MySQL queries so my pages render faster. So that’s why it’s been fast, I think you’d agree that’s pretty well optimized for a Windows shared hosting website (same thing you could for as little as $8.33 a month with one of our Windows hosting accounts.. Sure it’s optimized but there’s still a problem.
What’s the problem with JessCoburn.com?
The problem is my web site runs on a single web server. This means if there’s maintenance on the box (don’t worry we do this during load traffic times) there’s still potentially downtime. This also means if my site ever gets popular enough to make the first page of DIGG or REDDIT (use those social bookmarks please) then no matter how much I optimize my site on that one web server, I could have a problem… These are the trade-offs we accept with shared hosting (today).
But what if, I could run JessCoburn.com on multiple web servers and load balance them? Yeah who’s going to go out and spend 20K to load balance his little wordpress blog (the profit margins aren’t that good you know). Well thanks to our own cloud computing initiative and the good folks on the IIS Team at Microsoft I can do just that for peanuts! Today!
My new configuration
I have a Windows 2008 VPS running IIS7 with ARR 2.0 Beta 2 on it. It’s of course running on our High Availability Managed Windows VPS Hosting Cluster. I also have JessCoburn.com still running on the shared Windows Hosting server running on IIS7 and I setup another VPS server running on top of Virtuozzo running Windows 2003 and copied the site there. Just to show that you can route requests to any kind of server. Both servers back end to the same MySQL server.
All requests for JessCoburn.com come into the ARR server and it then proxies these requests between the Shared Server and the Win2003 VPS server. In the event one of the sites crashes, is down or has problems, ARR will redirect all requests to the other server.
Elastic Computing AKA Cloud Computing as provided by Applied Innovations
Aug 8th
I broke this post up into a series of posts. The first post (just published) gives an overview of ARR in IIS7 and why it’s cool. This post is going to talk about the first stage of cloud computing we’ve deployed at Applied Innovations and the benefit’s of it such that you could use it today to control your own hosted IT Infrastructure costs.
About the Applied Innovations Cloud Platform.
Applied Innovations is a charter member of Microsoft’s Dynamic Datacenter Alliance. The alliance is composed of a handful of hosters, ISVs and system integrators that have deployed a solution on Microsoft’s Dynamic Datacenter toolkit. Our implementation of the toolkit is a highly available cluster of VPS servers. These VPS servers or a series of physical servers that use a high speed, redundant SAN cluster for storage and in the event of a hardware failure or need for maintenance the virtual machines running on one of those servers will automatically fail over to one of the other nodes to keep the services and applications running 100% of the time.
In addition, our own solution also affords the user the ability to achieve a level of cloud computing called: elastic computing (a hot topic these days as Cloud computing is all the rage). Elastic computing is the ability to dynamically scale up and down your computing resources as your needs change. For instance, let’s consider the case of dedicated hosting.
When the Dedicated Server Meets the Cloud.
In the past when a hosting customer outgrew shared hosting they needed to move to a dedicated server. Moving an advanced web application (such as a live ecommerce website) from one server to another is time consuming and often costly so it’s something most store owners don’t want to do frequently. With that in mind they would often look at dedicated servers and have to predict their need for hardware not only today but often 6, 12 or even 24 months into the future or they could find themselves moving again in the near future. The problem with this is that often they found themselves purchasing more hardware and taking on a larger cost today in preparation for tomorrow than they needed and sometimes could afford.
Further, today we all know just how quickly the economy can turn and how fast you can find that your expected growth can disappear and all of a sudden find yourself needing to scale down instead of up. Or perhaps your business is seasonal and you find that you really only need a full dedicated server a few months out of the year and don’t need to pay for the full solution the other 9 months of the year.
At Applied Innovations, Our Dynamic Datacenter Solution is the answer to these very issues. With one of our highly available clustered Windows virtual dedicated servers (VDS servers) you’re able to scale up your diskspace, your memory, your processing power and likewise scale down your diskspace, your memory and even your processing power with just a click of a few buttons. This puts you in control of your hosted IT infrastructure and allows you to adjust your costs in line with your business.
What about Elastic Scalability? I thought that was Cloud?
The other hot topic in Cloud is Elastic Scalability. This is where your web infrastructure is hosted on multiple virtual machines (which may be elastic computing VMs) and is load balanced across these nodes. you then have the ability to expand and contract the number of nodes your site runs on as your traffic and business demands change.
We believe this too is a vital component to cloud computing but for 80% of the hosting business on the market today, it’s just not a necessity.. today. For that upper echelon of hosting customers (the Amazon, the Twitter, the Facebook type company) this is a necessity but for most companies this level of cloud computing is just an extra expense and in today’s economy extra expenses are not needed.
What’s next in the Cloud?
This is only the first phase of our own Cloud Initiative and there are of course other notions of cloud besides elastic computing and elastic scalablity that I didn’t hit on. What I can guarantee is our team is working as diligently as ever to continue to work on our Cloud Initiative and will continue to evolve our service offerings. In the meantime if you want to cut your dedicated hosting costs and have the ability to adjust your hosted IT infrastructure costs as your business adjusts, contact our team about our Managed Windows VPS Hosting solutions built on top of the first stage of our Cloud infrastructure.
A little info about Application Request Routing (or ARR) in IIS7.
Aug 8th
In the 10 years I’ve been working with Windows as a web hosting platform (and the 15 or so I’ve been working with web servers period), I can confidently say that IIS7 is without question the best web server platform to date. Microsoft has been working on a plug-in for IIS called Application Request Routing (or ARR). The first version of ARR provided a suite of tools that allowed it to function as a Application Layer Load Balancer! The recently updated beta version extends that functionality and now makes it easy to turn a Windows Server running IIS7 into not only a Load Balancer but also a Reverse Proxy / Cache Server. Meaning you could potentially power a CDN using a bunch of Windows Servers.
What’s an Application Layer Load Balancer?
First I should define a load balancer. When you have a very popular website (think yahoo, Amazon, etc) you need a bunch of web servers to accept all those web requests. One server just won’t cut it. In order to keep things all tidy and in order you use a machine that controls those requests and which web server it goes to. You extend that machine and have it start monitoring your web servers and your web visitors and it can start managing those requests and directing it based on things like:
- The visitor’s browser type
- The visitor’s IP address
- The type of content being called (JPEG, MOV, HTML, ASPX, etc)
Then you get a step fancier and not only direct those requests based on the request but also on the state of the server, who’s had the most bandwidth, which server do you prefer requests to go to, which server is working hardest? etc.
Now the Layer 7 Load Balancer or Application Level Load Balancer can distribute requests based on the various application specific information. This could be a cookie for instance or information within your app itself.
NOTE: I’m not going to go into this any further you have the basic understanding of a load balancer and I’m not going to deal with NLB and layer 4 and all that fun stuff. Go Bing! it (yeah I said Bing!).
Wait aren’t load balancers expensive, complicated and require a whole other level of geek?
You bet! But they’ve gotten better and there’s a fair number of open source ones out there (in fact, I was reading earlier that wordpress.com was running on an open source one).
Well didn’t Windows Always have this?
Not really. Windows had Network Load Balancing which would allow you to run a couple servers with the same application on it. It would monitor ping on the machines and if one machine died all requests went to the other. So that was really load balancing at the machine level. This was good enough for most but what if the machine was fine but your service (perhaps IIS itself crashed?) . Then they had Clustering services. Now clustering services was service aware. Meaning if your service (perhaps IIS ) crashed on one of the machines it would failover to the other machines but it didn’t really know anything about your website’s application (perhaps an ecommerce store) so you could have a server online and the web service online but the actual application on that server failed and still be sending requests to it. So in comes those clever folks in the IIS team at Microsoft with Application Request Routing (ARR … Matey!).
Video Introduction to Application Request Routing and more info
Microsoft has a great video on ARR and it’s geared towards webhosts but does a fantastic job of showing the functionality of ARR and just how easy it is to configure and make use of. You can see that video on the IIS.net site at:
http://www.iis.net/extensions/ApplicationRequestRouting
In addition to the video they really spell out all of the features and benefits to ARR in detail. Some of those features include:
- HTTP based routing decisions.
- The ability to offload SSL requests
- The ability to offload compression
- Health monitoring of live traffic and specific URLs to monitor and adjust routing of requests.
- Support for extensive debugging through Failed Request Tracing Rules.