Even when data centers are able to improve their efficiency, they still do not lack resources. What data centers lack is the organizational structure to enable provisioning of those resources in a proactive and efficient way. The converse is also true: data centers lack the ability to reclaim resources once they have been provisioned.
So, I maintain that the problem with the data center is not a lack of resources but rather the management and the automation of those resources. Imagine an organization leverages the existing physical resources in a data center by adding self-service provisioning and business process rules for allocating resources based on business need. This would mean that when developers start working on a project they are allocated the amount of resources they need – not what they want. More importantly, when the project is over, those resources are returned to the pool.
This, of course, does not work for every application and every workload in the data center. There are applications that are highly specialized and are not going to benefit from automation. However, there indeed can increasingly large aspects of computing that can be transformed in the private cloud environment based on truly tuning workloads and resources to make the private cloud as elastic as what we think of as a ever expanding public cloud.