Appliance Philosophy (The Network is the Backplane)
There are two ways to identify potential network appliances. I won't claim we used these techniques when we started NetApp; I understand appliances much better now than I did then.
- Appliance-ize Hardware Components
The first way is to look at all of the different hardware components on a fully configured general-purpose computer. Pull them off and attach them to the network instead. My computer has a direct attach printer? Pull it off and make a network printing appliance. My computer has a monitor and keyboard? Pull them off and make a thin-client.
Of course, network storage is in this category. Pull the disks out of my computer and attach them to the network instead.
When we started Network Appliance, we chose a very generic name because we believed that there would be many more appliance opportunities beyond storage. At that time, network storage was such a small niche that it didn't occur to us that there would be decades of growth for our company just within that one space. We were already looking for expansion opportunity. At this point, all of the appliances in this category have been taken. People have made appliances out of printers, tape libraries, monitor/keyboard—pretty much the whole 1980s-era general-purpose computer has been shredded into appliances. Cisco even pulled off the network ports and created the router. - Appliance-ize Common Applications
The second way to identify appliances is to look in a large data center and identify applications so important that they have lots of general-purpose computers dedicated to them.
Hey, we've got lots of e-mail servers, let's build an e-mail appliance! That led to Mirapoint and IronPort, for instance. People have also built appliances for database, web service, firewall, VPN and web caching.
Interestingly, network storage is in this category as well. Before storage appliances, people used large numbers of general-purpose computers for network file service.
At this point, my instinct is that the appliance-revolution—the idea of turning everything that you can think of into an appliance—has become quite mature. Today, most startups at least ask whether they can offer their technology as an appliance. Sometimes I wonder whether this trend has gone too far. In a remote office, for instance, is it really easier to manage 20 appliances than to manage one general-purpose server with 20 applications?
I believe that this question leads to the most interesting appliance category to be invented in the last 10 years: the CPU appliance. Why not pull the CPU/memory subsystem out of the general-purpose computer and attach it directly to the network. No need for keyboards, displays, disks, tapes or anything! After all, when you have finished pulling all of the other hardware out of the general-purpose computer, CPU and memory is all that's left. Of course, I'm talking about Linux farms, blade servers, and the CPU virtualization tools that go along with them, like VMware, Microsoft Virtual Server and Xen.
I wonder whether the CPU-appliance will kill the whole second category of appliances. Why bother buying a custom appliance for my application if I've got an easy to manage, well virtualized CPU appliance that will run any application?
Right now these environments aren't as simple as they need to be, but I think CPU-appliance is the best way to describe the high-level trends that we are seeing in this area. Scott McNealy was so close. The network isn't the computer. The network is the backplane.



