The trend is clear: The percentage of IT infrastructure and application workloads residing in enterprise data centers is expected to shrink from 59% today to 47% in two years, primarily the result of companies shifting resources to the public cloud, according to a survey recently released by data center provider Datalink.
But IDG Research Services, which conducted the study, also uncovered a countervailing trend: Nearly 40% of organizations with public cloud experience have moved at least some of those workloads back to on premises, mostly due to security and cost concerns.
According to Jason Anderson, chief architect with Datalink (which was recently purchased by Insight Enterprises), the reasons for this apparent cloud buyer’s remorse vary, depending on who you talk to. C-level executives tend to cite cost as the driver for moving apps back to the data center. "They moved something out to the cloud, but they didn’t have a full handle on what the spend would be to host the app in the cloud. As they started getting bills for their monthly run rate, they realized they'd made a significant error in how much it would be," he says.
One step down from the C-levels, IT managers say the primary reason is security. "The concern was that it was apps that ended up in the cloud not because IT had made a strategic choice but because they got there through shadow IT or IT organizations didn’t have the full picture of regional concerns," says Anderson.
Even where the cost was manageable, there was a problem with regions. Cloud providers like Amazon and Microsoft have multiple data centers around the country and break down the locations of their customers' containers by physical regions, like US East and US West. Within the region there are multiple locations. When you put together your virtual private cloud, if you don’t pay attention you will end up with all resources in a single availability zone and if it goes down, you've got a problem.
So you could have done everything right, creating your three-tier app with multiple databases on multiple VMs, but if the whole thing is built inside one data center and there is an issue with uptime, your whole app goes down.
"If there is a problem in a zone, you are powerless. They fix it when they fix it. They provide a level of service but if you haven’t re-architected your app to deal with those instances you are dead in the water. The public cloud provides all the tools and resources to survive those incidents, but you have to do the work. They won't do the work for you," says Anderson.
Here are some tips for avoiding unexpected problems with your cloud deployment:
1. Do your homework
One common problem is companies not doing their homework. They assume the cloud is just like on-premises when it's a completely different animal, and they don’t change how their apps operate.
"When there is no governance, we see cloud sprawl. They spin up resources, there's no control or understanding of what they are used for. So we see customers go to public cloud and realize they are spending way more than on prem," says Jarret Raim, head of strategy and operations for Rackspace Managed Security.
"A lot of cloud providers have a pricing model attached to usage or consumption, which is very different from an on-premises model and that can really screw people up, where they think they are coming into a $50k contract and it blows up into a $500k contract based on consumption," says Andy Wilson, CEO of Logikcull, a cloud-based legal intelligence provider.
"I often see companies take an existing app and move it to public cloud and make it work in public cloud, but find costs are extreme and end up moving it back," adds Tim Crawford, president of AVOA, an IT consultancy. "When you look at an app in the enterprise, it has a few architectural assumptions. One is it relies on resilient hardware. In public cloud that's not the case."
I often see companies take an existing app and move it to public cloud and make it work in public cloud, but find costs are extreme and end up moving it back
Tim Crawford, president of AVOA, an IT consultancy
Shadow IT, or developers going into business for themselves, seems to be a recurring theme. "Many companies have found out they are using public cloud, but didn’t have much of a plan when they started," he says. "An individual development team decided to put something on public cloud. So when companies find out some assets have moved out there without security or compliance, then we have seen some of them pull those apps back."