So I finally have somewhere to post screencasts - http://edge.technet.com
Here's my first post: Getting PHP to perform on IIS7
Basically I cover (in six and a half minutes) getting PHP to work on IIS7, improving its performance (lots) and extending it with .NET
OK, I've been back from my holidays for three days now. I've nearly caught up with everything that I missed while I was away and somehow squeezed in a day and a half out of the office talking to customers.
Something I often find when talking to non-Microsoft people is the lack of awareness of new Microsoft product releases (there's been a few in the last few weeks alone). I hadn't intended this becoming a marketing bulletin for new stuff, but figured it was worth calling out a few (just in case you also are not aware of them):
We completed System Center Capacity Planner 2006 (SSCP) just before Christmas - it will be in your Technet Plus subscriptions this month. The last beta can be found here: http://www.microsoft.com/windowsserversystem/systemcenter/evaluation/capacity/default.mspx SSCP is all about helping you size and plan your Exchange and MOM deployments. Future releases will help with other products (SQL & the likes).
System Center Data Protection Manager 2006 (DPM) (http://www.microsoft.com/windowsserversystem/systemcenter/evaluation/capacity/default.mspx) has been available for about a month now. It's all about backup to, and recovery from disk - reducing the backup & retsore windows (initially just for File data, but extending to Exchange and SQL in future releases).
Windows Server 2003 R2 is a re-release of Windows Server 2003 roughly two years after we initially shipped. It's basically Windows Server 2003 with SP1 applied, it includes everything that has shipped for Windows Server 2003 since it shipped (things like: 64-bit support, version 2.0 of the .Net Framework, Windows SharePoint Services, Automatic Deployment Services, etc) and a couple of great solutions to big business problems: Do I put a server in a branch/remote office or not? How do I enable resource sharing between separate directories without duplicating users? and how do I manage file servers more effectively? More info here: http://www.microsoft.com/windowsserver2003/default.mspx
Virtual Server 2005 R2 was launched at IT Forum in November and is a major update to our award winning (and very cost effective) virtualisation technology. It includes things like 64-bit support and clustering. More info here: http://www.microsoft.com/windowsserversystem/virtualserver/default.mspx
I'm off to Seattle on Saturday for my annuall "dipping" in Microsoft technologies - more on this next week.
I still want to close with a tip (seeing as my last one was so successful that it's now been included on the advanced search page on microsoft.com).
I'm often asked things like "wouldn't it be great if Microsoft added this feature to this product?" or "This feature is so complicated to use, why don't Microsoft make it easier by changing it?" Well I'm probably the wrong person to ask, but there is a process for getting your "wishes" answered. Just send a mail to mailto:firstname.lastname@example.org and your wishes will be listened to. The MS Wish Program is your route into the product groups for feature changes. Do note however, that most (about 90%) of requests are for features that already exist in the products...
That's it for today. I'll post again from Seattle next week.
I've been playing with System Center Virtual Machine Manager. I needed to do a demo of it, so figured now was the time to start learning..
You can get your hands on Beta 1 of VMM from http://connect.microsoft.com/ - you just need to sign up for it.
I've got a 64-bit laptop, so without doing anything sensible (like RTFM), I installed the x64 version of Windows Server 2003 R2 onto it. Next I installed the x64 version of Virtual Server R2. Now I'm ready to install VMM? No - VMM Beta 1 only installs on 32-bit Windows!
Next I install the 32-bit version of Windows Server 2003 R2 and the 32-bit version of Virtual Server. My machine is in a workgroup, I try the install with no joy. The machine must be in a domain (no workgroups)!
I join my machine to the Microsoft network as a member server. VMM has a couple of pre-requisites to install before you can install it, which I do (still no reading manuals) - just execute everything in the pre-reqs folder. VMM installs a treat and is an amazing product - I'm very impressed (more on that later).
Everything working fine, I work out what I can demo (and what to avoid). One last, quick test before I head off for my demo - reboot laptop without a network connection. VMM won't start without connecting to a domain controller - no demo yet!
I plug back into the network and leave the Microsoft domain. Quick install of DNS, reconfigure IP and run DCPROMO. Now I've got access to a domain controller (my laptop), VMM should work, right? No! Maybe it's an access thing (I did install it as myself when on the Microsoft domain)?
So, I uninstall VMM and start the installation again. VMM won't install on a Domain Controller!
Plan F (of is it G?) - dcpromo again, back to a workgroup. Create a Virtual Machine running in my Virtual Server and make it into a Domain Controller. Install the MS Loopback connector and configure it to connect to the DC running as a virtual machine. Get my laptop (the host) to join the domain that's running in the guest. Making sense - see where I'm going?
After a few reboots, and a quick Virtual Server configuration to get my guest DC to start automatically (so that I can log onto my laptop as the domain admin), I re-install VMM. Did is work? No (and with an error I cannot find documented anywhere)!
My demo is tomorrow, and I have nothing to show (well I do have a 10 minute video of a demo shown at WinHEC earlier this year).
I haven't given up yet - it must be possible to demo VMM on a laptop (and nothing is impossible - right?). I have another plan (which I'll hopefully get to try next week): 64-bit Windows, 64-bit Virtual Server, 32-bit guest Virtual Domain Controller and a 32-bit guest Virtual Member Server, onto which I'll install VMM (and get it to manage its own host server). What are my chances (slim I'd say)?
What lesson did I learn? RTFM (I could have saved myself a lot of time)!
I'll let you know how I get on next week..
As most of you know, I've been running Windows Vista on my main PCs since Christmas. You probably also know that my job has me messing around with loads of beta products and that I use Microsoft's Virtualisation products to let me do just that.
I much prefer Virtual Server to Virtual PC (multi threaded, runs virtual machines when not logged on, can access the virtual machines from anywhere - even out of the office over a RAS connection, etc).
Virtual PC 2004 is easy to install onto Vista, but doesn't work all that well. Virtual Server isn't easy to install and isn't easy to get working (but worth the effort). A default install of Virtual Server wants IIS to be installed and because of User Account Control, wants to run everything as Administrator.
Up until recently I had literally given up trying and had performed a custom install of Virtual Server, whereby I didn't install the Web Administration. This just meant that I either managed my virtual machines from another PC (running XP or Windows Server), or used a bunch of scripts to create, start & stop them. I haven't got any machines running XP anymore and terminal server'ing into a remote server, just to manage a machine running on my desk seemed a little stupid. I did create an XP virtual machine and managed it's host from within that - but have now given up on that as well.
Now that RC1 of Vista is out, and I'd re-built my desktop, I figured now was the time to "get it right".`
I've cheated a bit (and taken advice from a few existing posts) and have updated this info for RC1. Thanks to Rob Atkinson http://knowledgebyte.spaces.live.com/ and the guys at pro-networks http://www.pro-networks.org/forum/viewtopic.php?p=606840
Here's what you need to do to get Virtual Server 2005 R2 to install & work on Windows Vista RC1:
"C:\Program Files\Internet Explorer\iexplore.exe" http://localhost/VirtualServer/vswebapp.exe?view=1
"C:\Program Files\Internet Explorer\iexplore.exe" http://localhost/VirtualServer/vswebapp.exe?view=1
Just in case you quite fancy being able to mount (and unmount) a single file into your file sytstem and use it as a disk drive, but do NOT want to install Virtual Server 2005 R2.
Download the setup file for Virtual Sevrer R2 SP1 Beta 2 and follow these instructions (from the release notes):
Installing VHD Mount
VHD Mount components are installed as part of Virtual Server default installation at \Program Files\Microsoft Virtual Server\VHDMount. To install only the VHD Mount components, use the Custom option in the Virtual Server installer and clear all components except VHD Mount.
To perform an unattended installation of the VHD Mount components
Extract Virtual Server 2005 Install.msi from Setup.exe by typing the following command:setup.exe /c /t <drive letter>:\<path to the .msi file>For example, to extract "Virtual Server 2005 Install.msi" to c:\SetupFiles, type:setup.exe /c /t c:\SetupFiles
Start an unattended installation of VHD Mount by typing the following command:msiexec /i "Virtual Server 2005 Install.msi" /qn ADDLOCAL=VHDMount
VHDMount is case sensitive.
Big word of warning (thanks to Vern). If you already have Virtual Server installed, performing the above will mess up your installation. You have to upgrade the entire Virtual Server install.
I get to talk to a lot of people in my role at Microsoft, and the subject of virtualisation seems to pop up more and more often nowadays. Most people talk about virtualisation in the same sentence as server consolidation and see it as a way to reduce the number of servers that they currently manage. It takes a while to explain Microsoft's server consolidation strategy and where virtualisation fits in, so I figured that writing an article about it would get the message out there a bit quicker. I get to publish this in Microsoft Ireland's TechNet Newsflash and have decided to write it as a three-part series to ensure I can get to a sufficient level of detail. To give it some structure, I'm going to use the first instalment to get us all onto the same page - give us all some common words and definitions and maybe dispel a myth or two. The second will be to put a more business-oriented slant onto the subject (to discuss the benefits) and the third will be where I get to explain Microsoft's offerings in this field.
Where to start? The Internet is always a good place, I find, and this definition from Wikipedia is a pretty good start:
'In computing, virtualisation is a broad term that refers to the abstraction of computer resources.'
So, using this definition, I could abstract many physical things (like computers) and have them appear and behave like one logical thing (e.g., a computer cluster), or I could make one physical thing (like a disk) appear to be many logical things (like partitions). I can virtualise anything from an individual component or capability of a system to an entire server or collection of servers (and anything in-between). For the purpose of this document, I don't want to focus on Virtual LANs, Virtual Private Networks or Virtual Storage (SANs) and the like, but would like to talk about virtualising computer resources.
Some larger computers allow me to physically partition them into a number of smaller ones (one big, physical box that contains a number of smaller physical computers, the configuration of which can be modified by the system administrator). I don't want to talk about one of these; let me start with a single computer (it doesn't really matter how many processors or disks it has, nor does it matter how much memory it has - let's just assume it has enough) and see what we can virtualise.
I guess the most obvious option is Machine Virtualisation. This is where I create multiple simulated, virtual computers in software. In this scenario, the physical machine is defined as the 'host' machine and all the other virtual computers are 'guests'. Each guest machine has virtualised system resources available to it - CPU, memory, disk, etc. There are two big flavours of this technology: one for the desktop and one for the server. The desktop variant is designed to let me load up another operating system as an application on my desktop and is mainly targeted at test and development and demonstrations (it is used as a solution to application compatibility - it lets me run older applications that will not run on modern operating systems). The server variant is where I attempt to use the 80 or 90 per cent of the computing power that is traditionally not being used by a modern server. Implementations are designed for production server consolidation (run multiple server workloads on fewer physical servers, thus reducing power, space and cooling - and run each physical server at a much higher utilisation). They are also used for test and development and business continuity (fire up a virtual machine in the event of a failed server. No need for duplicate physical environments).
Modern examples of this technology are: Virtual Server, Virtual PC, VMWare, Xen.
Another virtualisation option, which a lot of us already do, is desktop or session virtualisation. This is where the server computer runs the applications, performs the heavy processing and remotes the user interaction (keyboard, video and mouse) over the network to the user's terminal or PC. The popularity of this grew a while ago due to the management overhead of deploying applications to multiple PCs - the idea was that it was easier to deploy applications centrally to a few servers than to many PCs (and an application update to a few servers was easier than to many PCs). This driver has now gone away, as it is as easy nowadays to deploy an application to a thousand PCs as it is to one. The obvious limitations of this option are that it requires the network to be always present (there is no offline capability) and that it cannot use the local processing power of the terminal or PC (it is not very good at video or graphic intensive applications for example).
Examples of this technology are: Terminal Services, X Windows, Citrix.
Yet another virtualisation option is application virtualisation, this is where the system services (file system, registry, etc) are virtualised on an application by application basis. Applications never actually get installed and as such do not interfere with the host operating system (they run within their own little 'sandbox' and run their own DLLs - the end of 'DLL Hell' as we know it). This is becoming a very interesting option for environments with locked down desktops or where application compatibility is an issue (this option allows multiple versions of the same application to run side-by-side, with no conflicts). This uses a very similar model to desktop virtualisation, but overcomes its limitations (I can run offline and use the local processing power). Even though this comes across as a client PC solution, it can be used together with terminal services to deploy and run applications on a terminal server (that never get installed and therefore don't 'mess' with its configuration).
Examples of this technology are: SoftGrid, DataSynapse, Thinstall.
If you've heard the saying 'When all you have is a hammer, everything looks like a nail', then you'll see virtualisation as the answer to your server consolidation 'issue'. Inside Microsoft, we see things slightly differently: If you want to consolidate databases, our solution is SQL Server (run all your databases on fewer, clustered SQL Servers). If you want to consolidate messaging, our solution is Exchange (a couple of centralised, clustered Exchange servers would suffice for most organisations). If you want to consolidate any servers running a similar workload, our answer is fewer, clustered (if you need high availability) Windows servers. Windows Server 2003 Enterprise Edition (and/or Datacenter Edition) can be an answer for consolidating applications that have traditionally required their own, dedicated servers - both of these versions of Windows include a technology called Windows System Resource Manager (WSRM), which lets administrators control how CPU resources are allocated to applications, services and processes (the caveat here is that all the applications need to be able to run on that version of the OS). I believe that if you have an application that needs to be performant, you'll want it to run on its own dedicated hardware (not virtualised). So virtualisation, in the context of server consolidation, has a role whereby it runs multiple servers that do not have a large system resource requirement. In other words, take all those servers you have that currently tick over at 10-20 per cent and run them virtually.
So just to recap on what I intend covering in the next two parts: In a fortnight I will explore why you would want to embrace virtualisation, and in the third instalment I will explain Microsoft's offerings in this field.
One last point (to get you thinking): Every machine you run, either virtually or physically, needs to be managed - more on this in part two.
I'm very aware that finding stuff on Microsoft.com isn't as easy as it should be (some of our competitors search engines are better at finding content on our website than we are) - this can't be right. It will get sorted, it has to get fixed. Microsoft is putting a lot of time & effort into getting our search products to be world class. Have another look at http://search.msn.com and compare the results with your current favourite search engine - we're getting better. Then have a look at our Desktop Search tool http://www.microsoft.com/windows/desktopsearch/default.mspx (for enterprises) and http://toolbar.msn.ie/ (for consumers). I use Desktop Search and it's brilliant - it must save me loads of time during my day to day work. If your company uses SharePoint Portal Server then you already know how good our search technology can be.
Anyway, back to what I can do - I'm in the process of putting together a "sign post" (for want of a better description) to the best of our Security advice & guidance, tips & tricks, tools & downloads. My intention is to use our "Defence in Depth" model (picture below) as the front end. Each layer will have links to useful info for our different audiences (Consumer, Small Business & IT Professionals). e.g. The "Host" layer would have links to tools to help with updating Windows (Microsoft Update for Consumers, WSUS for Small Business & SMS for IT Pros) as well as the best practice procedures and guidance. I'm kind of doing this as a background task, but a few people inside Microsoft Ireland have gotten wind of what I'm doing, so now it has to be finished asap. I "should" have it done in a week or so, so watch this space...
Oh, if this already exists please tell me - don't want to re-invent the wheel.
I was reading this article about the up-and-coming ESX Server 3i from VMware.
It calls out a bunch on "new features" that we have either been doing for ages, or have announced that we will have in Windows Server Virtualisation (WSV), when we ship Windows Server 2008 - I'm confused (seems like someone is trying to introduce a load of FUD - Fear, Uncertainty and Doubt).
They call out 64GB virtual machines and 128GB physical machines. We'll do 64GB virtual machines with WSV and 64-bit Windows will work with systems with up to 1 Terabyte of physical memory. The reason for this, if you're interested is that our hypervisor is 64-bit and ESX is still 32-bit.
They call out support for virtualisation-aware (para-virtualised) Linux operating systems. We are working with both Novell and XenSource, so we'll do that too (we already support both RedHat and SUSE Linux on Virtual Server).
There's more, but the 'funniest' is the reference to expanded hardware support (storage and networking). Both Virtual Server and WSV use native Windows device drivers - have a look at http://www.windowsservercatalog.com, you'll see that we already support over 6,500 storage items. Both our server virtualisation offerings (Virtual Server and WSV) are completely hardware independent - as long as there is a Windows device driver, you're OK. VMware has a very small, limited sub-set of hardware that they can run on.
Just thought I'd call it out - there's a lot of FUD out there - don't believe any of it.
I was just reading Yankee Group's report - "Virtualization Price War: VMware's Little Big Horn?", and just had to share this with you (I think it speaks for itself):
If you haven't got access to the report (which we didn't pay for - before you ask), just ask & I'll get you a copy.
On your Windows Vista machine, launch a command prompt as administrator. Navigate to the windows\system32 folder and type: