Rethinking Data Centers
Everyone in corporate IT knows the principle that a company should only truly own functions that make up its strategic advantage. Every other function is cheaper and usually better provided by a specialized vendor. I'm not going to describe all the reasons why this is true. Instead I want to talk about the way many corporations choose to implement the principle.
The single biggest mistake many corporations make with this principle is that they underestimate integration costs. At some point, integrating vendor products from n vendors becomes so complex that its cost outweighs the savings.
The Data Center
I was evaluating cloud application platforms recently. The absolute simplicity of implementation made them very attractive — much more attractive than even slick traditional, on-premise applications. Developing the business app itself would take the same amount of work either way, but to provision an on-premise application stack is more work than the application itself.
There's one big reason we get killed by integration costs: the need to run a data center. Every orange circle below is a new skill, a different set of expertise, and operational, on-call troubleshooters. Integration can be expensive.
If your company insists on running the data center, you take on the responsibility of integrating everything that goes into it. Applications need platforms, which need operating systems, which need hardware, which need floorspace, power, cooling, network. And you have to have standards for all the integration points of all these things, and people to make sure tab A fits into slot B.
Technology Calcification
There's another effect of owning the data center that deserves some attention. Owning the data center for a whole corporation inevitably restricts the solutions available and stagnates IT development.
The reason is that every vendor product has the possibility to create a matrix of hard support problems with n other vendor products. Will that new webserver integrate with your security solution? With the caching solution? Will the IDS system interfere with the new multicast solution?
Invariably IT departments will want to restrict the addition of new vendor products. You will need to settle for whatever's already in there. New tools and techniques that would be perfect on their own would be unmanageable in a monolithic data center situation.
On the other hand, the shop that deployed an application to one cloud application environment could just develop their next application on a different provider. The total cost would be the new app itself, and integrating with the new provider. Possibly a clean interface for shoving data back and forth with the old provider, through a standards-based data channel. There wouldn't be the massive integration costs of getting all the technologies in the two stacks to cooperate.
Think Different
Firms were pushed into running their own data centers to handle their audit, data safety, and latency requirements. This is the time to re-evaluate these decisions. Most firms don't do data centers well, and it cripples the entire IT function.