Sunday, October 29, 2006

The Red Hat Paradox

When Oracle announced its entrance into the general purpose operating system market, I was most surprised by the endorsements provided by Red Hat’s partners. AMD, Intel, IBM, NetApp, HP, Dell, and several others endorsed Oracle’s move into the space. On the surface, this endorsement would seem to indicate that Red Hat has done a poor job meeting the needs of these partners. If you dig a bit deeper, however, it is inevitable that any general purpose operating system company will eventually fail their partners and customers if they are successful in the market.

How to explain this paradox of failure through success? Let’s examine the economics of the general purpose operating system business. The goal is to sell as many copies of the OS while spending the least amount of money engineering the OS. The easiest approach to maximize sales while minimizing expense is to engineer a single, one-size-fits-all implementation of the OS targeted at the sector of the market that is willing to pay the most for such an OS. The benefit of this approach is that it is possible (with a bit of luck, some good engineering, and a bit of a lead at the beginning of the race) to pull off the holy grail of software and create a de facto “standard.” The downside is that no one gets what they really want.

The reason that no one gets what they want is because the OS becomes a huge compromise - the lowest common denominator across all requirements. Even mighty Microsoft struggles with this issue of attempting to serve all requirements with a single, one size fits all, product. The period between releases of products grows and grows. The amount of new features that distinguish the OS shrinks and shrinks. So much effort goes into simply trying to make all of the old programs and drivers continue to work with all of the new programs and drivers coming into the market that the OS schedule and features become casualties of this work. Another casualty is the relationship with your partners and customers.

When attempting to make everyone’s drivers and code work with a single release of the OS, no one’s drivers and code work really well. When the schedules and features slip, your partners’ businesses are impacted. Your customers planning schedules are impacted. No one is happy. Which explains why Red Hat appears to be a victim of its own success when all of its partners stand up to endorse a competitor such as Oracle.

So what is the answer? Well, I don’t think the answer is Oracle using the same technology and the same approach to the market and promising lower prices. Nor do I believe the answer is for Red Hat to simply “try harder.” Something needs to change. I believe the change will occur when pervasive virtualization technology splits the operating system into the separate categories of hardware OS and application OS. Then, the only standard that needs to be maintained is the virtual machine format. Each application can arrive as a virtual appliance with its own unique, tailored OS wrapped inside a standard virtual machine. All applications work seamlessly together on the same machine without the requirement for a general purpose, one-size-fits-all operating system.

The signposts of this change are already there if you care to look for them. VMware’s revenue and growth rate are off the charts. The hype surrounding Xen is deafening. Microsoft just announced they are opening up their virtualization spec in an attempt to avoid falling further behind VMware. And the virtual appliance hype has gone from non-existent to a continuous, ever louder thunder roll in a matter of only 9 months. And, finally, all of Red Hat’s partners stood up to endorse Oracle as a Red Hat competitor because they believe Red Hat should have done a better job serving them. It’s time for all of us to take responsibility for this problem and move to a better model. A model where everyone can have what they want, and the operating system providers can be successful without failing their customers or their partners.

Thursday, October 26, 2006

Oracle Offers Linux

Today at Oracle World, Larry Ellison announced that Oracle would offer Linux maintenance and support services. This offer supports Charles Phillips' earlier keynote message (in reference to software generally, not Linux specifically):

"We want to change the ownership experience completely. We are trying to systematically reduce risk, systematically reduce cost, and improve the experience of owning software."

We will all have to wait and see if Oracle emerges as a credible provider of a general purpose operating system. They are clearly the market leader for general purpose database technology, so they definitely have the skills to handle complex technical products. However, Oracle has not distinguished themselves in other similar general purpose infrastructure categories. In the case of application servers, Oracle mostly provides technology in support of their application deployments. How many deployments of Oracle application servers exist absent a deployment of Oracle applications?

There are also many unanswered technical questions regarding how Oracle will provide Linux maintenance. Oracle claims they are going to follow the Red Hat maintenance stream, but they also claim they are going to issue patches to customers independent of Red Hat. When Oracle patches a system for a customer, and Red Hat subsequently provides a patch that conflicts with the Oracle approach, how will the conflict be resolved?

Red Hat systems rely on a maintenance packaging approach (the Red Hat Package Manager or rpm) that assumes a single maintenance stream from a single vendor. The naming convention for rpm combined with the approach for handling dependency metadata will make it very difficult for Oracle to insert themselves into the maintenance process in a manner that provides the best Linux technology offered by both Red Hat and Oracle separately. It is more likely that a customer move to the Oracle maintenance stream will be a permanent move because the resulting system will quickly become incompatible with Red Hat maintenance. Perhaps the Oracle system will be better. We will have to wait and see.

