Larger enterprises in particular, who have security expertise and would rather use best-of-breed solutions instead of relying on the cloud provider to handle everything, should consider using at least two platforms right from the start, said C.J. Radford, global vice president of cloud at Thales e-Security.
That will help keep pricing in check, while still allowing the company to take advantage of the innovation each provider offers, he said.
"This essentially forces the enterprise from day one to not place all eggs in one basket, which is too risky of a strategy," he said. "Additionally, enterprises should look at best of breed independent software vendor solutions that are portable from cloud to cloud provider to ease any transitions needed in the future."
That includes security, data management, identity and access management, and applications like databases, developer tools, and analytics, he said.
That's just what MobileIron did, except not with one cloud provider, but several.
The mobile security company offers applications that customers run on their own infrastructure. And those customers are enterprises, and they're all moving to the cloud, said Ojas Rege, chief marketing and strategy officer at MobileIron.
"We have to be able to run on Amazon, and on Deutche Telecom, Equinex, Azure, and Google Cloud," he said.
This is an architectural question, he said, and it comes up on day one.
To deal with this issue, MobileIron separates out the functions that are cloud-specific, such as getting IP addresses, and writing that code in a modular way.
For example, he said, data always locks you in.
"There's no way to get around using the core data structure," he said. "And you want to. Google's entire pitch is that they have analytics services that other folks don't. If you run something on Google, you definitely want to use those analytics services, even if they're not available other places."
The trick is to do it thoughtfully, and using abstraction layers, he said.
Rege also recommended building automated systems to handle migrations.
"If you have a heavily manual process, that's going to cost a lot of money," he said. "So think about portability in advance. If you have to bring up a different data center, how can you do that automatically?"
One way to make the migrations go smoother is to use containers to hold the applications.
"If you have a containerized approach, you can run in Amazon's container services, or on Azure," said Tim Beerman, CTO at Ensono, a managed services provider that runs its own cloud data center, manages on-premises environments for customers, and also helps clients run in the public cloud.
"That gives you more portability, you can pick something up and move it," he said.
Sign up for CIO Asia eNewsletters.