Saturday, September 16, 2006

Notes from a Beleaguered Small-Time Sys Admin

My family is highly computerized and connected. In fact, we have more than twice as many computers in the house as TV's; two computers for every family member. Despite the cozy domesticity of the setup, it's a pretty high-demand environment. The need for reliable, high-speed connectivity, permissions, security, file services, mobility, etc., make this much more than a "plug in the WiFi router and cable modem" system

Over the years, I've experimented with a lot of technologies. In the mid-90's, I ran Microsoft Windows NT Server 4.0 and IIS on a retired Pentium, with mostly Windows 9x machines connecting as clients. It was a constant maintenance headache, and I got hacked more than once. I needed to do dynamic, data-driven apps and that proved too hard for me in the NT environment (SQL server, Active Server Pages, etc.).

Finally, in a fit of frustration, I switched to Linux as the server on the same machine: Red Hat 6 & 7. I had only a passing familiarity with Unix, so it was a huge learning curve. But by the end I had a secure, flexible environment: serving files internally through Samba and running Apache, PHP, and MySQL for the web. Great performance and stability. Like night and day compared to NT Server. And it was much, much faster on the same hardware.

But it really sucked to administer. No matter what any of the religious zealots say, Linux is fine if either you don't need a very interactive environment, or you are willing to get very deep into the configs. But the "ease-of-use" factor is just not there. Sure, there are good tools out there with graphical front-ends to some of the configurations, but IMHO they are not integrated or particularly easy to use.

So, when I could afford it, I bought myself a rack-mount server. A Mac XServe G5; dual processor, 2 gigabytes of RAM, RAID, the works. I wanted the Mac OSX Server tools as the front-end for administration and I wanted ARD. I figured all the benefits of Unix and all the benefits of Mac simplicity and vertical integration.

It's actually both better and worse than I expected. With Mac clients and the Apple Wifi hub, it's incredibly stable and fast. I'm getting more functionality for my PC clients, but given how great it is for the Mac clients, the PC's are definitely second class citizens.

Interestingly, Server Admin and Workgroup Administrator are not as great as I expected. Good, mind you; certainly better than anything I had with Linux. But not quite as polished as the best Mac consumer apps. I haven't totally figured out the launchd thing, either.

From the total amateur's perspective, the benefit of Mac desktops and a Mac OSX server are legion. The combination of ARD, ubiquitous terminal access, WiFi admin, LDAP/Open Directory, etc. make the routine admin a joy.

What could be better? Scripting, for one thing. It would be great if AppleScript was as good as Ruby or Python. I need a launchd wizard. They should allow Server Admin to accept plugins so somebody enterprising could make a Mongrel or Lighttpd front end that works as nicely as their Apache one. It will be interesting to see how they integrate Ruby on Rails in OSX 10.5.

Finally, I think there is an appliance play for Apple here. They can use the same form factor as the iTV and offer DSL/Cable routing, a WiFi hub, web serving and file serving for the home power user. I think Apple are 90% there with the current toolset -- they need one more ease of use refinement.