Cloud computing offers almost limitless possibilities for innovation and growth. It also provides fodder for endless debates about the pros and cons of hosted and on-premise software deployments. In one corner, you have the advocates of hosting software in the public cloud, who say that it offers better flexibility and scalability. In the other corner, you have proponents of private, on-premise deployments who counter that this approach is more secure and offers greater control.
Who will win this knockdown, drag-out fight—or, perhaps more importantly, does there have to be a winner at all?
At AppDirect, we can offer the best of both worlds. One of the best things about our cloud service marketplace platform is that it can be deployed in both hosted and on-premise environments. For us, the issue is actually more a matter of public cloud versus private cloud, and again, the AppDirect platform can be deployed either way. Some of our marketplace partners—Deutsche Telekom, for example—use a private cloud model and run an instance of the AppDirect platform within their datacenter facilities in Germany. Others partners, like Appcelerator, have marketplaces hosted in the public cloud.
That's not to say we don't understand the passion that the issue can ignite on both sides. The decision about where to host a marketplace can impact everyone in the ecosystem for cloud services, from marketplace owners—the well-known brands that offer cloud services to their customers—to developers, to end-user customers. Which, of course, makes thinking about the benefits and drawbacks of each type of deployment all the more important.
Hosted Versus On-Premise: Which Is Better?
To pick a public, hosted or private, on-premise solution—that is the question, and the arguments on both sides of the debate will be familiar to anyone who knows even a little about cloud computing.
For a public cloud deployment, one of the biggest benefits is that someone else provides the infrastructure and manages the software for you. That means security, data backups, hardware refreshes, software updates—and any number of other activities, both large and small—are completely taken care of so you can focus on other important things, namely your core business.
A public cloud deployment can often be more cost effective because you can skip the upfront investment in hardware and usually pay a flat monthly fee for use of the software. You can also forego hiring staff to manage and administer the solution. If your usage grows and you need more resources, the public cloud model gives you the more flexibility and lets you scale up quickly.
In an on-premise, private cloud deployment, you are responsible for every aspect of operating the software, from building the right infrastructure, to ensuring security, to backing up data, to hardware and software updates, and more. That means a greater management burden for your team and far less flexibility, but you also gain complete control over, and visibility into, your environment and the operation of your software.
Depending on your point of view, many of these benefits can also be drawbacks, in essence making them two sides of the same coin. For example, "outsourced" security is a big benefit to a small company with no IT staff, but it could be a huge concern for a larger company with the IT resources to ensure solutions meet its specific security standards.
Deepening the Debate: Marketplace Owners and Developers
As demand for cloud-based software and services continues to increase, the public versus private cloud debate is becoming more important, particularly for marketplace owners and developers.
Given the massive infrastructure investments that many marketplace owners make, it seems only natural that they would want to host applications in their own environments. That way, marketplace owners can make sure that the apps they offer are secure and meet performance expectations.
But, that doesn't mean developers are always happy to comply with an on-premise arrangement. With this type of implementation, the on-premise version of the application may be "locked" behind a firewall, making it especially difficult for developers to keep their products up to date.
And there are other problems, too. As Andy Sen, our SVP of engineering, explains:
“If developers let their applications be deployed on multiple environments, they lose economies of scale that come with a single-instance, multitenant model. Beyond that, to deploy on multiple points of infrastructure, software vendors also need to architect their applications so that they can be implemented on different types of servers. This is a big job, and sometimes smaller developers just don’t have the resources.”
The traditional, on-premise model can present problems for marketplace owners, too. Some developers who have created larger, more well-known applications may simply refuse to lock down their software. This limits the ability of marketplaces to attract the applications that their customers demand.
On the other hand, some developers don’t care if their products are locked down, since marketplace owners can often give applications exposure to a wide, sometimes global customer base. By the same token, some marketplace owners are perfectly happy to adopt an open hybrid model that gives them the ability to offer applications that are hosted in either public or private clouds.
The AppDirect platform can address concerns presented by each of these points of view. We've architected our APIs so that developers can integrate once and still make their applications available across multiple marketplaces, regardless if they are hosted in a public or private cloud environment. Likewise, service providers can host an AppDirect marketplace in the public cloud or on their own infrastructure. However, we know we're in the minority here. A lot of marketplace providers still insist on locking down applications in their own data centers, and just as many developers are pushing back and insisting on public-cloud deployments.
What's your take? Is a hosted, public cloud model the best for the rapidly growing market for SaaS applications, or is the on-premise, private approach best? Let us know what you think in the comments below.