Microsoft Virtualization: part 2 (host virtualisation)

Earlier this evening I kicked off a series of posts on the various technologies that are collectively known as Microsoft Virtualization and the first area I’m going to examine is that of server, or host, virtualisation.

Whilst competitors like VMware have been working in the x86 virtualisation space since 1998, Microsoft got into virtualisation through acquisition of Connectix in 2003. Connectix had a product called Virtual PC and, whilst the Mac version was dropped just as MacOS X started to grow in popularity (with its place in the market taken by Parallels Desktop for Mac and VMware Fusion), there have been two incarnations of Virtual PC for Windows under Microsoft ownership – Virtual PC 2004 and Virtual PC 2007.

Virtual PC provides a host virtualisation capability (cf. VMware Workstation) but is aimed at desktop virtualisation (the subject for a future post). It does have a bastard stepchild (my words, albeit based on the inference of a Microsoft employee) called Virtual Server, which uses the same virtual machine and virtual hard disk technology but is implemented to run as a service rather than as an application (comparable with VMware Server) with a web management interface (which I find clunky – as Microsoft’s Matt McSpirit once described it, it’s a bit like Marmite – you either love it or hate it).

Virtual Server ran its course and the latest version is Virtual Server 2005 R2 SP1. The main problem with Virtual Server is the hosted architecture, whereby the virtualisation stack runs on top of a full operating system and involves very inefficient context switches between user and kernel mode in order to access the server hardware – that and the fact that it only supports 32-bit guest operating systems.

With the launch of Windows Server 2008, came a beta of Hyper-V – which, in my view, is the first enterprise-ready virtualisation product that Microsoft has released. The final product shipped on 26 June 2008 (as Microsoft’s James O’Neill pointed out, the last product to ship under Bill Gates’ tenure as a full-time Microsoft employee) and provides a solid and performant hypervisor-based virtualisation platform within the Windows Server 2008 operating system. Unlike the monolithic hypervisor in VMware ESX which includes device drivers for a limited set of supported hardware, Hyper-V uses a microkernalised model, with a high performance VMbus for communication between guest (child) VMs and the host (parent) partition, which uses the same device drivers as Windows Server 2008 to communicate with the hardware. At the time of writing, there are 419 server models certified for Hyper-V in the Windows Server Catalog.

Architecturally, Hyper-V has almost nothing in common with Virtual PC and Virtual Server, although it does use the same virtual hard disk (.VHD) format and virtual machines can be migrated from the legacy platforms to Hyper-V (although, once the VM additions have been removed and replaced with the Hyper-V integration components, they cannot be taken back into a Virtual PC/Virtual Server environment). Available only in 64-bit editions of Windows Server 2008, Hyper-V makes use of hardware assisted virtualisation as well as security features to protect against buffer overflow attacks.

I’ve written extensively about Hyper-V on this blog but the main posts I would highlight for information on Hyper-V are:

Whilst Hyper-V is a remarkably solid product, to some extent the virtualisation market is moving on from host virtualisation (although it is an enabler for various related technologies) and there are those who are wary of it because it’s from Microsoft and its a version 1 product. Then there are those who highlight it’s supposed weaknesses… mostly FUD from VMware (for example, a few days back a colleague told me that he couldn’t implement Hyper-V in an enterprise environment because it doesn’t support failover – a completely incorrect statement).

When configured to use Windows Server 2008’s failover clustering technologies, Hyper-V can save the state of a virtual machine and restart it on another node, using a technology known as quick migration. Live migration (where the contents of memory are copied on the fly, resulting in seamless failover between cluster nodes in a similar manner to VMware VMotion) is a feature that was removed from the first release of Hyper-V. Whilst this has attracted much comment, many organisations who are using virtualisation in a production environment will only fail virtual machines over in a controlled manner – although there will be some exceptions where live migration is required. Nevertheless, at the recent Microsoft Virtualization launch event, Microsoft demonstrated live migration and said it will be in the next release of Hyper-V.

Memory management is another area that has attracted attention – VMware’s ESX product has the ability to overcommit memory as well as to transparently share pages of memory. Hyper-V does not offer this and Microsoft has openly criticised memory overcommitment because the operating system things it is managing memory paging, meanwhile the virtual memory manager is swapping pages to disk whilst transparent page sharing breaks fundamental rules of isolation between virtual machines.

