The reality is that many IT organizations are still busy building barriers rather than figuring it out and trying to make progress. Like daylight, wishing cloud away won't change the fact that it's here and making a huge impact. Cloud is the engine behind incredible innovations such as mobile apps and the analysis of largescale data. As the mainstream media reports on these successes the CIO's are being forced into the corner throwing any objection they can at cloud like an actor in a B rated movie tipping over boxes while trying to escape.
Following are a list of common barriers and strategies for success:
- Security: Security has never been a strong argument against cloud because the reality is any proprietary data should always be encrypted in transit and at rest. Together that covers about 90% of the penetration space used by hackers to gain ilicit access. New solutions are being developed to protect data during execution. In reality no new security technologies have been created for cloud; all the existing models have simply been applied and so far the result has been enough to enable financial, health, and government secured data to be used in the cloud. It's time to turn the tables on the CSO and ask them how rather than may I.
- IT Cost Savings Focus: How can focusing on cost savings be a barrier? Easy. When it keeps people from considering that the biggest value cloud can provide is in revenue enhancement! Cloud is a global scale collboration platform and despite all the smarts in IT, it takes the additional smarts of the Business to unlock that value. Companies have leveraged cloud to create entire new markets let alone revenue streams. Zynga's entire operational model does not exist without cloud, neither does Google's. Increasingly it's not just the high technology companies that are reliant on cloud. Kroger, a $4B grocer leverage private cloud to enhance its supply chain. Charles Schwab leverages cloud to provide high wealth clients with portfolio management tools. The success stories in the Fortune 500 are hard to come by because everyone is protecting their competitive advantage. However all have one thing in common: they educated the business and enabling them to reimagine how they did business, sometimes down to their very core. Cost savings is a good thing, but there are also examples like GE's entire procurement system, in the cloud for nearly five years, where business costs have been reduced, not just IT. Additional thoughts are available in a previous post.
- Enterprise Strategy: It's amazing to me how often this critical element is overlooked. Most cloud efforts started as ground up movements led by developers just as virtualization efforts were led by system administrators. However the value of cloud will always be trapped in silos unless an enterprise strategy is developed to spread the wealth. Today there is no reason to consider any hardware dedicated even if it is, in fact, dedicated. Moving to an abstracted resource model enables separation of operational and development activities from the hardware maintenance and execution. Only through this model can we eek out every ounce of value from our existing investments, and do so with a single architecture which reduces complexity while maximizing flexibility. I have yet to see or hear of a successful general purpose private cloud that did not have an enterprise cloud strategy behind it. An enterprise strategy need not be all encompassing or even complex, but it should form a foundation through simple steps like adopting a definition of cloud, definining what the goals are of leveraging cloud technology, identifying the required skills and technologies, and identiyfing the low hanging fruit to maximize the opportunity for success out of the gate. A little bit goes a long way.
- Service Based IT: Cloud spells an end to silos and therefore an end to the political fiefdoms that ruled data centers for decades. The business people need to be shown back to their seats in the audience and IT needs to put the right people in place to deliver IT services. Having a service catalog is a great start, but the bigger change is to adopt a service mindset throughout IT. Cloud, in the end, is a service model and therefore can only be governed as as service. However nobody will allow this to happen unless they are getting the service they need. An increasing number of IT leaders are taking traditional service courses from companies such as Ritz-Carlton and Disney. In one large retailer IT leaders are required to work in a retail outlet to learn what it means to deliver world class customer service. It's a real eye opener. At a minimum focus groups with the business are necessary where IT observes from behind the mirrored glass a moderator led frank discussion of how well IT meets their needs.
- Governance: Cloud is, in essence, a new model for technology which provides multiple abstraction layers within which the complexity of a given technology realm is entirely captures. Developers need to know nothing about the hardware to deploy a service. Data Modellers need to know nothing about the database engine to create the right schemas. Most importantly the business needs to know nothing about how the applications work beyond the business processes they instantiate. To this end the language of managing the business/technology interface needs to change. Capabilities and challenges need to be expressed in business langauge, translated behind the scenes into the correct technical elements by IT. The business needs to control what is done, why, and when. IT needs to control how it's done and where. It sounds simple on paper but we have executives with 30yrs experience with broken models where IT explains what can be done so business leaders water down what they want to its barest elements. The result is something IT can accomplish in a timeframe that's too long for the business minimizing the value delivered. Penetrating this barrier starts with the CIO sharing the new vision for a cloud enabled IT with their peers and including them in the journey.
- Available Skills: Interestingly this barrier exists from the start but is stealthly enough to be ignored by most companies in their initial cloud endeavors. Only during the debriefs when the intial enterprise cloud effort failed do people realize they were limited by their knowledge; they didn't know what the didn't know. Like any other innovation, cloud requires a new way of thinking. However unlike most, cloud covers just about every skillset that exists in IT making it very difficult for specialists to understand outside the limits of their own knowledge. Administration, networking, security, data modelling, programming, architecture. Like Prego, it's all in there. To drastically reduce risk start with a strong, knowledgeable enterprise architect who is skilled in cloud computing. Getting the architecture right, and having that knowledgeable person available to provide course corrections throughout implementation, is critical. And it's those skills that are available from technology companies providing at least one way to get over the barrier. Additional thoughts are available in a previous post.
- Data: It's true that data as delivered in current centralized architectures is a valid barrier to cloud adoption. Applications require data and data is expensive to move. Getting over this barrier requires a deeper understand of what cloud represents (decentralization) and the realization that a new data architecture is required (federated). Accept that latency needs to be minimized, bigger pipes will be required, and data will be distributed and then figure out how to make things work through existing concepts like data staging, caching, deduplication, replication, and best of all delivering answers rather than raw data (i.e. push the computation out to the data). More information is available in a previous post. At a minimum make sure the data and compute power are co-located when maximum throughput is required.
- Lack of Robust Development Tools: This is often a cover for enterprise applciation vendors to sling arrows against the open source programming foundation of cloud. The reality with cloud is that simple scales and therefore many of our old assumptions about how to develop for the web need to be dropped forever. AJAX, XML/JSON, OAuth, REST; these are the new tools of the web leveraged by companies from Facebook to Google to deliver their applications on a scale never before seen. What needs to change is the application development model, and in the new model the tools are robust enough to meet the needs of the largest technology companies in the world. Part of this revolution, against the wishes of Microsoft, IBM, Oracle, and SAP; is the migration away from .NET and Java/J2EE. Languages such as Python, Ruby, PHP, and Scala are establishing a foothold in the development groups within financial services, healthcare, consumer packaged goods, and retail.
- N+1: So the cloud is live and now it's time patch the operating system, or update the router tables, or deploy a software update. Cloud requries a nearly maniacal approach to change management and automated testing. Nothing should go into production without understanding its potential impacts. Once something goes into production it needs to be scrutinized and reversed at the first sign of an issue. New challenges will always arise but through diligence the size of the challenge can be limited. A method growing in popularity is continuous environmental testing whereby tools test various conditions to create issues thus exposing weak points early enabling remediation efforts. NetFlix has their Chaos Monkey, Amazon's efforts resulted in the startup OpsCode. Clouds must be reliable and predictable and the best way to ensure they are is to introduce disruptions and figure out how to minimize their impact.