The Cloud Technology Challenge
Most, if not all, technology improvements need what is commonly referred to as “complementary inputs” to yield their full potential. For example, Gutenberg's invention of movable type wouldn't have been viable without progress in ink, paper, and printing press technology. IT innovations depend on complements to take hold. The use of internal cloud differences will affect applications, configuration, monitoring, and capacity management. External clouds will need attention to security and performance issues related to network latency. Financial data availability is also one important cloud adoption criteria and must be addressed. Without progress in these complementary technologies, the benefits of using cloud computing cannot be fully developed.
Internal cloud technology is going to offer embedded physical/virtual configuration management, VM provisioning, orchestration of resources, and most probably, basic monitoring or data collection in an automated environment, with a highly abstracted administration interface. This has the following impact:
More than ever, we need to know where things are. Discovery and tracking of assets and applications in real time is more important than ever: As configurations can be easily changed and applications easily moved, control of the data center requires complete visibility. Configuration management systems must adapt to this new environment.
Applications must be easily movable. To take advantage of the flexibility offered by orchestration, provisioning, and configuration automation, applications must be easily loaded and configured. This assumes that there is, upstream of the application release, an automated process that will “containerize” the applications, its dependencies, and its configuration elements. This will affect the application life cycle (see figure).
Application architecture must change. Today’s applications use middleware extensively to link multiple tiers containing sometimes very different but functionally complementary pieces of code. This complexity is a clear obstacle to using the flexibility offered by cloud computing. Being able to add, expand, shrink, change, and move computing workloads around is one of the attractions of both Ultra Modular Computing and cloud computing.
Capacity and performance management are key technologies. Virtualization, and its cloud derivatives, offers the capability of flexible capacity allocations for compute and storage. The prerequisite of this flexibility is the ability to understand when and how capacity must be adjusted. It is, of course, a function of the performance received, and closed loop automation that includes performance monitoring and capacity adjustment must be part of the cloud user tool bag.
Financial information must be available to drive technology choices. The corollary of infrastructure flexibility as offered by the cloud is an equal flexibility provided by the application itself. Since the way applications are developed and packaged need to change, IT organizations must be able to choose whether a new service should be developed or acquired, and deployed internally or externally. This choice cannot be made without a thorough cost/value analysis as practiced in a number of industries.
IT management software is redefined. Finally, as much configuration and monitoring functions are embedded in the new environment and come directly from the platform vendor, IT management software loses its strong emphasis on monitoring to gain one in integration and abstraction: integration, because data will come in from either legacy systems, SaaS, or external cloud as well as diverse internal cloud technologies; abstraction, because productivity will require that this data center diversity be managed in a uniform manner that does not require an intimate knowledge of a specific platform.
As this is a theme that I intend to develop in a future paper, I’m very interested in your thoughts and comments.