I'll begin by sharing that I am the reluctant system administrator of a dedicated Linux server at one of the major hosting companies. I've come to loathe web-based control panels and spend a lot of time on the command line over SSH, but I've wished many times that running my server would be as simple and familiar as running my Mac. And before the review opportunity came up, I had also recently become the owner of 2 Minis and had a pretty good idea what they were capable of. So it wasn't surprising to me that the idea could work. I really wanted to know, though, if a Mini hosted at Macminicolo could let me enjoy the Mac experience within the realm of hosting solutions... for about 1/6 of what I pay for my Linux server on a monthly basis.
If you've played with one of the newer Minis, you're aware that they're pretty snappy and can handle some surprising tasks. Most of the services you'd want to run on a hosting solution don't really faze the tiny trooper. So what I really wanted to look at first was the speeds that Macminicolo could provide over the network. I had a 1.83 GHz, Intel Core 2 Duo with 1 Gig of RAM, and a 2.2 GHz Dual Core AMD Athlon 64 with 2 Gigs of RAM, both sitting on a 10/100T Ethernet connection. It should be noted that you can run any Mini you want to (you can mail your own), so I could have matched the AMD processor against one of the 2GHz Intel Core Duos, but I was working with what I had and rather liked the idea of seeing how the underdog performed.
I started up the built in "web sharing" (Apache) on the Mini and ran a battery of
ab tests (Apache Benchmark) against static and dynamic pages pulling from MySQL databases. Over 8 tests of 1000 concurrent hits on a static page, the Mini's average response time was only milliseconds behind the Linux box, which is somewhat impressive given the discrepancy in processor power. I then matched up the MySQL buffer and memory settings and ran the same test on a basic WordPress install with no caching. Again, the Mini was slower, but often within 25 milliseconds of the AMD.
I also used a third remote Linux server to run some
curl tests on a 112Mb file going both directions. This was mostly just to see how the connection speeds of the two servers would hold up. Tests going in both directions were run at noon and midnight to counter differences in network load. The Macminicolo server actually fared better overall in these tests, owing at least in part to the fact that Macminicolo doesn't throttle their users' bandwidth, unlike my provider and other large hosting companies. That testing was enough to assure me that the Mini was, in fact, capable of handling web server duties, so I began to explore the possibilities of other applications.
The ability to handle software installs using OS X (over VNC) was very appealing. Running multiple virtual machines with different configurations allowed me to serve up a Jabber client, a Deki Wiki, a Rails development server and more with ease. I've done that on a Linux server, but never found it so easy, a fact easily attributed to the quality of the software designed for OS X.
I'm told that several companies use a remote Mini as a companion to an XServe, doing everything from monitoring the main server to handling the secure transactions for a main website. You could, if needed, host two or more Minis and serve databases off of a dedicated machine. DNS services and extra IP addresses are available from Macminicolo for competitive monthly fees.
Moving beyond basic web services, a visit to Macminicolo's blog, FarAwayMac, provides some ideas about what else you can do with a colocated Mini. It's an expensive solution just for remote storage or streaming your music, but it's more than capable of doing so. I tested Mojo with it, and set up an automated rsync backup. I didn't test out an enterprise database, but some companies are serving up Daylite and FileMaker databases on their Mini. The possibilities are really quite broad in scope.
The large type on their website says $34.99/mo is the starting price. Don't drink the KoolAid yet, though, you still need the Mini, and a few extra services can easily double that monthly price. You can ship your own Mini or buy from them at Apple prices, but that can still make for a hefty startup fee. You could always go refurb and save $130 or so, but you're still over $400 on the minimum buy-in. Plus, any service your Mini requires along the way is your responsibility. You own it, after all. Head to the pricing page and you'll note the $49.99 setup fee; I have no complaints about that as it's perfectly competitive, but it makes your first month cost that much more.
So, let's say you picked up a 1.66GHz, refurbished Mini for $429 and chose a bare-bones hosting plan at Macminicolo with 20 Gigabytes of monthly bandwidth, no remote reboot, no stats and no backup machine provided if your Mini needs service (an option they do provide for $16.99/mo). You choose to have one IP address and no DNS service, and sign a 2 year contract. With setup fees and first month's payment, you're looking at spending $513.98 to get started. Of course, you do own the box now, and your next month will only be $34.99.
Now, let's say we go for the gusto and get a new Mini with a 2GHz Intel Core Duo processor, 2 Gigs of RAM (you could get 3 Gigs, if you wanted to), and a 120 Gig internal HD, and then sign up for a 2 year contract that includes a couple of IP addresses, DNS service, 50 Gigs of monthly bandwidth (you can have 1000 for $399/mo, should you really, really need it) and all of the goodies. We'll go ahead and add a 160 Gig external Firewire hard drive for $185 plus $15 per month (because it requires a power source). Now you've got a startup cost of $1,268.97 and a monthly bill of $84.98. That's without any software costs, which would be entirely up to you.
So, take those numbers and compare that to what you're spending (or might spend) for a dedicated server and hosting. If you find that a Mini is capable of serving your needs, maybe you don't need that XServe after all. In my case, comparing to the dedicated Linux server hosting I'm currently paying for, I'd be saving money, even after averaging the cost of the Mini out over the first year. And I certainly can't ignore the fact that it's a Mac, and one that's capable of running Leopard Server. My short time with a colocated Mini led me to believe that, for my needs, I could do just fine – if not better – with a colocated Mini, and have a lot more free time. But... if you're fine on a shared server and/or don't need a dedicated, OS X system, you probably don't need Macminicolo, especially if what you've got is cheaper. If you're paying for a dedicated server and doing your system administration through Linux (oh, really? An IIS server?), you can fairly easily weigh your needs and current expenses against the capabilities and costs of colocating a Mini and decide if it's a viable solution.
So, in short, you get the box and the connection (and housing in a cooled facility with clean power). The box is yours and yours alone, and it has the obvious benefit of being a Mac. However, as I learned about halfway through my testing, those can be broken as easily as any server under the control of an audacious but often clumsy sysadmin (that'd be me). That's how I found out that Macminicolo provides much better service than the host of my current server (thanks Brian!). It was specifically pointed out that we weren't getting any special treatment and that the personal emails and service we got were standard for all customers. The Mini is indeed capable of handling some extraordinary tasks, and the actual available bandwidth and network speeds rival much more expensive solutions. Between the blog, the FAQ and the pdf manual they provide, there's plenty of information available to make an informed decision. There's even a video series at FreeMacBlog on setting up a Mini as a server, in case you want to see what you'd be getting into.
Overall, very cool stuff. When I work up the motivation to deal with moving my whole shebang to a new server, Macminicolo will make the short list.