The explosion of cloud in enterprise IT environments, in the delivery of modern software and in the design of hosted infrastructure in service provider environments has had the added consequence of making open source projects some of the most-discussed software in the technology conversation.
Open source projects – both community-based and sponsored by big organizations – are playing key roles at the cloud platform level, with OpenStack and its associated tools taking center stage, even as projects like the Citrix-and-Apache-overseen CloudStack and VMware’s Cloud Foundry gain attention.
The CloudStack 4.0 open source hosting platform for cloud environments was released in November.
At the hypervisor level, open source projects like Xen and KVM are widely deployed. Open standards are even being embraced at the hardware architecture level, with projects like Facebook’s Open Compute project.
Many hosts today are facing cloud platform decisions, and for just about every hosting provider, making those platform decisions involves evaluating new open source technologies. But that’s not a big leap for most of them. In the hosting world, open source is part of the DNA. It’s not a fluke that the LAMP stack is the dominant platform in the hosting space. Open-source technology, and more importantly open source licensing, were a big part of originally making shared web hosting a viable business model.
Gandi, a French-based cloud hosting company with a presence in the US, has a kind of general open-arms policy around embracing open-source technology wherever it can, though not necessarily a specialization in any particular piece of open-source software. A bit like the idea of building open-source software, the decision to run a hosting company based on open-source tools is part circumstance, part opportunity, and part philosophy.
“There’s a lot of things we do for customers that we can do more effectively and at a higher scale because we use open-source software,” says Thomas Stocking, the chief operating officer of Gandi’s US business (and co-founder of an open-source software company, GroundWork, in 2004). “We use Roundcube for webmail. Our platform as a service is on a LAMP stack. And the Linux distros we use are all non-commercial versions – so the Debian and CentOS versions, rather than the Red Hats, Novels and SuSEs of the world.”
Open Source Software and the Development of the Cloud
As I’ve already mentioned, there are numerous examples of big, important cloud platform projects that are open source software. But Stocking points out that open source technology has a more central role in the development of the cloud than just being one of the development and licensing models along which certain cloud tools have been built.
“If you think about the whole cloud computing rush, there’s a lot that has been going on that is fostered by the flexibility of open source – if you couldn’t build a bunch of servers, and couldn’t quickly build them up and tear them down, then you wouldn’t be experimenting so much,” says Stocking. “A lot of the great ideas don’t really go by board approval. They’re kind of cooked up in the labs and skunkworks projects, and if you didn’t have open source to do that off-budget, you might not come up with some of these great ideas. I really think cloud computing wouldn’t be here, at least not in the form we know it, if it hadn’t been for Linux, for sure, but also the main hypervisors like Xen and KVM.”
The Price and Scale Advantage of Open Source Hosting
Price and scale may be the simplest, or most straightforward, advantage of the open source hosting environment, and one that is described in part by the previous quote. It’s also not going to surprise anyone operating a hosting business. Simply put, plenty of open-source projects have free distributions, which have a pretty obvious cost advantage over software that costs money.
If you want to offer any service based on a particular piece of software to your customers, you’ll have to license that software. If the software has a per-seat charge, it can definitely tip the economics of the offering in favor of open-source at large scale. Other licensing models (the ones that don’t account for multi-tenancy) can interfere with the basic economics of hosting from the get-go.
Plenty of commercial software has evolved over the years to account for multi-tenant, hosted environments over the years. But this is where the open-source model’s advantage is strongest historically.
“There’s a lot of things we do for customers that we can do more effectively and at a higher scale because we use open-source software,” says Stocking.
Open Source Communities and Hosting Service Providers
One of the great advantages of open source projects in general is the communities that so often surround them and the passion those users have for the software itself. There’s a real opportunity here for a hosting provider to build goodwill within these communities by providing them with support, by contributing hosting resources, expertise or even code, modules or templates. This can be especially powerful in the communities around open-source content management systems like DotNetNuke or Joomla, or even WordPress. And there are plenty of examples of hosting providers who have built their businesses by specializing in these tools.
BlackMesh, a medium-sized managed hosting provider, is a great example of a hosting company that has built up a reputation within an open source community by specializing in dealing with Drupal, though it isn’t necessarily the focal point of the company’s marketing efforts or identity (which focuses more on hands-on, consultative managed hosting with application development assistance), aside from the effort it puts in to regularly participating in Drupal-related events.
Not expecting anything in return is key here. This isn’t a marketing tactic we’re talking about. It’s an area of specialization, of specific interest, and a kind of commitment to a cause. Do not fake an interest in an open source project, in the hopes that a user community will embrace you. They’re almost certain to spot an imposter, and very unlikely to react positively. In fact, they’re likely to regard you suspiciously from the outset. It’s up to you to demonstrate your value to the community.
“If you’re going to offer something that has a really active developer community, you need a relationship with that community. And I learned this at my last company – we really needed to be contributors in order to be taken seriously,” says Stocking. “As a company, you face a bit of a bias, as opposed to being just a knowledgeable developer who everyone else will want to collaborate with. As a company, you’re seen as, oh, they’re a commercial entity and they’re not really into this for the same reasons I am, so I’m not going to respond to their question. You have to overcome that if you want to take advantage of the fact that there is an active community of developers around a given project.”
The Integration and Support Challenge in Open Source Hosting
One of the big challenges associated with delivering hosted services based on open-source technology is that there isn’t very a formal organization established to support the technology, which means you’re on your own in terms of supporting customers you’re supplying with those services.
In some cases, like Eucalyptus, there are open source tools that are backed by support. But in most cases, when a customer comes to you saying, “there’s a bug in this software,” you’re going to have to have a way to handle fixing that bug. That means either having the ability on-hand to dig into the code and fix a problem, or outsourcing the support to somebody else. Either way, that’s going to cut into the price advantage offered by open source (though not necessarily the scale advantage).
If you want to rely on in-house expertise, then the expertise you have is going to affect the sorts of services and tools you choose to offer.
“In general, Gandi has taken the approach that we need to be able to get into this ourselves,” says Stocking. “We need to be able to make the changes to the software that we need to make. So we need to choose packages carefully. We can’t choose a package that’s written in Java if we don’t have a Java programmer, and we can’t build a test environment for Java. We have to say, we’re going to offer platform-as-a-service stuff, but we’re going to offer applications you can install on our web hosting platform, or our VPS hosting platform, that we’re familiar with or that have huge communities and are well understood and that we can support up to a point.”
The other side of that support coin (in the sense that it raises the same in-house-or-outsource question) is integration. If you’re going to offer a service to customers, not only do you have to have the means to support it, but you’ll have to build a package that works in the first place. That’s going to require you to do the integration work to produce something that works out of the box, is completely deployable and includes management tools to cover the basic use cases.
You’ll also have to clearly define what you will and won’t support, based on what the customer then does with the packages you supply.
“Because it is open source, you have to be able to draw the line and say, you’re using it out of the box with our management tools, so we’ll support you,” says Stocking. “But then [you have to be able to] say, okay, you went in and replaced these libraries with a version of your own, or you updated it; you’re on your own. There’s that support cut-off challenge.”
The Staffing and Expertise Challenge of Open Source Hosting
This is covered pretty intuitively in the previous section on support and integration, but having the expertise on hand to meet those challenges is pretty clearly a staffing challenge, and an expense.
Practically speaking, though, there isn’t an effective model for delivering hosted services that doesn’t require good software and a good staff. The challenge in the open source case has more to do with making sure you have the means to do that integration work, you understand the APIs, and you can code applications so they work properly with your platform and your control panels.
An Open Source Hosting Tool for Every Situation
As I’ve suggested pretty thoroughly up to this point, there are definitely a few “no brainer” open source hosting platform tools, most notably the LAMP software stack that includes Linux, Apache, MySQL and PHP and Perl. There are also a few hypervisors (Xen, KVM) and cloud infrastructure platforms (OpenStack, CloudStack) distinguishing themselves as foundational elements of the hosting platform.
The content management system is another layer of the hosting offering where the open source tools are well-established, including Drupal, Joomla, DotNetNuke and of course WordPress.. Tying those solutions into a hosting control panel is a pretty simple matter of installing a plugin at this point.
There are a few webmail clients that are very popular among hosting providers as well. Stocking says Gandi provides its customers with RoundCube, which, despite its decent level of popularity, he calls “fantastic and underutilized.”
But the open source opportunities, he says, may lie in introducing new value-adds to customers. Some of the ripest avenues for that, says Stocking, are monitoring and analytics.
Open source projects have delivered some quick network trouble-shooting tools that hosts can use to identify problems with their own networks, or can offer to customers in order to help them troubleshoot problems with their own hosting services.
“Some of those are written by the same authors,” says Stocking. “Toby Oteker, who wrote RRDtool, has come out with a whole bunch of little cool tools which are fun to integrate and tack on to add value when you go to create a hosting solution.”
Open Source Hosting and the Innovation Opportunity
In the commercial software world, especially when it comes to software that is designed to be distributed by hosting service providers, a lot of the tools come with prescribed business models.
Of course it is possible to create innovative products using commercial software, but the freedom to customize, reconfigure, rewrite and experiment is a hallmark of the open-source environment. And offering something innovative is among the goals of most successful hosting operations.
“If one of the goals of your company,” says Stocking, “is to be an innovative company, and to do things in a new and different way every so often – to push the envelope a little bit – then, open source allows you that freedom to experiment and that freedom to get in and see how that code actually does work, pretty much across the board.”
Talk back: Would you consider your business an open source hosting operation, or one that makes selective use of open source tools? What cool open source tools are you a supporter of? What open source hosting software do people need to check out today? What opportunities has the use of open source software created for your business? What’s difficult about delivering open source hosting tools to customers?