Planning a move to cloud computing in 2013? Find comfort in the fact that a few brave enterprises have already made the initial venture into the cloud. However, “initial” is the key word in that statement. It’s more a “dipping of toes” than a dive into the deep end. The initial types of projects are certainly the bunny slopes of the cloud computing ski resorts, but there is something to be said for starting slowly.
That said, there are certain types of failure patterns that continue to emerge,and common cloud computing mistakes that I see made over and over again. What’s disturbing about these mistakes is that most are avoidable with a bit of work and planning, as well as a better understanding of the technology. Here are the top 3 cloud computing mistakes that I’m seeing, and, more importantly, how to avoid them in the forthcoming year:
1. Not understanding the true cost-benefit of cloud computing, and thus under- or overestimating the value of the cloud.
Cloud is always cheaper right? Wrong. It’s sometimes cheaper, but only when leveraged correctly. Those who assume the use of private, public, and hybrid clouds always leads to cost efficiencies are typically those who don’t build the cost models, and they are typically surprised when the value is not there after deployment.
The sobering facts are that the value of cloud computing is largely domain- or business-dependent. For example, if you’ve just loaded up on hundreds of servers and loads of data center space, replacing them all with a public cloud service won’t be at all cost effective when considering the costs already committed.
Another cost-benefit factor is the value of agility, or, the ability to change IT around the changing needs of the business. Cloud computing usually provides more opportunities for agility, which typically has very high strategic cost benefits. That concept should be dialed into all of this planning as well.
Solution: Think about the cost benefit of the use of cloud computing before making the move, even creating a detailed model to show the cost benefit from the investment over a 3 to 5 year period of time. Make sure to consider the cost of risk as well, and the value of agility.
2. Cloud computing solution does not live up to performance expectations.
In many respects, cloud computing provides good performance if leveraged correctly. However, many of those charged with designing and implementing a cloud computing solution find that the final delivered system does not meet the performance requirements.
For example, a remote database stored within an IaaS cloud that communicates with very “chatty” on-premise clients will find that performance is hindered by the lack of bandwidth between the remote cloud and the local client. Or, when leveraging a public cloud storage system, there is so much network latency that it’s unable to keep up the requests and responses from the internal systems that are requesting storage services.
While public clouds communicate very well within themselves (intra-cloud), there will to be bandwidth and latency issues when they communicate over the open Internet to remote systems and devices that consume the cloud computing service. It’s not really the fault of the cloud provider, but just a downside of the architecture where there is a dependence upon a high latency and “bursty” network between the requester and the requestee.
Solution: Make sure you understand the performance limitations of public cloud computing and design the systems around them. Creation of performance models, even basic ones, are typically a good idea. They allow you to determine any performance problems and design around them before they become an operational issue.
3. Cloud governance and/or management are not effective, or not implemented at all.
Cloud governance is about managing resources, typically creating automated policies to make sure that everything is doing what it should be doing, and everyone is being monitored and controlled. This step is typically neglected in the design and implementation of a cloud-based system because the purpose and use of this technology is not widely understood.
While the systems we build today in public clouds are typically simplistic, they are becoming complex as we add features and functions. It’s not uncommon to find applications that leverage many different resources within the same public cloud computing provider, and those resources must be started, monitored, and auto-magically repaired during operations. Failure to do this pretty much means you’ll have to retrofit in a solution after deployment, and that’s very hard and risky.
Solution: Simple. Think about cloud governance and management as you build the system/application that leverages a private or public cloud. Answer the obvious questions: How will you monitor the system/application during normal operations? How will you deal with system/application changes? How will you allocate and control access to APIs, etc.?
These are only the top 3 mistakes. There are many more. Those charged with implementing cloud-based systems should consider the planning that needs to occur, as well as learn all they can about the emerging cloud computing technology.
Even with all that covered, mistakes are inevitable. That’s okay, as long as we learn as we go.