• View Communities
    • Citrix Developer Network
      The place for unfiltered straight talk on Citrix products. Blogs, code downloads, best practices, APIs, and more can all be found here.
    • Citrix Ready Community Verified
      Does it work with Citrix? Application compatibility questions are a thing of the past with the new Citrix Community Verified site.
    • Blogs
      Learn the latest from the Citrix employees who are building application delivery infrastructure technologies.
    • Blogosphere
      The Citrix Blogosphere is a window into the thousands of conversations taking place about Citrix and Application Delivery.
  •  Sign In
The Citrix Blog
Personal Blog
Simon Crosby
posted by Simon Crosby

(I deleted this by mistake while editing it. Added thoughts on how the OS will evolve)

Virtualization challenges many established IT "truths" from the heyday of x86 scale-out. Nowhere is this more apparent than in the challenge facing the major OS vendors in the context of virtualization.

VMware's (initial ) success in infrastructure virtualization, and the rapid gains XenServer is making (we added ~25,000 customers in the last quarter) appears to confirm that IT managers view the virtualization of their datacenter infrastructure as a platform property completely independent of the workloads that use it, but it seems to me that most OS vendors believed initially at least that adding virtualization to the OS would lead to success both as an OS and as a virtual infrastructure platform.

To be perfectly clear, I don't for a moment think that Hyper-V in Windows, or Xen or even KVM in Linux are bad hypervisors. They aren't. Hyper-V R2 is by all accounts excellent, and Xen is of course fabulous. But a great hypervisor is not a great virtual infrastructure platform. The key is the rest of the infrastructure - the abstractions of storage, networking, compute that enable resource pooling, multi-tenancy, high availability, dynamic workload balancing and all of the other benefits that accrue from a virtualized infrastructure.

Virtualization as property of the infrastructure is nowhere more obvious than in Infrastructure as a Service (IaaS) clouds such as Amazon's EC2 and Virtual Private Cloud VPC, RackSpace's Cloud Servers™ and Softlayer's CloudLayer™. Microsoft Windows Azure offers a much richer model, but as an IaaS layer in which Windows will run, includes virtualization as an infrastructural property, not a property of the OS. Virtualization provided by the user's OS is of no benefit in the cloud since the cloud platform already includes it. Moreover IaaS clouds offer a richer notion of virtualization than that afforded by a hypervisor - they virtualize, isolate and secure server, storage and networking resources across pools of hardware resources, to deliver a rich set of infrastructural services and SLAs that are necessarily not OS-specific.

So, if virtual infrastructure is the way to go, either owned or rented from a cloud, what happens to the venerable OS? I see a real challenge to the traditional notion of the OS.

Simplifying the argument considerably, one can view today's OSes as supporting two key abstractions, namely the ownership and management of (a single server's worth of) hardware, and services to support applications hosted by the OS. The OS originated as a common set of platform management abstractions across multiple applications, freeing application developers from the complexity of managing the hardware. Today though, customers purchase their infrastructure by choosing from vendors in a number of horizontal layers, which has introduced more and more complexity into the OS, with increasing layers of OS specific abstractions for dealing with infrastructural complexity. For example OCFS2 is a fine a cluster file system for Linux, and Windows Cluster Services offers some similar, but some very different clustering abstractions for Windows.

Enter virtualization, simply as an emergent consequence of Moore's Law: A great way to run multiple workloads on a single set of pooled hardware resources, with a powerful set of abstractions that are not OS specific but rather focused on a common set of infrastructure services for all OSes/apps, together with common lifecycle management abstractions for all workloads. This approach is directly at odds with that of the OS-centric view in which the hardware virtualization abstractions have historically been incompatible with other OSes.

I think that the OS centric approach to virtualization is misaligned with the customer's goals - namely a common abstraction for hardware that is OS neutral and that can serve any application or desktop (in a VM).

This conflict has led the major OS vendors to offer both "OS with hypervisor as another feature" and "hypervisor-in-a-cut-down-OS for virtualization" products (Microsoft Hyper-V Server and Windows Server 2008, and the forthcoming Red Hat Enterprise Virtualization (RHEV) platform and RHEL with Xen, are good examples. Similarly Oracle with Oracle Enterprise Linux, and Oracle VM). The big question, of course, is whether this dual-approach strategy is what customers want.