Even so, quoting from Steven Bink’s interview with Bob Muglia, Vice President of Microsoft’s Server and Tools division:

“We talked about VMware ESX and its features like shared memory between VMs, ‘we definitely need to put that in our product’. Later he said it will be in the next release – like hot add memory, disk and NICs will be and live migration of course, which didn’t make it in this release.”

[some minor edits made for the purposes of grammar]

Based on the comments that have been made elsewhere about shared memory management, this should probably be read as “we need something like that” and not “we need to do what VMware has done”.

Then there is scalabilty. At launch, Microsoft cited 4-core, 4-way servers as the sweet spot for virtualisation, with up to 16 cores supported, running up to 128 virtual machines. Now that Intel has lauched it’s new 6-core Xeon 7400 processors (codenamed Dunnington), an update has been released to allow Hyper-V to support 24 cores (and 192 VMs), as described in Microsoft knowledge base article 956710. Given the speed in which that update was released, I’d expect to see similar improvements in line with processor technology enhancements.

One thing is for sure, Microsoft will make some significant improvements in the next full release of Hyper-V. At the Microsoft Virtualization launch, as he demonstrated live migration, Bob Muglia spoke of the new features in the next release of Windows Server 2008, and Hyper-V (which I interpreted as meaning that Hyper-V v2 will be included in Windows Server 2008 R2currently scheduled for release in early 2010). Muglia continued by saying that:

“There’s actually quite a few new features there which we’ll talk about both at the upcoming PDC (Professional Developer’s Conference) in late October, as well as at WinHEC which is the first week of November. We’ll go into a lot of detail on Server 2008 R2 at that time.”

In the meantime, there is a new development – the standalone Hyper-V Server. Originally positioned as a $28 product for the OEM and enterprise channels, this will now be a free of charge download and is due to be released within 30 days of the Microsoft Virtualization launch (so, any day now).

As detailed in the video above, Hyper-V Server is a “bare-metal” virtualisation product and is not a Windows product (do the marketing people at Microsoft really think that Microsoft Hyper-V Server will not be confused with the Hyper-V role in Microsoft Windows Server?).

With just a command line interface (as in server core installations of Windows Server 2008), it includes a configuration utility for basic setup tasks like renaming the computer, joining a domain, updating network settings, etc. but is intended to be remotely managed using the Hyper-V Manager MMC on Windows Server 2008 or Windows Vista SP1, or with System Center Virtual Machine Manager (SCVMM) 2008.

Whilst it looks similar to server core and uses some Windows features (e.g. the same driver model and update mechanism) it has a single role – Microsoft Hyper-V and does not support features in Windows Server 2008 Enterprise Edition like failover clustering (so no quick migration) although the virtual machines can be moved to Windows Server 2008 Hyper-V if required at a later date. Hyper-V Server is also limited to 4 CPU sockets and 32GB of memory (as for Windows Server 2008 Standard Edition). I’m told that Hyper-V Server has a 100MB memory footprint and uses around 1TB of disk (which sounds a lot for a hypervisor – we’ll see when I get my hands on it in a few days time).

Unlike Windows Server 2008 Standard, Enterprise and Datacenter Editions, Hyper-V Server will not require client access licenses (although the virtual machine workloads may) and it does not include any virtualisation rights.

That just about covers Microsoft’s host virtualisation products. The next post in this series will look at various options for desktop virtualisation. In the meantime, I’ll be spending the day at VMware’s Virtualisation Forum in London, to see what’s happening on their side of the fence.

Microsoft Virtualization: part 1 (introduction)

Sitting at Microsoft’s London offices waiting for this evening’s Microsoft Virtualization User Group (MVUG) event to start reminded me that I still haven’t written up my notes on the various technologies that make up Microsoft’s virtualisation portfolio. It’s been three months since I spent a couple of days in Reading learning about this, and tonight was a great recap – along with some news (some of which I can’t write about just yet – wait for PDC is all I can say! – and some of which I can).

A few weeks back, I highlighted in my post on virtualisation as an infrastructure architecture consideration that Microsoft’s virtualisation strategy is much broader than just server virtualisation, or virtual desktop infrastructure and introduced the following diagram, based on one which appears in many Microsoft slidedecks:

Microsoft view of virtualisation

