How to Jump From Cloud to Cloud
In 2010, when Netflix was still early into its shift from DVD rentals to online movies and shows, it started using Amazon.com’s data centers. Video streaming’s popularity was growing fast, and Amazon Web Services, the retailer’s cloud computing division, had the capacity to handle the load. Now that Netflix streams 100 million-plus hours of video every day, it’s sticking with Amazon partly because of Amazon’s scale and features, and partly because switching vendors “would be a significant multiyear effort,” says Yury Izrailevsky, Netflix’s vice president for cloud and platform engineering.
All the major cloud providers—including Amazon, Salesforce.com, Microsoft, and Google—use technology different enough so that switching from one to another would require customers to rewrite much of their software. (Jeremy King, chief technology officer of Wal-Mart Stores’ e-commerce division, compares picking a cloud provider to staying at the Hotel California—“You can check out anytime you like, but you can never leave.”) Still, in the next five years about one-third of companies using the cloud may either switch providers to get a lower price or more features, or add another provider to get servers closer to customers or have a backup should one company suffer a meltdown, says David Linthicum, a consultant who creates cloud applications for companies.
That’s why last year’s top story in the $57 billion public cloud market was the rise of so-called container software such as Docker, which chops up and isolates apps to make transitions easier. This year, as Docker and more than a dozen other container makers battle for market share, users have grown worried about falling into the same trap they did with the cloud—getting stuck with one provider that may not be the best long-term choice. The major cloud companies and some of their biggest clients have begun trying to come up with standards they hope will keep the containers interchangeable, too.
Containers break up apps into smaller packages of code, each bundled with all the basic system software the apps need to operate independently of whichever server plays host. This means programmers won’t have to rewrite the code for each new operating system and platform as an app evolves from a project on a laptop to a global hit with millions of users reached via enormous servers, says Jim Zemlin, executive director of the Linux Foundation, a nonprofit that oversees the open source Linux OS. “A developer will be able to write that software and deploy it without having to spend six months” rewriting it for broader and bigger systems, he says. Moving containers from one cloud provider to another is as simple as downloading them onto the new servers.
While market share data are tough to pin down, Docker set the early standard in container software, and the leading options among its dozen or so rivals include Warden, LXD, and CoreOS, according to researcher IDC. Many of the container makers, plus Google, are also refining competing versions of container orchestration software, the layer of programming that helps containers knit themselves together in the proper order to make an app run. Kubernetes, an open source program led by Google, is the early front-runner, says Larry Carvalho, an analyst at IDC.
The wide range of options, however, poses a problem, says Linthicum, the consultant. Without a common standard, “you could pick the wrong horse, just like VHS vs. Betamax,” he says, and wind up spending as much as 30 percent on top of the original project costs to re-create an app for different container software.
To address compatibility concerns, the Linux Foundation and two industry groups have begun working on common standards. Amazon and Microsoft are leading the Open Container Initiative, founded in June. The Cloud Native Computing Foundation, formed in July by companies including Google, IBM, Intel, EBay, and AT&T, is focusing on orchestration software. “By putting together this community and creating a common environment, we hope to open up the ability to run in a multicloud world,” says Craig McLuckie, a group product manager at Google. “There’s a very large sense of urgency.” Among the bedrock-level things they have to agree on: final formats, compatible operating systems and chips, and ways to keep any one company from having too much control.
Whatever the standard, companies that sell cloud computing need to take advantage of container technology, says Bryan Cantrill, CTO of cloud company Joyent. “You are not going to beat Amazon at Amazon’s game—you figure out what the next step is,” says Cantrill, whose company is part of the Cloud Native Computing Foundation. Ariel Kelman, a vice president at Amazon Web Services, says he’s not worried about a customer base that’s more capable of shopping around. (Amazon supports Docker, for example.) “Our customer retention strategy is to delight our customers, not to lock them in,” he says.
While the industry groups haven’t set a date to deliver their final standards, Linthicum estimates it’ll take close to two years. By then, about 10 percent of apps will be housed in containers, Carvalho estimates, up from about 1 percent today. For cloud users, the appeal is obvious, says Timur Kiykioglu, senior director of engineering at Jive Software, which makes office chat software. “We won’t get painted in the corner,” says Kiykioglu, whose company uses CoreOS containers and Amazon Web Services and is considering signing up with Google. “You never know when there’s something about a service that you may need to run a different way, and you don’t want to be staring down the barrel of rewriting your entire system.”
The bottom line: Containers make switching between clouds easier. The next trick is to make switching between containers easier.