I think it's decidedly iffy: While the hypervisor-in-a-cut-down-OS can do a decent job of virtualizing CPU, memory and I/O on a server, virtualizing storage and networking require OS-independent abstractions, which once again these platforms lack. (Here again I see a trend: whereas Hyper-V R1 had very little in the way of a storage abstraction, R2 brings with it Cluster Shared Volumes, which considerably advance R2 in the direction of a virtual infrastructure platform, rather than the lower half of an OS. In general, pooling resources across servers, storage and network to build a larger infrastructural abstraction requires constructs and technologies that are not available in today's OSes, and the vendors will surely build them leveraging existing OS-vendor specific abstractions. Hence they are likely to be incompatible with others of their ilk.

Don't the virtual infrastructure vendors suffer the same incompatibility issues? I think the answer can quite easily be "no". How? We compete with VMware. Doesn't that bias us toward incompatible infrastructural abstractions? What about Oracle? Sun xVM?

To start with, think of virtual infrastructure in the context of the IaaS clouds. While they differ (and that's good) in terms of the services and semantics that they offer, the abstraction is high enough that it can (and will) be common across virtual infrastructure vendors, and of course independent of OS specific technologies. When you purchase IaaS services, do you ask for a vendor-specific platform? Hopefully not. Imagine if you demanded that Amazon S3 offer EMC Symmetrix based block storage. Similarly, will you demand that your IaaS cloud vendor use VMware based virtual infrastructure? Why would you care? The DMTF OVF standard that Citrix, Microsoft, VMware and others have developed, and upon which VMware vCloud is based, permits users to package complex multi-tier applications - in portable VMs - in a single package. Adoption of OVF as the packaging standard that enterprises use to get applications into the cloud means we can ensure compatibility at the IaaS layer. The OVF packaging technology from Project Kensho will be a key component of the open source Xen Cloud Platform at Xen.org.

A key point here is that the industry has for the first time standardized its abstractions in a way that never occurred for the OS vendors. The DMTF abstractions for management of virtualization - the SVPC profiles - provide a common language and abstractions for virtualized resources that will enable even the hypervisor-in-a-cut-down-OS models to evolve to deliver a consistent and compatible set of infrastructural services to the workloads that they host. So Hyper-V R2 with CSV, for example, moves in the direction of also supporting the virtualized storage abstractions of a virtual infrastructure.

The industry's love affair with "cloud" is a recognition of the emergence of:

  • IT infrastructural services as fundamental abstractions for the future of IT, with built-in properties of dynamic scaling, high availability, accountability, security and guaranteed service levels. All courtesy of infrastructure virtualization, and all independent of the OS.
  • The renewed focus of IT on applications and the platform needed to deliver them. IT ought not focus on the issues of OSes and their incompatibilities with other OSes. The OS will evolve from being a run-time container for apps (ie OS in a VM) to being a platform layer that can manipulate the virtual infrastructure abstractions and will therefore be as important as ever, but the "OS as owner of a single server's worth of hardware" will lose its relevance over time, as the concept of virtual infrastructure becomes accepted in the mainstream.
  • The standardized abstractions of the virtual infrastructure layer as a replacement for OS-centric hardware abstractions, that presents to the application layer (OSes and apps in VMs and App development platforms) a common set of abstractions for storage, networking, and compute together with SLAs associated with them.

Is this the end of the OS? Not at all. Today's IT practice is still OS centric and is only partially down the path toward adoption of a virtual infrastructure hosting virtualized traditional OSes that run the apps. The rate of change will be dominated by the rate of change of human skill sets, and not just the rate of technology development.

In the medium term, however, there looms a challenge to today's OS vendor business models, licensing schemes and even their brands. Our notion of the OS must evolve beyond a narrow historical view - that of a run-time environment that back in the '90s used to execute on a single physical server. Customers will want an operational platform that embraces, pools, shares and isolates hardware resources, virtualizing them and offering multiple tenants the ability to securely gain access to guaranteed resources for their applications, with granular accounting. And, crucially, with no bias toward the specific set of (traditional) app-facing services offered by the (traditional) OS. A well-virtualized infrastructure couldn't care less whether you run your apps on Windows or Linux. It makes resources available subject to an application level service requirement, then quietly gets on with its job - providing guaranteed resources with absolute security.

If IaaS clouds are the new server vendors, then the OS meets the server when the user runs an app in the cloud. That radically changes the business model for the OS vendor. But is the OS then simply a runtime for an application? The OS vendors would rightly quibble with that. The OS is today the locus of innovation in applications, and its rich primitives for the development and support of multi-tiered apps that span multiple servers on virtualized infrastructure is an indication of the future of the OS itself: Just as the abstraction of hardware has extended over multiple servers, so will the abstraction of the application support and runtime layers. Unlike my friends at VMware who view virtualization as the "New OS" I view the New OS as the trend toward an app isolation abstraction that is independent of hardware: the emergence of Platform as a Service.

Anyone can build a hypervisor. In fact, it's been a solved problem for years. But a hypervisor in an OS is not enough. What's needed is two new abstractions: Virtual Infrastructure that spans multiple servers/networks/storage, and an application platform that seamlessly spans multiple servers/storage/networks.

The Virtual Infrastructure vendors should stick to their knitting, and not pretend to be the "new OS". The OS vendors have a choice coming, or perhaps they will successfully deliver both virtual infrastructure and a next gen application platform. None is more interesting than Microsoft, which with Hyper-V Server, Windows Server with Hyper-V and Microsoft Azure, has an iron in every fire. Azure will offer IaaS and PaaS abstractions, as well as full-fledged SaaS (in the form of BPOS Online). Of the traditional OS vendors, therefore, Microsoft appears to be better hedged than Sun and the Linux vendors.

Labels

xenserver xenserver Delete
xenapp xenapp Delete
xendesktop xendesktop Delete
lang-eng lang-eng Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Sep 22

    Anonymous says:

    Surprising to read this, coming from a Citrix executive. Congratulations Simon, ...

    Surprising to read this, coming from a Citrix executive. Congratulations Simon, for exposing your own (and very correct) thoughts, even not aligned with the long term Citrix-MS marriage.

    The only part I do not agree is with the ironic "initial" VMware success. Besides marketing and unsupported claims, VMware competitors still needs to show real facts that VMware dominance is over. For now, the Market shows VMware strong, still dominating enterprises.

  2. Sep 26

    Anonymous says:

    This conflict has led the major OS vendors to offer both "OS with hypervisor as...

    This conflict has led the major OS vendors to offer both "OS with hypervisor as another feature" and "hypervisor-in-a-cut-down-OS for virtualization" products (Microsoft Hyper-V Server and Windows Server 2008, and the forthcoming Red Hat Enterprise Virtualization (RHEV) platform and RHEL with Xen, are good examples. Similarly Oracle with Oracle Enterprise Linux, and Oracle VM). The big question, of course, is whether this dual-approach strategy is what customers want.


    I don't understand how this is different to what Citrix is offering with Xen Server.

    XenServer is Xen Hypervisor + cut down version of Centos
    Oracle VM is Xen Hypervisor + cut down version of oEL

    Aren't these effectively the same thing? The main difference (albeit an important one) is the management platform

    You talk about XenServer as if it's OS agnostic, unlike oVM, SLES or RHEL that are tied to Linux. Every blog I read it sounds like Xen is a thin standalone hypervisor

    But you skim past the point that the lions share of XenServer that we install is a CentOS domain0, you're as closely tied to the OS as Oracle, Novell or Red Hat. The big difference is that if the customer want's a physical server they have to go elsewhere - back to Oracle, Novell, Red Hat or Microsoft.

    All the points your making also apply to Oracle, Red Hat, Novell and even Microsoft, the biggest difference is that they have an OS, which is more important than you portray

    1. Sep 28

      Massimo RE FERRE' says:

      @Anonymous (2), you can't really compare/position the Xen Dom0 (or the ESX CoS...

      @Anonymous (2),

      you can't really compare/position the Xen Dom0 (or the ESX CoS for that matters) to the Windows Parent Partition.

      The Dom0/CoS is there for technical/management purposes. The Parent Partition on the other hand is there for "business reasons" so to speak. Virtualization for MS, simply put, is really a value item of Windows (i.e. the Parent Partition). So for them Windows is central and virtualization is just one of its many features/roles. This is different compared to how Citrix and VMware approach virtualization.

      I have to agree with Anonymous (1) in the sense that on one side MS and Citrix seems to go hand in hand ....... on the other side Citrix claims the world to move towards a picture that doesn't seem to favor the MS View. Sure MS might be well position to win this battle as well but clearly it would be much better for them to maintain the status quo rather than taking the datacenter apart and rebuild it with different rules.

      Massimo.

      1. Sep 29

        Anonymous says:

        really doesn't matter how you want to market it if the technical implementation ...

        really doesn't matter how you want to market it if the technical implementation is exactly the same. There's no difference between a Dom0 based on CentOS and Windows 2008 server core which is also there for "management". At the end of the day, the customer has to manage a Dom0 or parent partition, whether it was architected for technical/management purposes or whether it was there for "business reasons". The net effect is extra baggage that requires security controls, configuration management, and auditing. The approach between Citrix and MS may differ in marketing but the technical implementation leads us to the same place, so why do I care why you implemented your Dom0?

  3. Sep 28

    Anonymous says:

    Wow, great post, Simon. I hadn't seen it prior to writing this, but I think we'...

    Wow, great post, Simon.

    I hadn't seen it prior to writing this, but I think we're discussing very similar things:

    Incomplete Thought: Virtual Machines Are the Problem, Not the Solution...

    http://www.rationalsurvivability.com/blog/?p=1371

    I was going to ask for your perspective, but it's already here.

    /Hoff

  4. Sep 29

    Anonymous says:

    Hi guys You're near, very near to the solution ... You just need to a systemic ...

    Hi guys

    You're near, very near to the solution ... You just need to a systemic vision.

    Now imagine an cloud OS. This OS will accept some comands like create server, create dbms, etc.

    Then imagine that that OS will also be able to maintain a vision of the application landscape. Then the commands will be DEPLOY application "name" on ServerType.

    So my idea is to have a sort of global cache that will maintain the distributed configuration of both application and hardware at a high level. Then, you can zoom in using standard app interface or infrastructure API.

    Application running on VM, App server services being running with OSGI and hypervisor are offering the basic elements for the puzzle.

    Do not do the same mistakes again. The only one killer application is the one that will unify distributed application and cloud infrastructure through placement and global state.

    My main issue is data management ... That is the only one piece that does not fit well with the approach.

    That was my $0.02, or several seconds of CPU distraction.

    I will write more on my dream on http://blog.resilient-IT.com/

  5. Sep 30

    Massimo RE FERRE' says:

    @ Anonymous (I guess #2) >The approach between Citrix and MS may differ in ...

    @ Anonymous (I guess #2)

    >The approach between Citrix and MS may differ in marketing but the technical implementation leads us >to the same place

    Let me state it upfront: I am not here to bash MS. I am trying to set the record straight based on facts.

    Having this said, if you look at the complete scope of the hypervisors out there.... I wouldn't probably say that a Hyper-V Core setup is similar to an ESXi setup as far as "the management partition" is concerned. If you have a different opinion than we just have divergent points of view and that's fine .... let's not try to convince each other.

    Other than the technical details discussion (on which we diverge) we can't really pretend the business/strategy side doesn't count. I wrote about this a few months ago here: http://it20.info/blogs/main/archive/2008/11/04/157.aspx
    Since we are on a Citrix blog, the Citrix strategy is very close to the VMware strategy (as one might depict from this very specific Simon's post we are commenting). Whether Citrix has a better chance to win Vs VMware or viceversa I don't care... but there are actually two very different philosophies right now (the MS/Suse/RedHat one and the VMware/Citrix one).

    This has obviously direct implications on IT operations and what you can actually do. So if you decide virtualization is a feature of your OS you are probably treating this OS as a first class citizen Vs other potential Guest OSes. I will give credit to MS for being active in making Hyper-V a good platform for Linux workloads too but I think there are details (yet fundamentals) that need to be solved before Hyper-V could get to a "workload agnostic" state (and I doubt it will ever get there due to the strategy-business side of the discussion). Example: http://www.vcritical.com/2009/06/choose-any-two-hyper-v-ha-linux/

    Massimo.

Add Comment