I was discussing Private Clouds with a large group of customers this morning, and was asked a really good question: “Transforming IT infrastructure accomplishes quite a bit, and it’s great seeing EMC lead that charge, but who’s leading the charge in applications? Not just development stuff, but the big enterprise apps we all run in our businesses?”
It’s an excellent question because it strikes at the heart of a long-growing mismatch in application-development and infrastructure-management models. It also touches a raw nerve for many software companies: changing their economic and business models.
Mismatched Models
For decades application developers have, by and large, led addressing the ever-present need for more flexible and efficient IT. They made several runs at it, too. Each met with variable, though limited, success: object-oriented programming, object brokers, application-integration architectures, and service oriented architectures (SOA).
Meanwhile, datacenter IT infrastructures continued to be built and operated the same way they had been seemingly forever: static islands of stuff. Because changing stuff frequently meant service disruptions, IT usually ended up defending their islands from change as much as possible. As a result, the “impedance mismatch” between how apps are developed and deployed, and how IT infrastructure is managed has been getting progressively worse. That’s translated into fragile IT silos that have become harder and harder—in other words, more costly—to operate.
The most recent run at increasing IT flexibility and efficiency, cloud computing, also began from an application perspective. Applications, and soon thereafter, development and operating environments, began to be offered as network services. Our industry quickly categorized early movers in this space, as is our wont, using fun acronyms like SaaS, PaaS, and IaaS.
Cloud’s primary attraction was, and still is, offering businesses a way to transform IT from fixed cost infrastructure to variable cost services. But some huge big stumbling blocks got in the way. Most cloud vendors offered a rip-and-replace proposition for various combinations of applications, application development, and infrastructure. In fact, almost all of them included infrastructure: theirs. Selecting an approach meant choosing one vendor; the resulting barriers to change frequently ended up even higher for customers than their initial migration hurdles.
Make Me A Match!
A little over a year ago, we at EMC began talking about another way to gain cloud computing’s benefits while keeping choice and control in customers’ hands: Private Clouds. The idea is actually quite simple: instead of relying on application-level change alone, let’s make the IT infrastructures on which they run more flexible, dynamic, efficient, and available on demand. Using this approach, businesses can realize cloud’s benefits for traditionally “siloed” applications (think 30-year-old COBOL code) in addition to next-gen apps based on SOA, Ruby on Rails, etc.
Which brings us back to this morning’s question, and some additional questions behind it:
Will changing infrastructure alone enable the greatest flexibility and efficiency possible for IT? No. It can, however, take us a very long way toward that goal. A Private Cloud approach creates an incremental, evolutionary path forward. It also enables an open marketplace of compatible service providers competing for your business. Best of all, reducing your IT budget percentage spent on infrastructure upkeep from a stereotypical 70 to something closer to 30 would free up a lot of resources for getting the right application things happening for your business.
Don’t business applications still need a similar transformation? Yes, they do. At EMC, we see composed applications as the next major step in evolving application and business-process services and abstractions. We’re already working on how to create the best “impedance match” for such apps and their supporting infrastructures. (By the way, this is one of several reasons I think VMware’s acquisition of SpringSource was brilliant. Chuck Hollis blogged about it last summer.)
Ok. EMC is leading the charge to transform IT infrastructure. That’s great. (It’s wonderful to hear customers say that, by the way!) But who’s leading the charge in the applications space? Unfortunately, there’s no clear answer. The marketplace for developing, deploying, and managing composed apps is… Well, let’s just call it “impressively fragmented.”
What about the big business apps we run in our shops? Many of us inside EMC see several biz-app vendors working to convert their products into SaaS offerings, and/or exposing APIs that could, with effort, be used in mash-ups or SOA-based apps. We don’t see a clear leader in transforming major business apps into cloud services just yet, though. Most have huge revenue models to protect, and aren’t terribly eager to significantly change them.
Interestingly enough, that same concern for protecting revenue models can hold back “cloud vendors,” too. For example, at EMC we recently converted our entire global sales organization to Salesforce.com. It took just a couple weeks to see the product’s value. It took over six months, however, to get over the heartburn of running a critical application on an infrastructure EMC didn’t control.
If, on the other hand, Salesforce.com had been able to offer a containerized form (i.e., a set of virtual machines) of its service that we could run on our infrastructure, then migrate outside when ready, it’s likely EMC could have moved faster on the deal.
A Proposal
There’s the big challenge: Can biz-app vendors offer their stuff as cloud services—in a way that affords customers the kind of choice and open market flexibility they can get running applications in a Private Cloud?
I’d like to think so. And there’s good news for those interested: Private Cloud already blurs the lines a bit between application and infrastructure services. If you’re a software vendor, that means you can exploit Private Cloud architecture as a means to offer your applications as service containers customers can run how, where and when they choose. It could also serve as a faster route to market than massive application re-writes.
Better still, if compatible infrastructure providers can also host your containers, you’d be able to focus your sofware company’s energies on what you do best—and leave building and managing global infrastructure to those best at doing that.
Any takers?