This scenario presents an existential challenge to the mainstream infrastructure operations organization and, indirectly, a threat to the financial underpinnings of the entire IT organization. In this scenario, developers attempt to use the private cloud but, for various reasons, find some element of the environment unsatisfactory and choose to develop or deploy in a public cloud environment.
An example of why this might come to pass can be illustrated by an example we ran into recently. In discussing cloud computing with an infrastructure manager, we described the need for resource user self service. The manager was fine with greater agility, he allowed, but the request for resources had to be forwarded to an operation administrator who would evaluate the request and, should it be appropriate, would provision the resources himself and then forward information back to the developer sufficient to begin using the resource. He really didn't understand the difference between true self-service and email-enabled resource requests. I wouldn't care to hear his response to the need for self-provisioning elastic applications directly provisioning resources in response to system load.
This response is typical of organizations responding to innovative developments (I wrote about sustaining versus disruptive innovation last week and concluded that cloud computing is a disruptive innovation). When confronting a disruptive innovation, organizations commonly attempt to force-fit it into existing processes and assumptions -- usually unsuccessfully.
In this scenario, developers quite happily begin to use the private cloud, but, when confronted with unwillingness on the part of operations to support self-service, application elasticity, etc., become dissatisfied with the offering and choose to either: (1) deploy the application outside of the internal data center; or (2) more worryingly, turn their back on the private cloud and choose to develop and deploy in a public cloud environment.
This kind of situation can be blunt or subtle, but, in the end, falls short of what developers want. One of the main points that we emphasize with our clients is that cloud computing reduces the friction in obtaining and using computing resources -- discarding the endless requests, meetings, telephone calls, emails, escalations, not to mention the often heavy-handed rationing of resources that expects developers to justify why they want a server (or storage or whatever).