Launchpad Entry: foo
Created: 21 October 2009
This spec is for an Ubuntu business server product to compete with Windows Server.
This would be an entirely new product with its own CD/ISO.
A release note does not really apply as this is a major project, not a minor change to an existing package.
End user impact
The end user gets a user friendly, out-of-the-box solution to domain management with benefits over Windows Server.
- Automated auditing (tracking of hardware, serials numbers and installed software)
- Centralised software installation and removal
- Install a new workstation preconfigured with company software through use of disk images
- It's free
- Employees (general public) will use and experience Ubuntu
- Employees will be far more likely to use Ubuntu at home after they've experienced it at work
We're missing out on massive market share because we don't have an out-of-the-box domain solution. Businesses do not use Linux on their servers because it requires too much knowledge and many businesses do not want to hire a system administrator when other solutions allow them to manage it themselves.
"I refuse to support this because servers should be CLI only. I believe inexperienced admins shouldn't be managing servers."
It's not about what you believe, it's about what the customer wants. If customers want a GUI product to manage a basic file server, we must give it to them or they'll use a different product.
"Why would Ubuntu's market share increase just because there's a GUI?"
The GUI isn't what sells the product but it plays a key part. What sells the product is the fact that it's easy to use plus the other benefits it has which Windows cannot/does not provide (images, auditing, centralised management of all installed software).
"A domain server won't help the market share, we just need to improve packages and market more."
Many people don't even know what an operating system is. No amount of marketing will make these people switch. They need to experience Ubuntu themselves and the workplace is the best way to do this.
I administrate a Windows network. About half of the workstations are laptops and are frequently taken off-site. I was tasked with creating an audit of all technical equipment the company owns. I had to run software manually on each workstation to create the audit, which is difficult because laptops are coming and going all the time. Auditing is important for every business so I was surprised there was no simple solution. I knew if all the computers were running Ubuntu it could be configured to send lshw and dpkg -l to the server every time a workstation connects. An Ubuntu domain server and its workstations should do this out of the box to keep a centralised list of all hardware/software.
On the same network, if any software needs to be installed on all computers I have to do it manually, which is also a pain because of the travelling laptops. In an Ubuntu domain environment I could schedule a command (such as apt-get install packagename) to run on all/selected workstations. The server would run the commands immediately with a retry queue if the workstation is offline.
On a different network I've set up a standalone Samba server on Ubuntu Server 9.04. I found this somewhat difficult, having to read through many chapters of Samba documentation just to get file shares and permissions working correctly. This is clearly nowhere near as easy as it is on Windows.
Consider a business with Windows Server, 100 Windows workstations and one system administrator. One day, at home, the system administrator tries this thing called Ubuntu. He notices it comes in three editions: desktop, server and domain server. He tries the desktop edition first and is impressed at how usable it is. Next, he tries the domain server edition. During the install, it boasts features such as automatic auditing and centralised software management. After logging in, he's presented with tools to manage users and install services such as a web and email server. He's blown away by the simplicity of it and notes it's much more usable than Windows Server. It would make his job so much easier. The next day he tells his boss and soon afterwards he's deploying it in his workplace.
Booting from the CD will give you the following options:
- Install Ubuntu Domain Server
- Deploy a workstation from an image
- Record a workstation image
- other standard options (boot from primary disk, check CD for defects, etc)
The installation would be similar to Ubuntu Desktop, (using Ubiquity). Some extra pages in the installation wizard:
- Ask for hostname, domain name and server role (PDC, BDC, domain member or standalone)
- Ask for static IP configuration, but include option to get address via DHCP (eg. for people testing in a virtual machine)
The installer would also include a slideshow demonstrating features that are not available in Windows Server (disk images, auditing, centralised management of all installed software).
The installer would install a desktop environment without the usual apps (OpenOffice, Evolution, media players, graphics tools, etc). The installer would also install various tools such as Samba, LDAP, BIND9, DHCP3 Server and SSH Server. The installer would install a tool called Server Manager and place a launcher on the desktop.
Joining a workstation
New tool added to Ubuntu desktop edition: System > Administration > Join a domain.
When an Ubuntu workstation joins the domain, ssh-server is installed on the workstation so the server can manage it. It may be possible to integrate this with the machine's trust account on the domain.
GUI tool on the server to manage everything.
Computers and Auditing
The server periodically logs into the Ubuntu workstations using SSH and runs lshw and dpkg -l to retrieve a hardware list (including serials) and installed software list. This information is displayed in the Hardware and Software tabs for each computer.
The Notes tab should contain user-editable notes with timestamps, such as:
- RAM upgraded to 2GB
- Installed new hard drive
- Motherboard has fried, computer is dead
The command center would allow you to run commands on your Ubuntu workstations. You would select the workstations to run the command on, then choose what to do: Install software, remove software or run a custom command. The server would try to connect to each workstation using SSH and run the command. If the workstation is offline the command enters a queue, which can also be viewed in the Server Manager.
To install an image: Insert the CD in the workstation and choose "Install workstation from image". It finds the Ubuntu domain controller and queries it for a list of workstation images. The administrator chooses an image and enters his domain username and password. The tool prompts him for some information such as the workstation's desired hostname and what disk to install the image to. The tool then copies the image from the server, installs it and changes the hostname. Ideally the administrator should be able to remove the CD shortly after the process starts so he can move on to install another workstation.
To save an image: Insert a CD in the workstation and choose "Save workstation image". The administrator enters his domain username and password and enters a name for the image (eg. Accounting computer). The tool creates an image file and sends it to the server.
Backup and Restore
Nothing special here. Scheduling backups, choosing selections, restoring.
Services would be modules that can be added onto the Server Manager. Add/remove services would allow you to browse a simple list and install. Each service module would obviously be different.
In the Advanced node would be DNS, DHCP and SSH.
The Server Manager tool should call its own suite of scripts to change config files. This allows the same scripts to be used by other tools such as a web interface (future spec) or by someone logging in with SSH.
Alpha/beta ISO images can be released on a regular basis to allow people to test it.
BoF agenda and discussion