At the heart of the strategy is System Center and, whereas VMware will highlight a number of technical weaknesses in the Microsoft products (some of which are of little consequence in reality), this is where Microsoft’s strength lies – especially with System Center Virtual Machine Manager (SCVMM) 2008 just about to be released (more on that soon) – as management is absolutely critical to successful implementation of a virtualisation strategy.

Over the next few days I’ll discuss the various components included in this diagram and highlight some of the key points about the various streams: server; desktop; application; and presentation virtualisation – as well as how they are all brought together in System Center.

Active Directory design considerations: part 8 (summary and further information)

Over the last few days, I’ve written a series of posts about design considerations for Microsoft Active Directory (AD), based on the MCS Talks: Enterprise Infrastructure series of webcasts. Just to summarise, the posts so far have been:

  1. Introduction.
  2. Forest and domain design.
  3. Organisational Units.
  4. Group policy objects.
  5. Security groups.
  6. Domain controller placement and site design.
  7. Domain controller configuration and DNS.

Just to finish the series it’s worth noting that implementing Active Directory is an iterative process. As business and technical application requirements change, so might the optimum directory configuration, particularly after major infrastructure changes such as a network upgrade.

The MCS Talks series is still running (and there are additional resources to compliment the second session on core infrastructure). I also have some notes from the third and fourth sessions on messaging and security that are ready to share so, if you’re finding this information useful, make sure you have subscribed to the RSS feed!

Active Directory design considerations: part 7 (domain controller configuration and DNS)

Continuing the series of posts about design considerations for Microsoft Active Directory (AD), based around the MCS Talks: Enterprise Architecture series of webcasts, this post discusses the design considerations for Active Directory domain controller configuration and DNS, which is critical to any Active Directory deployment.

Whilst the CPU specification for each server running as a domain controller will affect query performance, so can the disk configuration. Active Directory’s disk usage is mostly reads and the few writes are written to transaction logs before being committed to the database. For this reason, the separation of the logs (mostly written) from the database files (mostly read) can improve disk throughput.

Unlike for Exchange Server (where the decision to separate transaction logs from database files is mostly for resilience) with AD’s multi-master replication model providing resilience, the separation of logs and database files on a domain controller is about performance.

Having said that, in the same way that network improvements have allowed for domain controller consolidation, the move to a 64-bit version of Windows Server allows a larger addressable memory space and may even allow the entire AD database to be cached in RAM.

One critical piece of advice relating to domain controllers is when they are running in a virtualised environment. Microsoft recommends that DCs are never snapshotted (even RODCs), due to the potential to re-introduce out of date changes into AD if that snapshot is restored at a later date. Also, DCs should be configured to synchronise their time with the PDC emulator (the default) and not with the virtualisation host.

As I mentioned previously, DNS is critical to the correct operation of Active Directory and, which other DNS servers may be used, Microsoft recommends the use of AD-integrated DNS where possible as this provides a distributed, highly available DNS (effectively, DNS is as available as AD is). This can cause a political debate in some organisations, particularly where there is a heterogeneous network and the non-Windows computers do not use Active Directory. It is possible to configure Windows computers to use Windows DNS (AD integrated) and non-Windows computers to use another DNS implementation but this gets messy where shared subnets are involved (reverse lookup zones will be incomplete). For this reason, wherever possible, consolidation into a single organisational DNS should be considered.

Due to the overhead of managing root hints, Microsoft also recommends the use of the forwarding model and Windows Server 2003 introduced conditional forwarding, which is particularly useful where there are multiple forests, each of which is authoritative for its own zone. Windows Server 2008 improves conditional forwarding by storing conditional forwarding information in AD, rather than on each server (which created additional management overhead) although the standard forwarding is still defined on a per-server basis.

Enabling sleep/hibernation mode on a server with the Hyper-V role enabled

One of the problems with running Hyper-V on the notebook PC that I use for work is a lack of hibernation/sleep support. Mark Harrison has posted a partial solution which allows him to hibernate/sleep until he starts running virtual machines:

By setting the Hypervisor/Virtual Machine Support Driver to manual startup (editing the Start key at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\hvboot to a value of 3), Mark found that Hyper-V can be left installed but not running, then net start hvboot can be used when Hyper-V is required. From this point on, sleep/hibernation will be unavailable (until the computer is restarted).

Unfortunately the main VM I run is the one with the (32-bit only) VPN connection to work that I use to access all of my corporate applications (which I need to access on a daily basis) so this solution doesn’t help me much, but I thought it might be useful to others.

