AlexOakenman - Fotolia
Managing a cluster of cloud services from different providers is a challenge many organizations have just begun to tackle. How do they move data and applications sitting in the data center of one provider to another one? How do they stitch together one seamless environment from many disparate parts?
Answering those questions is tough. It begins with figuring out what departments are using what cloud services -- and then comes planning and working with the business. For services that provide cloud infrastructure or platforms for software development, there are various tools that can help sort out what can be moved and what connects with what.
But when it comes to prepackaged cloud software services, or software as a service (SaaS), the problem is much harder to solve. Data and information and processes can't be handily moved from one application to another, in the event, for example, that a software provider raises prices or because the app no longer suits the business. In fact, IT consultant Judith Hurwitz said, the service providers work hard to maintain the status quo.
"If you look at any of these applications, they are built to basically keep customers locked in," said Hurwitz, author of a string of books on IT, including Cloud Computing for Dummies. "That's the whole design point."
'Out of luck'
Organizations want to customize their cloud applications to fit their existing IT operations, wrote Kaplan, managing director of THINKstrategies, a consulting company in Wellesley, Mass. And vendors are happy to oblige, because more customization to an application means it's harder to move the data and all those specialized features out -- so customers stay customers.
"So much of your day-to-day data is dependent on those software-as-a-service enterprise applications," Kaplan said in an interview. "And those applications are in many ways the most susceptible" to customization.
As an example of vendor lock-in, Hurwitz cited a situation at her Needham, Mass., consulting outfit Hurwitz & Associates. Years ago, the company installed cloud application Salesforce for customer relationship management (CRM) and spent money on building specific business processes into the application.
Sometime later, "we found that it was really overkill for us." Most CRM systems are designed for companies with large sales teams, Hurwitz said, and there were capabilities in Salesforce that were not useful to her small team. So the company decided to move its data from Salesforce to an open source system.
"We could definitely get our names and addresses and clients and everything else moved over," Hurwitz said. "But that process stuff -- you're out of luck, because that's all code that's tied into that application."
Hurwitz was referring to business processes that govern, say, a sales system's automatic routing of a high-end sale to a specific team for handling. "That's a business process rule, and that requires coding."
Breaking the code
There may be a way around it, Hurwitz said, but it's not easy. If a company subscribing to cloud software services wanted to move those business processes along with the data, it would first have to figure out how to isolate custom coding from the underlying application.
Early relational databases presented similar problems, Hurwitz said. In the 1980s, when they proliferated in the market, coding could be done to the applications to customize them, but moving from one database to another was hard. Eventually, CIOs and CTO at companies that bought the database managed to isolate the process code from the application.
"But it took some really smart people to figure that out," Hurwitz said. "We're definitely not there with software as a service."
Container technology could be the answer to unlocking cloud software services. That's the popular virtualization technology that allows applications or pieces of them to be rapidly moved around. The custom code could conceivably be put into containers, and thus removed easily from the rest of the application. Some such innovation will happen -- someday, Hurwitz said, but don't look to vendors of cloud software services for it.
"It may be third parties that do that," she said. "Because if you're a SaaS vendor, why would you make it easier for somebody to leave? Believe it or not, that's a big factor."
New technologies like containers, as well as networks with greater bandwidth, may indeed help bring cloud software services into the multicloud fold, Kaplan said. But new problems will arise, along with our expectations of what cloud can do, he said. As advanced technologies such as artificial intelligence and machine learning are integrated into cloud services, cloud will be asked to do more, faster.
"We're creating new challenges for ourselves every day by virtue of the higher expectations we have for what technologies should be able to do for us," Kaplan said.
CIOs start to rein in multicloud environments
SaaS integration: Strategies for success
Building cloud applications for a new era