Since 2012, Amazon Web Services has had its own app store. Today, it sells developer tools, NoSQL databases, monitoring and issue tracking software, operating systems, and all the essential components developers typically need to build and manage an application stack.
That service has been reliant upon Bitnami, whose business is to package stack components into very tight bundles. Last week, Bitnami also joined a partnership with Google Compute Engine. To understand the significance of that move requires a peek back into history.
The Native Habitat of Wild Stacks
In ancient days, when colossal serpents roamed the vast, untamed continents, the easiest way you could deploy a SaaS application in the cloud was to spin up an instance of a virtual machine where a generic form of that application was already installed. In the case of open source software, many cloud services encouraged their own customers to create generic instances that could then be shared with customers. With Azure, for example, there are stock virtual machine instances on VHD files, not unlike something you’d see packaged for use with Oracle’s VirtualBox.
That’s all very convenient, kind of. In the modern world, evolved homo sapiens prefer to run applications “in the cloud,” as opposed to “on a VM running in the cloud.” If you think about it, what’s the real purpose of creating yet another fake PC every time you want to instantiate an app?
The cleverest of the species have taken to subscribing to services that offer something you may have read about called a “stack.”
Since 2008, a stack provider called Bitnami (originally with a big “N”) has had the goal of simplifying the deployment of enterprise applications, especially content management systems, by compacting onto a single stack everything that all such services would require.
As this 2013 tutorial video shows (YouTube), Bitnami’s standardized stack was so complete that you could deploy it on a physical PC, thus creating a safe, sandboxed development environment for almost any application. A Bitnami stack was based on the “big three” — Apache, MySQL, and PHP — with versions for Linux, Mac OS and Windows. Thus: LAMP, MAMP and WAMP.
Evolution Forces Adaptation
As the earth’s magma cooled, however, Bitnami evolved into an instant app launcher: a way to choose an app you need to run and say, “Run that.”
“Bitnami Cloud Hosting is focused on business and non-technical users for whom the native cloud consoles (Google, Amazon, Azure) offer too many degrees of freedom, and hence are hard to use,” explains Erica Brescia, Bitnami’s chief operating officer, speaking with CMSWire. “As such, it helps bring more of these users to the cloud who might otherwise be more comfortable using legacy platforms.”
For the purposes of its cloud-based launcher, Bitnami packages are indeed tightly bundled, Linux-based VMs — not as tight as a Docker container, but still minimal. Because of the way Bitnami’s scripted installers are engineered, you could deploy multiple apps, and be assured of no interference or dependency problems between them.
“Pre-configuring the Linux VM is extremely complex, because it requires understanding the full software stack and its dependencies,” says Brescia. “The ongoing headache of keeping that stack maintained is an additional burden that Bitnami removes. Users can simply spin up the latest version of the image they want. This has become especially valuable in light of recent security issues in lower-level components on the Linux OS.”
You may have already noticed, Bitnami is reselling its own brand of self-provisioning app hosting through AWS. And its parent company, BitRock, Inc., also knows quite a few things about installers. If you haven’t heard of BitRock, you’ve probably heard of its other major product: InstallBuilder.
It’s Beginning to Look a Lot Like Bitnami
In a move last week to help even the score against Amazon, Google unveiled its own branded Cloud Launcher.
It’s essentially a SaaS apps store, complete with 126 well-known open source packages (some of them the same app configured for different stacks) available to be deployed on Google Compute Engine with just a few clicks of its self-provisioning system. You might notice (it isn’t hidden) that a great many of these packages are indeed Bitnami bundles.
It is not, as has been reported elsewhere, Google’s first “click-to-deploy” system; Google has actually had its own click-to-deploy provisioning on Compute Engine since early 2014. It also is not “just one click,” but it certainly isn’t very many clicks, and veterans of free credit report services won’t be easily fooled, anyway.
But Cloud Launcher does bring Google — a company whose client-side apps store is better known and more heavily used than Amazon’s — closer to parity with Amazon’s AWS Marketplace, which resells pre-configured Bitnami packages on behalf of BitRock.
For later this spring, Brescia tells us, Bitnami will be rolling out what it calls “it-just-works” monitoring support for packages launched in Google’s cloud, in the form of Google Cloud Monitoring. This way, customers may obtain live performance metrics.
We asked Brescia, what can a Bitnami or Google Cloud Launcher customer do with a packaged VM that’s over and above what that same customer could do with, say, a Docker container running on Google Container Engine?
“We don’t think of containers as competing with VMs,” the COO replied. “Containers have many attributes that are valuable to developers and their workflows. But both forms of packaging and distribution can benefit from repeatability, strong version guarantees, and standardized approaches to common operational challenges such as logging and monitoring.
“We are big fans of containers and use them extensively for our own development,” Brescia added, before throwing in this eye-opening note: “We will be releasing a Bitnami container offering in the near future.”
Update: Bitnami just launched Dockerizer, an open platform for distributing developer teams.
Feature image via Flickr Creative Commons.