The foundation of Sun’s autonomic computing initiatives is N1, a set of applications that enables utility computing — that is, where applications can be dynamically configured via software. N1 is still very much a work in progress; nevertheless, one part that’s soon to ship is called N1 Provisioning Server Blades Edition.
This package offers a GUI-based interface for detecting server blade resources on a network, assigning them to virtual LANs, loading disk images containing operating systems and applications, and then adding the servers to load-balanced clusters. Note that this is provisioning software only; it doesn’t perform server management functions such as CPU load monitoring, fault detection, or remote administration.
Sun acquired the N1 Grid Provisioning Server software through its November 2002 purchase of Terraspring. The full software package is unwieldy due to its need to support a large number of server, load-balancer, firewall, network, and storage devices; the Blade Edition is a subset of the software constrained to work with the B1600 system and therefore is much simpler.
Much simpler — but not perfect. Sun’s engineers came to install the N1 Provisioning Server, which runs on a separate Sun Fire V120 server, at my test lab, using the B1600 blade system delivered previously. After about four hours, they couldn’t get it to work and had to bring the entire system back to Sun’s Menlo Park offices to troubleshoot the software before bringing it back a few days later. Like I said, it’s a work in progress.
As it stands, the software works as advertised: a drag-and-drop GUI accessible via a browser, lets administrators detect unused servers (sorted by architecture), public (WAN) and private (LAN) router ports, firewalls, load balancers, and SSL accelerators. These devices can be connected together using single-line drawings and the servers associated with disk images. Press a button, wait between half an hour and two hours, and voila! The servers are loaded up, the load balancer is configured, you have an IP address, and you’re ready to start serving up Web pages or handling other transactions.
Need more horsepower for an existing transaction system? Open up its configuration file, drag more resources to it, and execute the change. Have too many resources on an application (for instance, if you’re coming off a peak load time)? Delete a resource from the configuration file and execute the change. It can all be done over the Internet, without any manual intervention.
The system isn’t perfect, however. Right now it understands only the hardware in the N1 blade system. Also, it can only allocate individual devices to a single LAN — so you’d have to dedicate an entire SSL accelerator or network load balancer to a single Web application or group of Web servers. That’s an expensive scenario, as without N1, those costly devices can service many server groups. Also, sometimes the reconfiguration process crashes or the system doesn’t recognize new resources; fixing this requires lots of command-line debugging, manual database reconfiguring, and patience.
Another flaw: The system can’t import an existing server configuration; installing N1 Provisioning Server requires a complete wiping of all servers and systems that it controls, which limits its appeal to new installations. But those are hiccups, not fatal weaknesses. Would I deploy the management system today? Probably not. But Sun’s N1 software demonstrates, albeit in a limited way, the potential of utility computing and grids for better utilizing server hardware and for adding agility to a large datacenter. It has tremendous potential and I look forward to seeing a future version.