Dreaming on a cloud - migration as an obstacle to cloud computing: an IT Skeptic Special Report
The IT Skeptic will look closer at cloud computing in 2009 - the concept seems to need some skeptical scrutiny. Or rather the concept is a pointer to the future, but the vendor hype around the present seems on shakier ground. Quite simply the idea is impractical in most business contexts. It is yet another technical solution to a business problem. Such technical solutions to non-technical problems often don't solve the original problem at all, tend to introduce more of their own, and almost invariably introduce greater complexity to be managed, but IT loves them. They offer a silver bullet OOTB fix to take the pain away - hard to resist. So it is with The Cloud. Take for example migration of existing applications.
We are speaking here about cloud computing as the provision of distributed infrastructure across the internet: the ability to process “anywhere” – the generally accepted current definition of the term. We are not talking about SaaS although that is a valid part of The Cloud, because SaaS does not apply to migration of legacy applications (SaaS = Software as a Service, which was what “the cloud” may have originally referred to).
Cloud computing is one of those hype terms that gets applied to everything, so to be clear we are also not referring to internal grids or hosted computing or the myriad other things that seem to get lumped into “cloud’. We are talking about infrastructure than moves around the network, including outside the bounds of the organisation to providers of resources on demand. Using one proposed ontology : platform, processing, data and communications as a service.
A number of the promoters of Cloud computing point positively to its uptake (and SaaS's uptake) amongst entrepreneural technology startups. That such tiny users are seen as significant just shows what a low base it is coming off of. Such commentators need to look up out of Silicon Valley long enough to realise that in the real world 95% of the business community already have applications and the Cloud won't amount to much more than a niche gimmick unless it can serve those applications.
Bernard Golden, one of the leading thinkers on open source, has some interesting things to say about obstacles to adoption of The Cloud. He identifies five:
- Current enterprise apps can't be migrated conveniently
- Risk: Legal, regulatory, and business
- Difficulty of managing cloud applications
- Lack of SLA
- Lack of cost advantage for cloud computing
In that article, Golden looks at the first obstacle: migration. He is open-eyed but upbeat about addressing it, and believes it can be overcome readily. The IT Skeptic is ...um... skeptical.
According to one person I spoke with, migrating applications out of internal data centers and into the cloud is the key interest driver for clouds among enterprises; once they find out how difficult it is to move an application to an external cloud, their enthusiasm dwindles...
...it seems well within technical capability for someone to develop a P2C (physical to cloud) migration tool that could all or much of the technical effort necessary for migration; of course, this tool would need to be able to translate to several different cloud architectures.
Even if an automated tool does not become available, there is the potential for service providers to spring up to perform migration services efficiently and inexpensively.
Naturally, performing this migration would not be free; either software must be purchased or services paid for. The point is that this is not an insurmountable problem. It is a well-bounded one.
Wide bounds though Bernard. Nobody rips the guts out of an enterpise application and rearchitects its foundations. The cost is invariably prohibitive and the business outcome is nil change. When IT people pull their heads out of their technology long enough to look around and get a service perspective, they see that as far as the paying customer is concerned vast sums are being spent on an internal IT issue - on plumbing.
Fifteen years ago a major bank got sick of problems that an upgrade of my employer's mainframe database (IDMS) was causing them. They commissioned a team to evaluate converting their forex app to DB2 (no doubt as a response to some golf-course conversation with IBM). The cost - back then, and just for a forex system not the whole bank - was US$50M. For business as usual. (Disregarding the hidden cost of the massive hardware upgrade they would have needed just to get DB2 off the runway and into the air, which was of course IBM's intent).
See, what people on the wild frontiers of Web 2.0 forget is the reality of enterprise computing. Changing the code is the easy bit. Long ago IBM had an excellent diagram that went something like this:
(and that doesn't consider the increased ongoing effort of management).
Migration services might be efficient but they won't be inexpensive. No executive in their right mind is going to sign off on the risk of doing such a migration without re-testing the whole damn thing. The effort is enormous: think Y2K. All we changed there was the date format. The code cowboys disregard all that and have no conception of just how expensive real testing is.
Some will see a way around this objection through cloud services that do not require code changes: services that operate at the operating system, network or storage level to redirect requests out into the cloud for fulfilment. This does indeed simplify the problem somewhat, but not enough. The amount of planning, negotiation and testing required for risk mitigation is still the same - a large obstacle just to solve problems which business owners expect to be invisible to them: cost cutting, scalability and performance.
Likewise solving the interoperability problem is not the answer here. The Cloud Computing Interoperability Forum (CCIF) has some major sponsors and just might make some progress here. Likewise the International Standards Organisation is looking at it. Neither of those initiatives will help the migration issue: whatever we change whether it is code or underlying platform infrastructure, it is a change. Real enterprise applications require a great amount of effort to make broad change – this is inescapable.
Very few organisations see such wild variations in load that they need resort to the cloud for on-demand capacity. And the supposedly lower costs of management from service providers is a myth that the outsourcing industry still manages to perpetrate. When all the hidden costs - including lost IP, risk, migration, delays (ironically) and provider overheads - are factored in, the benefits are less compelling.
Nor is waiting going to solve the problem. Well it might, if the next technology wave sweeps the whole issue away, or perhaps the problem will be carried off by a herd of flying pigs. The Cloud has some serious maturing to do. Gartner says
…technologically aggressive application development organizations should look to cloud computing for tactical projects through 2011, during which time the market will begin to mature and be dominated by a select group of vendors. Following this period, Gartner predicts that the market will see a surge of new vendors and subsequent consolidation as cloud computing becomes appealing to more mainstream application development organizations.
Note “application development”, i.e. new apps. No matter how much the Cloud matures, a change is still a change. Major change to applications is expensive. The more sweeping the change the greater the measurable financial benefits required to justify it. The Cloud proponents seem to lose sight (or at least perspective) on this.
Of course Golden is not a tech geek - he is well grounded in business thinking and commendably looks at the people issues not just the technical ones.
The more likely challenge regarding clouds imposing a different architecture is that of employee skills. Getting technical personnel up to speed on the requirements of cloud computing with respect to architecture, implementation, and operation is difficult: it is a fact that human capital is the most difficult kind to upgrade. However, cloud computing represents a new computing platform, and IT organizations have lived through platform transitions a number of times in the past. In these times of Windows developers being a dime a dozen, it's easy to forget that at one time, Windows NT skills were as difficult to locate as a needle in a haystack.
Great: when cloud techs are two a penny, we'll look at it. Not only do we need to retrain our developers to rearchitect our existing core systems, and our testers to test stuff they can't see and which is different every time they run a test, but we also need to retrain our operations staff to manage an environment that isn't even onsite or owned by the same organisation. Now there's a learning curve.
We should be concentrating on the non-technical aspects of IT, where there remains enormous potential for greater efficiencies. A recent article highlighted open source as an alternative. There are also other areas such as improved morale, better business skills, more efficient processes, reduced change failures, better project selection and management, server consolidation, renegotiation of contracts for spare capacity onsite, and outsourcing of selected specialist functions in-house (such as network administration, monitoring, and provisioning).
We don't learn. IT still runs after the latest silver bullet, or in this case the silver lining, heedless of the fact that a cloud represents a storm, poor visibility, dangerous lightning, and miserable conditions.
Slowly IT is being drawn back into the business and taught to think like a business. One by one the tech managers are displaced by business managers. One by one the departments become accountable. One by one the cultures incrementally shift towards a focus on delivering service to the business and spending money as if it were their own. But it is obvious that we are still on a long road when someone as business-savvy and common-sensical as Golden can dismiss this obstacle.
Cloud computing is another vendor-driven tech geek fantasy that adds complication, risk and expense. One day it may prove to be a useful tool in certain contexts, but it isn't the miracle fix it is touted to be. In fact it looks to be unobtainable for most existing systems because the migration is too large an effort for an internal IT return with no visible change in the delivered service.
We need to cut costs and increase flexibility for sure. Spending millions to float our business systems on a cloud isn't the right answer.