An NTT Europe study completed in 2013 found that 56% of CIOs and Senior IT leaders see complexity of their own Information and Communications Technology (ICT) systems as the biggest barrier to their organizations’ enterprise-wide adoption of the cloud. The survey also concludes that cloud adoption continues to be tactical in nature, as a result of the inordinate complexity of existing and legacy ICT platforms.
In my opinion, the core data point out of last year’s study is that 60% of IT leaders are concerned that cloud providers don’t appreciate how complex legacy ICT systems are, and fear migration to the cloud could fail. This hits home for me as someone who builds cloud solutions for a living, and works directly with enterprises that feel their needs are not being understood by their cloud providers. I suspect they are correct.
According to a recent Gigaom Survey (to be released in the forth quarter), most enterprises are on their second or third cloud project, with many moving from the early adoption phase (1 to 3 projects completed) to the intermediate cloud user phase (4 to 10 projects completed). In other words, they are becoming more knowledgeable about the use of cloud-based technology, and are beginning to draw very informed conclusions around the value that cloud computing can bring to the enterprise.
Putting surveys aside for the moment, there are a few key issues that I see in the market today:
- Most enterprise adoption takes place around an existing business problem, with a clear business case. Enterprises do not adopt cloud computing because it’s trendy, they need to solve real problems right out of the gate.
- Most enterprise adoption involves existing application migration rather than new application development. Most enterprises that migrate applications try to do so as quickly as possible, and do not focus on “refactoring” applications to make more efficient use of native cloud services.
- Most enterprise adoption occurs around existing technology partners. This includes colo and managed service providers, as well as brand name enterprise technologies from guys like IBM, Oracle, and VMware. New public cloud brands, such as Microsoft, Google, and AWS, are in there as well, of course. Indeed, when enterprises talk to me about their cloud needs, they typically have a laundry list of companies they have already selected as part of their path to the cloud. It’s very difficult to get them to think outside those boxes.
- Security and governance continue to be afterthoughts. This, despite the fact that security is consistently listed as the number one priority for enterprises as they move to the cloud. Most rely on technology rather than planning to meet their security needs. However, most security solutions are ineffective unless implemented with a great deal of planning.
- Cost is not as much of a concern as we originally thought. While most enterprises will claim to move to cloud computing for cost efficiency reasons, the reality is that most are moving for shifts in budget. Leadership is getting tired of paying for data center upgrades and expansions each and every year, and have set deadlines for IT to find other locations to support core IT systems. Thus, enterprise IT turned to colos, managed services providers (e.g., Datapipe, Logicworks, CloudNexa, etc.), and public clouds (mostly Google, AWS, and Microsoft) as the path out of owning their own data center. Rarely are costs considered, with more consideration given to speed and not failing.
The resulting solutions are clouds mixed with traditional systems, mixed with other outsourcing options (e.g., colos and managed services providers). This means enterprise IT must also deal with the resulting rise in complexity.
As revealed in the NTT study, complexity is already an issue within their respective businesses (56%), and the additional use of public cloud-based services only makes things more complex. However, most in enterprise IT feel compelled to give cloud computing a try, fully understanding that their IT environments are going to be more complex to build and manage. Some, however, balk at cloud adoption due to the complexity that it will bring, or has initially brought.
The enterprise architect in me would suggest that the best solution for enterprises that are already hindered by architectural complexity without the presence of cloud computing is to get their respective “acts together” before they adopt cloud computing. However, the world does not work that way. In the real world, most enterprises would have to do a ton of work over many years to be perfectly ready to move easily to cloud-based platforms.
The root issue is the ability to manage complexity, including the addition of applications (new and old) that will run on public cloud platforms. The trick is to think in terms of replacement, and not additions. Applications that exist on traditional platforms (such as LAMP in the enterprise data center) should be moved in bulk to surrogates in the cloud. Then, after some acceptance testing, those platforms should be decommissioned with extreme prejudice.
Mistakes that existing enterprises make involve moving a few applications to the cloud, which creates the need to maintain applications that run on AWS or Google, while still staring at the same hardware in the data center. Nothing changes, other than things get more complex. At issue is always those one or two applications that are not migrated. Any cost savings made through the use of public cloud-based resources is quickly gobbled up by the cost and complexity of maintaining one more platform. However, this new platform happens to be within a public cloud service.
Here are a few Do’s and Don’ts for enterprises that balk at the use of cloud computing due to the complexity it may/will bring:
- Do enterprise architecture and overall IT planning. Yes, that means some advanced planning, in terms of what applications and data will run where, and why. Cloud-based platforms, at the end of the day, are nothing more than other systems that you must manage. Thus, the fewer you need to manage, the simpler the architecture, and the more likely you are to succeed longer term. These are approaches and disciplines that are already well defined, and well known.
- Don’t push things to cloud, just for the sake of pushing it to cloud. Applications should have clearly defined benefits when running on cloud-based platforms, with the objective of migration to decommission existing platforms so architectural complexity is actually reduced, or, at least stays about the same.
- Do consider automation. While cloud management platforms and service governance tools clearly add value, most enterprises don’t consider them early enough in the process of moving to cloud computing. They should be systemic to the architecture, and actually reduce complexity by abstracting those managed clouds away from the complexity using the “single pane of glass” type of approach to architecture.
- Don’t stop measuring. Keep metrics in mind as you move to the use of cloud computing, including the ability to determine and measure cost efficiencies and overall IT efficiencies. Be prepared to get some disappointing numbers at first, and adjust the process, technology, and the architecture as needed.
While the movement to cloud-based platform is clearly hindered by the existing complexity within enterprises, it’s also an opportunity to get this complexity under control along with leveraging cloud computing. While many enterprise don’t find this an easy path to follow, it is an opportunity to combine both the value of cloud and the value of creating and deploying more effective IT environments. But, it’s going to take time, money, and a bunch of courage.