Forgoing the hyperbole of cloud computing predictions – sensational outages to a cloud-in-every-pocket – I want to start 2010 discussing the enduring aspects of cloud computing on enterprise business-technology. Regardless of the final manifestation of cloud computing, and the tally of deployments, successes and failures, I believe cloud computing will influence the expectations and practice of enterprise business-technology throughout the decade.
I have identified five enduring aspects from a practitioner perspective. Certainly, there are enduring aspects on the provider side as well, such as advances from Infrastructure 2.0 and disruptions created by new economic and pricing models. However, I will leave that list for provider-side specialists.
The first three enduring aspects focus on the expectations from business-technology organizations.
1. Resource Optimization – Cloud computing has raised Executive awareness to the disproportion of installed versus utilized computing capacity, along with the requisite expenses of space, power, software licenses and support personnel.
If they have not already, Executives will mandate infrastructure ecology initiatives, starting with the consolidation and pooling of compute and data resources, and progressing to software execution efficiency.
2. Capability Delivery – The automation, scaling and on-demand characteristics of cloud computing reduce delivery lead-time for infrastructure services, and commodity software from a few weeks, to a few minutes.
The ability to optimize capability delivery allows businesses to capture runaway demand, shorten time-to-value, and control steady-state costs.
With or without cloud computing, organizations will need to adopt technology strategies, operating models, and technology investment practices that balance opportunity, time, control, capital outlays and operating cash flows.
3. Value Proposition – Cloud computing technologies and operating practices commoditize the delivery and support of common technology infrastructure and business software. Cloud computing or not, Executives will determine they have immense choice in respect to providers of basic services.
Information technology organizations with expressed, or perceived, value as infrastructure plumbers, operations specialists, or light-keepers, need to revamp their offerings and profiles, moving further up the stack, and out to edges, closest to business value creation (customers and suppliers) and business innovation (new capability delivery).
All business-technology organizations will need to adopt technology strategies, management and architectural practices that clearly separate, yet easily bundle, business information, business capability and underlying infrastructure.
The last two enduring aspects focus on business-technology practices.
4. Software Design Discipline – The effectiveness of cloud computing – scalability, resource optimization, performance and cost containment – is highly dependent upon the design, quality and deployment readiness of the code base.
Cloud computing brings a (welcome) return to software design practices, such as separation of concerns, code execution efficiency, modularity, cohesion and loose coupling. In addition to run-time and change-time concerns, software design will need to account for deployment efficiencies, including packaging and bundling strategies.
For truly scalable systems, software architects, designers and developers will need to incorporate technologies, techniques and patterns originally employed in financial markets and large web properties.
Even if cloud computing is a passing fad, software design discipline stands the test of time.
5. Emergence of Platforms – Cloud computing, along with Web 2.0 and mobility, have changed the development experience from working directly with O/S services, middleware protocols, and data stores to interacting with the development toolkits and APIs of integrated, purpose-built, platforms.
The platform layer intersects commodity, standardization and innovation. Developers harness the power of the offered infrastructure, data, assembly and presentation services, adding their own code and/or configurations to deliver new business, consumer or personal capabilities. [Platform examples include: Google AppEngine, Force.com, iPhone and FaceBook.]
Leading enterprises have platform strategies and implementations that free their developers to focus on business capability delivery. Cloud computing and “there’s an app for that”, have heightened awareness on the power of platform models in the enterprise.
What do you think?
What will endure from cloud computing? For those feeling particularly prescient, what will be the final manifestation of cloud computing?
[cross-posted from Elemental Cloud Computing]