Are Your Software Licenses Cloud-Friendly?

ZapThink likes nothing better than to poke a stick at a hornets’ nest, and our last ZapFlash did not disappoint. We discussed how private Clouds weakened the enterprise value proposition for Cloud Computing, eliciting consternation far and wide, not from enterprises implementing such Clouds, but from consultants  and vendors in the business of building and outfitting them. To which we say: well, duh! Cloud Computing is a paradigm shift precisely because we won’t need to hire pricey consultants or buy a lot of gear to use them!

In fact, enterprise software vendors are running scared. Cloud Computing represents an enormous threat to their entire business model, and they’re fighting it every step of the way. Of course, if you ask them, they’ll sing a different tune: they’ll talk about how Cloud-ready they are, how you can get their stuff via a pay-as-you-go SaaS or PaaS model, or if you like, install it yourself in your own IaaS Cloud. Yeah, right. Just as they crossed off the word “Web” from their software boxes and wrote in “SOA” back in 2004, now that word has gotten the axe, and “Cloud” is the mantra of the day.

In this ZapFlash I’m talking specifically about the heavyweight enterprise apps here—Enterprise Resource Planning (ERP), Customer Relationship  Management, Supply Chain Management and their brethren. The challenge that vendors of such dinosaur applications face is both architectural as well as economic. On the architectural side, they never envisioned the elastic, partition tolerant nature of the Cloud when they built their now-aging monolithic products. But the economic challenges are every bit as intractable: how to shift to a pay-as-you-go SaaS model, while at the same time continuing to offer a more traditional licensing model in the face of customers who want to install software into IaaS Clouds?

From the perspective of the enterprise, there are two related, but very different challenges here. On the one hand, what are your existing enterprise app vendors going to do as Cloud Computing shakes the foundation of their businesses? How do you protect yourself from improperly rearchitected products, Cloudwashing, and scariest of all, vendor business failure? All important concerns to be sure, but the second set of challenges are more strategic: how do you keep from falling into the same pitfalls as the app vendors? Whether you’re looking for new products or thinking about building your own, what do you need to do differently now that Cloud Computing is the new reality of enterprise IT?

Software Licensing: Harbinger of Doom

Put yourself for a moment in the shoes of an enterprise app vendor executive. You have some old software—ERP, say—and you want to move it to the Cloud, since that’s what you’re customers are saying they want you to do. So you come up with a two-pronged strategy: first, you’ll roll out a SaaS offering, where you host the software for your customers and they pay as they go per seat per month. Second, you’ll have an IaaS option, where customers can take your software and install it onto their own Cloud infrastructure, either in a public or private Cloud.

So far so good, but here’s where things get complicated. Because your app isn’t architected for multitenancy, you have a hard time building a scalable, elastic SaaS offering. But you make do, even though the result isn’t nearly as elastic as it should be. You launch your SaaS version, and provide an End-User License Agreement (EULA) to customers who want to use it. After all, they can take it or leave it: it’s SaaS, and in the SaaS world, one size fits all. If customers don’t like it, they can go for option #2.

The second option requires customers to license your product as they have done in the past, only now they’re installing it themselves in their IaaS Clouds. Whatever licensing scheme you currently have should do—per processor, per server, per user, or whatever combination your bean counters came up with.

But  now you have another problem. One of your largest customers gives you a call and explains that they want to install your app in their dynamic IaaS environment. In other words, the number of virtual machines it will run on might vary from day to day or even hour to hour. And sometimes the number of instances will spike. How do you charge for that? As a favored customer, you need to offer them preferred pricing, but how do you calculate it?

This conundrum has no easy answer. Fundamentally, traditional software licensing schemes are antithetical to the elastic nature of the Cloud. The more customers understand and leverage the true value of the Cloud, the less friendly your dark-age licensing models will work for them. Bottom line: traditional software licensing models, as well as any per-instance licensing model, do not work in the Cloud.

Cloud-Friendly Licensing

From the customer perspective, the obvious solution to this problem is to bail on commercial software altogether, and move exclusively to open source software in the Cloud. And yes, there’s no question that Cloud Computing only strengthens the open source value proposition. But open source isn’t right for every organization, and there will continue to be opportunities for commercial application software even as we transition to the Cloud.

Obtaining app functionality via SaaS models also addresses the licensing issue, but SaaS isn’t for everyone either. Some organizations are worried about the lack of predictability inherent in pay-as-you-go pricing, while others require customized or bespoke solutions that aren’t economical for vendors to offer via a SaaS model. Even with open source and SaaS, there will continue to be a market for commercial enterprise app software that you actually need to install, albeit into an elastic IaaS Cloud environment.

But even this notion of installing software into virtual machine instances misses the larger architectural picture. We’ve been implementing distributed computing for twenty years now, after all—no longer are applications “software running on a box,” but rather “software running on many boxes in multiple tiers.” Cloud takes this model to a new level, where instead of thinking about database, app server, or Web server clusters that support scalable Web apps, we can now think about elastic tiers that change dynamically as needed. Distributed computing on steroids. Even the network is no longer the computer. Now the Cloud itself is the computer.

The ZapThink Take

The bottom line: any software licensing scheme that counts the number of processors, servers, or virtual instances is fundamentally Cloud-unfriendly. In the pre-Cloud days, servers were expensive and difficult to install and configure, so we operated in the context of scarcity: add a server, pay a lot of money. The Cloud changes this equation to one of abundance: instances are cheap, plentiful, and easy to configure, so nothing we put on a particular instance should cost us very much or have much importance in and of itself.

As for the commercial enterprise app vendors? We feel your pain, really we do. You’re being squeezed on three sides: Cloud continues to strengthen the open source value proposition, eating away at yours. The siren song of SaaS presents architectural challenges as it potentially lowers your revenues. And the Cloud is rapidly making your core license revenue model obsolete. Is it time to abandon hope?

No, at least not for all such vendors. After all, enterprise customers will continue to need the benefits of your apps. The challenge is how to approach and leverage the Cloud. Trying to fit the Cloud into your existing business is doomed to fail. The only way to survive is to rework your existing business to thrive in the Cloud.

And what about the enterprises themselves? Proper architecture was important before, but now it’s absolutely essential. Building and running software in the Cloud is fundamentally different from existing operational environments. Add legacy to the mix and you have a recipe for disaster—or for a new era of IT-enabled agility, depending on whether you get the architecture right. Looking to the incumbent app vendors, however, is not likely to lower your risk, as they are more concerned with protecting their existing business models than leveraging the Cloud to build new ones. One way or the other, we’re in for a bumpy ride.

Image credit: Joelk75.