Fluff stops play

I think I heard the other day that Apple has sold something like 5 million 3G iPhones since launch. That’s a drop in the ocean compared with the number of devices that manufacturers like Nokia sell but nevertheless quite a bit chunk of the smartphone market. Unfortunately it also seems that the quality control has slipped in order to get so many devices out (based on the problems that some of my friends have had) and the v2.x software is certainly not as solid as the v1.x (even without applications installed).

Bearing that in mind I was disappointed, but not entirely surprised, to find that my the microphone in my iPhone headset was not working last week. I wasn’t sure if the problem was with the headset or the phone itself but I booked an appointment with a “Genius” at my local Apple Store to see if the problem could be identified. Sure enough, it was – and it was probably the least taxing of all the problems that particular genius had to solve today… some fluff inside the headphone socket, preventing the headset jack from making a proper connection. Once cleaned out everything was working fine. So, if you are experiencing similar problems, take out a can of compressed air and save yourself a trip to the Apple Store.

Active Directory design considerations: part 6 (domain controller placement and site design)

Continuing the series of posts about design considerations for Microsoft Active Directory (AD), based around the MCS Talks: Enterprise Architecture series of webcasts, this post discusses the design considerations for placement of Active Directory domain controllers and the associated site links.

Domain controller (DC) placement can have a huge impact on user experience (e.g. the impact on logon times) but generally the choices are for placement on hub sites or at satellite (branch) locations and these should each be considered on a case-by-case basis, looking at the network and application requirements.

It’s worth mentioning that available network bandwidth has generally increased considerably since early Active Directory deployments were designed and this will allow for consolidation of the overall number of domain controllers in many cases.

With regards to global catalog (GC) servers, there are very few reasons not to make all domain controllers global catalog servers. Indeed, in a single-domain forest, all domain controllers are effectively GCs. In particular, multi-domain forests using user principle names (UPNs) for logon should consider making each DC a GC.

Read-only domain controllers (RODCs) are new in Windows Server 2008 and provide read-only access to Active Directory. Many people (myself included) have compared this functionality with Windows NT backup domain controllers (BDCs) but that’s not a true comparison as no passwords are stored locally and an RODC cannot be promoted to a full DC. The introduction of RODC functionality is really a security feature to mitigate against the theft of a DC on a high-risk site (e.g. a branch location without a physically secure computer room) and is not really intended for DMZ access to AD. RODCs can reduce replication, as they only replicate inbound traffic; however where users travel between several remote sites they can increase logon traffic as the users details may not be available on the RODC.

The decision as to whether to deploy an RODC or a full DC will depend on:

  • Application requirements (e.g. does the application need to write to the directory).
  • Site topology (e.g. site link bridging turned off – see below).
  • Password replication policy (no account caching will lead to increased WAN/hub DC traffic).

Further details may be found in Microsoft’s RODC planning and deployment guide.

AD site design is closely linked to DC placement and there are two basic models:

  1. A logical site for every physical location, assigning subnets for each physical location to the corresponding site.
  2. A logical site for every physical location that has one or more DCs, assigning subnets for physical locations to the most appropriate site (based on the underlying network).

Both approaches work well; however with the first option, DNS site coverage must be considered (i.e. ensure that that appropriate name server records are in place). With the second option, clients are automatically referred. It’s also worth considering other applications (e.g. DFSR) and if there is no DC on site then option 1 may make more sense.

Site links should map to the underlying physical network with appropriate costs and replication schedules applied. According to Microsoft, one common mistake is to assign all sites to the DEFAULTIPSITELINK – effectively using a single link for replication and preventing the application of appropriate costs for least-cost routing.

Also, the option to bridge all site links is on my default and, although this is appropriate on a fully routable network (i.e. one where all DCs can communicate freely) it is not recommended for branch offices (due to the overheads associated with the intersite messaging transport and calculating site links) and can be disabled using repadmin /siteoptions (which still allows DFSR to calculate site link costs).

Custom site link bridges may be used where a network is not fully routable (e.g. if firewalls restrict communication between DCs).

