Cisco Systems (
NASDAQ:
CSCO) surprised, if not everyone, at least a lot of people, Monday (3/16) by announcing the launch of a line of data servers based on what the company calls
"Cisco Unified Computing System." What surprised many is the fact that the new system invades turf that Cisco has long left to
Hewlett Packard (HP). In the past, so the thinking goes, the two companies cooperated in the enterprise data system market, with HP providing the computers that store and retrieve the data (the servers), and Cisco content to provide the networking infrastructure to interconnect them. Cisco's new blade-style server product, however, competes directly with HP's offerings in the enterprise data system market.
The product, called Data Center 3.0, is said to reduce total cost of ownership, accelerate business growth, and extend the lifecycle of current infrastructure.
Where have we heard that before?
Cisco, however, is doing things to make good on this promise. What media pundits might wake up to is the business strategy behind it. At least as important, however, is the fact that it is designed as a fully functional
virtualized platform. This is something that I haven't heard any reports pick up on, so that is what I'll spend most of this blog describing.
Business StrategyFrom a business strategy standpoint, Cisco has pulled together an "ecosystem" of partners making software and hardware components needed to make a complete solution. Partners include storage-disk maker EMC, enterprise software developers VMWare and Red Hat, and several others.
Such alliances are generally the best way for a single company to approach a technically complex market like enterprise data systems. It goes back to Marketing 101: stick to your knitting. That rule (which is often honored in the breach to many CEOs' eventual chagrin) can be paraphrased thus: "Do what you do best, and leave it to others to do the rest."
Each company has its core competence, which is what it does best, and hopefully better than its competitors. That's where it should concentrate its efforts to provide the greatest value added.
Every complex system, however, requires a range of core competencies beyond what virtually every company has at its disposal. The partnership model that Cisco seems to favor can, if done well, bring together the set of core competencies needed to make a technologically superior product. Products developed by any other strategy are doomed to be a combination of best solutions in some areas and less-than-optimal (read "amateurish") solutions in others.
VirtualizationBut, that's not what I want to talk about today. What I want to talk about is one of the core competencies Cisco has managed to incorporate into its new product through this team approach: virtualization.
Virtualization is a relatively recent software development that most people, including most engineers, haven't a clue about. It's actually a simple idea with profound implications.
Conventional computer architectures have a microprocessor-hardware base, with an operating system (OS), such as Windows or Linux, linking that hardware with the world of application software (think Word, Excel, Quicken). The user interacts through a human-machine interface (HMI) consisting of a keyboard, a mouse, a monitor, and other peripheral devices.
Figure 1: Conventional computer systems have an OS running directly on the microprocessor hardware.
Some such systems (such as that clanky old monster in my basement) allow the user to chose from a number (usually two) of available systems when turning on the computer. For example, the monster in the basement is set up to normally boot up with the Mandrake Linux OS, but has an option for booting up with Windows XP. Sometimes I want to use Linux, and sometimes Windows. With this machine, I can have either -- but not both at the same time.
Virtualization includes an extra layer, called a "hypervisor" inserted between the operating system and the OS. This runs directly on the hardware, representing itself to the hardware as a complete, monolithic OS.
Figure 2: Virtualized computer systems insert an extra software layer, called a hypervisor
between the hardware and OS.
The hypervisor represents itself to the actual OS as if it were hardware, but not necessarily the actual hardware. In other words, the operating system sends down commands as if it were talking directly to the hardware it expects. The hypervisor is designed to accept these commands just as the expected hardware would have. It then generates new commands to for the hardware that is actually there.
This little trick was originally intended to allow software engineers to design and debug operating systems for new hardware products that might be under development, but for which actual samples weren't available, yet. It shortened time to market for new hardware/software systems by allowing software and hardware development projects to run in parallel, rather than in series.
Once you have a hypervisor capable of mimicing hardware to an operating system, you can install more than on operating system on it. So, you can have two OSs running simultaneously on the same machine. Each OS thinks it's the only one running on the machine. Now, this allows even more interesting tricks.
For example, since all communication between the OS and hardware is filtered through the hypervisor, the hypervisor can (and usually does) include security utilities that check all incoming files for malware, such as viruses before passing it on to hard-disk storage. This has obvious advantages for enterprise data storage systems.
That's just one example of how virtualization improves operation of an enterprise-level data system. There are a host of others. To learn more about them, visit
Wikipedia's virtualization entry.
Virtualization makes data-center operations perform better, and be more secure, more transparent to users, and easier to manage and maintain. Having a data-center product designed specifically for virtualization gives it a leg up over other, more conventional server architectures. In the end, that is likely the motivation behind Cisco's decision to enter the server market. They wanted to bring out a virtualized server architecture that would be superior to what they felt HP was going to provide.