Independent of the technical challenges that Oracle’s approach will present for customers, Oracle’s embrace of Linux demonstrates the power of open source as a competitive weapon. Any company can use Linux to serve their specific application or business purpose. Here are just a few examples of companies that provide Linux to their customers in support of a complete software experience:

- Google provides Linux as part of the Google mini search appliance

- EMC provides Linux as part of its Centera content addressed storage solution

- Cisco provides Linux as part of its Unified CallManager product

- Agami Systems provides Linux as part of its Information Server to achieve record breaking NAS throughput

- Digium provides Linux as part of their Asterisk Business Edition VOIP solution to enable hassle-free deployment and maintenance by their customers and channels.

- Ingres provides Linux as part of their project Icebreaker database software appliance.

These companies all provide Linux in order to deliver greater value to their customers. Oracle has now decided that they also want to ship Linux in support of their unique business objectives. The lesson from all of these examples is the same – the freedom of Linux can provide competitive advantage. How will you use it to improve your business?

Wednesday, October 18, 2006

Microsoft Responds to Virtualization Threat

At risk of falling farther behind in the increasingly important virtualization race, Microsoft indicated yesterday that it would open up its Virtual Hard Disk format under the terms of its Open Specification Promise. VMware opened its VMDK specification almost a year ago, and they continue to barrel forward, delivering $188M in revenue in the current quarter - up 86% from last year. I suppose Microsoft has determined that they cannot set the agenda with a proprietary format when they are so far behind such a significant competitor.

Why should anyone in the open source space care about this announcement? It is important because it will enable software vendors to build Linux applications that run on Microsoft systems. When all Microsoft servers provide virtualization services via VHD, a Linux software appliance can install on the system by copying a VHD file onto the system and starting the VHD service. The software appliance simply needs to be "wrapped" in a VHD container, thereby creating a virtual appliance. Any utilities, such as failover, SAN connectivity, etc, that Microsoft provides via the VHD service will now be available to Linux based software appliances. The OS that runs the hardware is now de-coupled from the OS that runs the application.

Why should software vendors care about this announcement? Currently, software vendors spend far too much engineering expense, up to 50% of the R&D budget in some cases, on multi-platform porting, maintenance, QA, installers, customer service, etc. With virtualization services as the interface between the application and the "hardware" operating system, ISVs can simply do a single Linux port to create a Linux based software appliance that will plug-in and run in any customer environment. Because the "application OS" is de-coupled from the "hardware OS," the ISV is in total control of their environment without sacrificing any market share associated with customer platform preferences.

Why should customers care about this announcement? Customers will be able to dramatically reduce the expense of software deployment and maintenance when applications are provided as virtual appliances. The burden of integration, testing, and maintenance shifts to the application vendor, and all of the conflicts that historically required you to run "one app to one box" are eliminated because each application is isolated in a virtual container. Additionally, the number of servers required for the infrastructure will be cut in half when utilization rates climb from the high teens to something in the neighborhood of 70 - 80% because multiple apps can now run on the same server without crashing.

When the leader (a monopolist no less) in the operating system space has to provide open specifications that enable other operating systems to control the applications, it is a strong indicator that the OS business is about to undergo massive changes. The days of the standard, general purpose operating system are definitely coming to an end.

Saturday, October 07, 2006

The Standard OS is Virtually Gone

Last week, Intel announced that it plans to certify its motherboards to run VMware's operating system. The VMware operating system is marketed under the brand name VMware Infrastructure, but it is effectively a "hardware" operating system. I use the "hardware" modifier because this product is not a "standard", general purpose operating system, but instead it is a platform for running virtual appliances. Each virtual appliance brings its own, unique "application" operating system with it, eliminating the requirement for a "standard" operating system to run multiple applications on the same server.

"Why is this important?" you might ask. Well, it is important because historically applications were artificially bound to the hardware infrastructure because the standard operating system had to support BOTH the hardware AND the application. Separating the operating system into independent "hardware" operating systems and "application" operating systems allows the hardware infrastructure to evolve independently from the application infrastructure, and vice versa. With this announcement, any application running any version of any operating system can be wrapped in a virtual machine container (creating a virtual appliance) and deployed to an Intel server by simply copying a file onto the "hardware" operating system.

Imagine, application installation that is as easy as copying a file to the server . . . every time. Imagine never having any conflicts among applications due to competing system service requirements. Imagine server utilization percentages in the high 80s because you no longer need to run "one app to one box" due to the impossible conflicts among applications. Imagine skipping at least one step of the DEV, QA, TEST, PRODUCTION application promotion cycle because incompatibilities among the app and the infrastructure are a thing of the past. If you are a software vendor, imagine eliminating all of the hassles of multi-platform porting, maintenance, and customer service, allowing you to drive 6 - 10 points of pure margin to the bottom line.

When virtualization eliminates the "standard", general purpose operating system and creates the new categories of "hardware" and "application" operating systems, we will all wonder why we tolerated so much pain for such a long time.