The AD replication topology is automatically managed by the knowledge consistency checker (KCC) based on the site link design, automatically creating the connection objects that are required for replication. The KCC-generated topology is used for AD and sysvol replication using the file replication service (FRS); however in Windows Server 2008 sysvol is replicated using DFSR, once the domain functional level is at Windows Server 2008. This increases scalability (removing inefficiencies around FRS version vector joins). For new Windows Server 2008 native domains, replication of sysvol via DFSR is automatic but for upgraded domains there is a migration process to follow.

In the next post in this series, I’ll take a look at the design considerations for domain controller configuration.

More on Microsoft’s ad campaign – are you a PC?

So, were the Gates/Seinfeld ads canned? Who knows – right from the start they were supposed to be teasers, something to get a conversation started – and they sure did that – the ‘net is awash with people (like me) saying how lame they are (although I’ve seen a few comments from people saying that they were starting to get into things with the second ad). PC
Now the blogosphere (and mainstream industry sites) are awash with people saying how Microsoft has come up with “I’m a PC” to take a swipe back at Apple – but without being funny. Hang on guys… you’re missing the point! I’m a PC is just a soundbite – saying how (Windows) PCs have been stereotyped as dull things from the office, things that are unreliable, things that can’t do anything exciting – but that over a billion real people use (Windows) PCs to do real things and showing some of those people. Personally, I don’t like the “I’m a PC” statement from the myriad users featured in the ads (“I use a PC” would be fine) but, then again, I come from the country that invented the English language (England) and these ads are targeted at people who speak American (there is no such thing as US English!).

Then there is the Life without Walls campaign – showing how many things can be done on a PC and how one operating system transcends so many devices used throughout the world.

Windows - Life Without Walls

And the Mojave Experiment, which basically said “come and look at Windows before writing it off as a disaster”.

I can see that this campaign is multifaceted. It seems to lack something to link the disparate themes of Mojave, Seinfeld/Gates, I’m a PC, Life without Walls and the manufacturer-focused Vista Velocity but I do at least understand where this is heading now. And I think it’s a smart move inviting consumers to add their own videos to the campaign, further underlining the fact that ordinary people use Windows PCs (a PC is not a stereotype).

As for the Microsoft-bashers, well, they’ll always find something to poke at, like that the ads were apparently made on a Mac Apple PC – but really, so what? (Many professional design studios do use Macs but that doesn’t mean a Windows PC is not perfectly good enough for home movies).

At last, this campaign seems to be going somewhere, but I can’t help thinking there are a bunch more Bill and Jerry ads waiting to slip out one day.

An alternative view

The links below highlight the views on this subject from a few well-known Microsoft-watchers:

Active Directory design considerations: part 5 (security groups)

Continuing the series of posts about design considerations for Microsoft Active Directory (AD), based around the MCS Talks: Enterprise Architecture series of webcasts, this post discusses the design considerations for the creation and use of security groups within Active Directory.

First of all, let’s recap on the various group scopes.

Account groups are used to group users and computers. There are two types:

  • Global groups may contain members from their own domain (only).
  • Universal groups may contain members from any domain in the same forest and their membership is included in the global catalog in order to support mail-enabled groups.

Permissions may be assigned to either type of group (as long as they are in the same or a trusted domain).

Resource groups are used to assign rights and permissions and, again, there are two types:

  • Domain Local groups may contain members from any trusted domain in any forest (so are required if there is to be a cross-forest group membership).
  • Built-in local groups.

Permissions may be assigned to either type of group but only in their own domain.

Some organisations will ignore the differences in group scope if they are using a single domain environment, as the various types of group will function in a similar manner; however it’s worth considering that the forest/domain design may change over time (e.g. as a result of business changes) and so it is always good practice to use the appropriate group type.

The recommended approach is to add users to account groups, then add account groups to resource groups and use the resource groups to assign permissions on objects.

One consideration is nesting – whilst nested groups help to keep the size of the kerberos token down (Microsoft knowledge base article 263693 is old now, but explains why this this may be an issue), it can also make auditing difficult. Nesting is not to be totally avoided; however the complexity of the nested groups should be carefully considered. In particular, nesting groups into the built-in Administrator group should be avoided as it creates a potential “back door” into a system – anyone with the ability to add users to one of the nested groups can effectively make themself an administrator!

Adding users directly to a domain local group is not good practice but there are situations where it can be useful. For example, if there are two forests with a trust relationship, adding user accounts from one forest into a domain local group in the other may be preferable to adding a global group from the trusted domain to the domain local group, which effectively delegates control over the domain local group to the administrator in the trusted forest – almost certainly undesirable.

