In its BitNami Cloud Hosting service, Bitrock Inc. combines its catalog of integrated open-source Web-application stacks with Amazon Web Services features to provide organizations and developers with a simple means of setting up and hosting these applications.
I've used BitNami's stacks in the past to get up and running quickly with popular open-source Web applications. The bundles comprise all the server, runtime and code components required to run applications, such as Alfresco or SugarCRM, and come in versions that support Linux, Windows or OS X hosts, as well as in ready-to-run virtual-machine images.
In my tests of the new service, which went public last month, I found the Amazon integration a great complement to the BitNami application bundles-providing, as it were, the final layer of the stacks.
However, the greatest asset of the BitNami catalog-its multi-platform support-is for now missing from the BCH (BitNami Cloud Hosting) service. The service currently offers only Ubuntu Linux as a host option, and only Amazon EC2 (Elastic Compute Cloud) as a hosting option. According to Bitrock, support for Windows and for additional cloud services, including Microsoft's Azure, is in the works.
Along similar lines, probably the biggest drawback to the service, and to the BitNami Stacks themselves, is that in pursuit of multi-platform friendliness, these bundles tend to diverge from the conventions of the operating systems on which they run. For instance, on Ubuntu, the applications are installed in different locations and run with different scripts than they would if installed from Ubuntu's packaging system.
That said, these configuration differences aren't particularly exotic, and many open-source Web applications, such as Wordpress, have matured to the point that most administration and customization chores can be carried out from within their Web-based admin consoles.
Pricing breaks out into seven account tiers and subtiers, each of which supports different numbers of managed servers, EC2 instances sizes and Cloud accounts. The basic account tier is $24 per month, supports up to three micro or small-sized instances, and includes one account. On the other end of the pricing table is an enterprise tier with support for up to 50 instances of any size with 10 accounts; it is $1,199 per month. For the full pricing breakdown, see http://bitnami.org/cloud/pricing.
I'd like to see Bitrock experiment with pricing based on adding a premium to Amazon EC2 hosting costs, to allow its plans to scale with use-a pricing option that Amazon offers to providers that could save Bitnami users time puzzling over how many and what sizes of instances they intend to use before they begin digging in.
BitNami Cloud Hosting in the Lab
I created a BCH account at app.bitnamihosting.com, and configured my account with access to two different Amazon Web Services accounts; it was easy to select between these accounts when creating or restoring BCH instances.
The server instance-creation process starts with choosing one or more of 21 open-source Web applications from BitNami's Stacks catalog to install, including applications based on Java, PHP and Ruby. At this point, I could specify the default admin login credentials for the application, and choose which cloud account and which instance size I wanted for my server.
BCH gave me the option of basing my instance on 64- or 32-bit Ubuntu Linux 10.04, and allowed me to choose how large I wished to make the Amazon EBS (Elastic Block Store) volume associated with my server. Integrating Amazon's separate EBS is a nice touch, as the data from typical EC2 instances doesn't persist by default. Along similar lines, I could associate a static address provided through Amazon's Elastic IP service to ensure that my server would remain accessible at the same address across reboots.
The server-creation wizard does some checking to make sure that instances can accommodate the selected applications-for instance, when I created an Alfresco server with a 2GB storage volume, the BCH Web interface directed me to choose a volume of at least 2.6GB.
I expected to be able to add and remove BitNami Stack applications through the Web interface after my server was up and running, but I could not do this through the admin console. I would have to log in to the server and install the additional applications from a command line.
My test instance fired up within a few minutes, and configuration and use of a Wordpress instance was unremarkable.
Back at the BCH console, I was able to back up virtual instances, on demand and on schedule, and restore my backups to new VMs. BCH taps these capabilities for its "resize" feature, which I used to upsize my storage volume or instance size. After I'd made these resize choices, the service kicked off an automatic backup of my server, stopped the server, started up the resized instance and restored the backup to the new VM.
I hit a snag when I attempted to downsize a storage volume, something that's not supported but that the console does not currently catch with its error-checking logic.
BCH includes a basic monitoring panel for virtual instances. I could consult charts of memory, CPU and storage use, and confirm the status of Apache and MySQL services on my instance. The console also lists the estimated storage and processing costs of servers hosted under BCH's management.
BCH also supports server scheduling. I could set the VM to run during business hours during the week, for instance, to save money when the machine is less likely to be in use.
I would like to see BCH combine its resizing and scheduling capabilities to enable an appliance to run with different resources based on expected load. It would be even better if the monitoring could be brought into the mix to make resizing dependent on actual, as opposed to expected, load.