Basically, add users to account groups, account groups to resource groups and assign permissions to resource groups where possible but sometimes a little flexibility may be required.

In the next post in this series, I’ll take a look at the design considerations for domain controller placement and the associated site links.

Bye bye iTunes… hello 7digital

For the last few years, I’ve been using Apple iTunes to manage my music collection. I ripped all of my full length CDs to MP3 using iTunes (at the highest bitrate it allowed at the time – 192kpbs) although I still have about 500 CD singles to do and I now favour a higher bitrate (even if I can’t hear it, I’d like to know that the quality is there should I want to do something else with the media at a later date as technology progresses). Sam C. Lin carried out an interesting study comparing MP3 encoding with and the linear PCM recording used for CD audio.

Until today, all of my digital downloads have come from the iTunes Store (DRM-free where the record companies allow it). Unfortunately the record companies don’t like Apple’s market dominance and the DRM-free iTunes Plus catalogue is still very limited.

Whilst indie music fans have DRM-free alternatives like eMusic, for my more mainstream tastes I’ve been waiting for Amazon to bring their digital download service to the UK but then, frustrated by the 30 second clips of various mixes on iTunes of “Paddy’s Revenge” by Steve Mac (sampling the Penguin Café Orchestra), I decided to Google a little and found an alternative download site – 7digital. 7digital logoNot only did 7digital sample a different section of the track (allowing me to decide which mix I would like) but it offers MP3 downloads at up to 320kbps and a big discount if I buy all the mixes together (just like when I used to buy CD singles). Furthermore, 7digital has just become the first European music site to offer DRM-free downloads from all four of the big music publishers.

Within a few minutes, my shopping basket included a couple more individual tracks that I’ve been thinking of getting – “Love Is Noise” by The Verve and “Sex on Fire” by Kings of Leon (I did stop short of buying Katy Perry‘s “I Kissed a Girl” though). Then I saw that 7digital had a section for music from TV Ads and I got browsing… a few minutes later I’d also picked up “She’s So Lovely” by Scouting for Girls.

I still don’t buy albums in digital format as I’d like a physical media backup and, to be perfectly honest, knocking a pound off the retail price is not a big enough discount – it’s not as if the artists get paid a bigger share and the distribution costs must be almost nothing – but then I saw that 7digital had albums on sale at £2, £3 (and even free). It’s not just obscure stuff that’s reduced either – I could buy “Yours Truly, Angry Mob” by Kaiser Chiefs in 320kbps MP3 format for £4.99 (although I chose to buy just the tracks I wanted) but not all albums are that cheap as their earlier album “Employment” was £7.99 (so, pretty much on a par with the supermarkets, Amazon.co.uk and Play.com).

To checkout, I needed to create an account but I could pay by card, PayPal or text message and, once my payment had been processed, I could download my tracks individually or as a zip file (even change format for tracks that had multiple formats available at the same price) and those tracks are still available for me to download again at a later date (via a feature called my locker).

7digital locker

After downloading, I simply dragged the MP3 files to iTunes, switched to my “Recently Added” playlist, selected the new tracks and added them to the “Purchased” playlist. As should be expected, all tracks were supplied complete with album art and other metadata.

So what does this tell me?

  1. iTunes is easy – that’s why I’ve been buying tracks there for the last few years. But, now that DRM is no longer an issue, downloading tracks from somewhere else is just one extra step (after importing them into iTunes they can be synced with my iPhone/iPod).
  2. It is possible to get better quality downloads (legally) and better pricing if you shop around. Maybe not everyone will have the same catalogue but 7digital has a major advantage through its arrangements with all four major music publishers.

What should it tell the music industry?

  1. People will still pay for DRM-free music, at the right price.
  2. People like me, who are too old to spend Saturday afternoons hanging around HMV (anyway, I have a family these days) will still buy music if you make it easy enough – maybe not in the quantities I used to but it’s worth noting that I spent money this afternoon that I wouldn’t have done if there wasn’t a legal download option.

I’ll still use iTunes to manage my music and video library but I don’t see any reason for me to go back to the iTunes store now… regardless of what the the new “Genius” sidebar in iTunes 8.0 tells me (I hate Apple’s use of that word!) – from now on, it’s 7digital all the way for me.

Apple iTunes 8, showing recently added tracks and the genius sidebar