It wasn’t so long ago that mainframes were being called legacy and distributed servers (or data centres full of them) were the darling of the IT industry. Over time this resulted in “silos” of underutilized servers, a situation that can be avoided using virtualization.
Now we have moved into an era of virtualized servers, storage and networks. However, virtualization hasn’t solved the long delivery lead times, the inability to react quickly to business changes, and the user’s desire to pay only for what they use. The vision of cloud computing is to address these issues while also optimizing with advanced virtualization.
The question many ask is what would be needed to transform an on-premises private IT infrastructure into an internal cloud (assuming you don’t outsource your systems altogether)? Do you have to replace everything and start over? Does management (specifically operations, administration, maintenance and provisioning) change in a cloud-based environment?
Perhaps a review of the basic cloud characteristics can provide some guidance.
(a) Service orientation
Many IT departments have already adopted a service-oriented approach using the ITIL/ITSM standards, and have populated a service catalogue with service descriptions and service level agreements. Some have even implemented on-line ordering of standard services.
Implementing ITIL/ITSM processes should provide a good start towards a managed private cloud.
(b) Cloud service stack
Cloud services are generally divided into infrastructure as a service (IaaS), platform as a service (PaaS) or software as a service (SaaS). These are often portrayed as a hierarchical stack, much like the layering of the OSI 7-layer reference model for networking.
It is not necessary, however, for all the services at each layer to be exposed to the customer. In fact, a service only needs to be formally defined as a service if it is being offered to users. A SaaS service offering does not also require PaaS and IaaS services be offered.
However, if the SaaS provider subcontracts for the underlying PaaS or IaaS services from another provider, then these sub-services would need to be defined.
This is essentially how today’s virtual servers work although perhaps the descriptions are less formal.
Today’s systems are connected to the Internet/Intranet and most can be accessed via a browser. Many newer applications also accommodate at least some mobile devices. There would be no significant change required for a cloud system conversion.
Any Internet-attached system requires strong security to protect the associated data and resources. Security and privacy must always be primary considerations in both the design and the operational processes. This is true whether or not it is a cloud system.
There has been considerable debate concerning the impact of cloud computing on security risks. While some companies use data that is sufficiently confidential that no third party could ever be trusted with it, most applications are not that sensitive.
Security may indeed need to be more robust in a public cloud environment with multiple customers sharing the resources, when the data may be stored in other countries and when there are no specific compliance to standards required.
Security could easily be an area where the cloud conversion requires a technical upgrade.
(e) Self-service, on-demand requests for service
The ability to shop for services and receive them on demand is one of the major characteristics of cloud computing. This is seldom available with today’s enterprise systems – not even to obtain a simple company email address!
The following capabilities would be needed for a self-service, on demand cloud computing environment:
- A portal for users or their managers to submit requests for services;
- A shopping capability (i.e., select from a catalogue, pay for the service, and then activate it immediately); and
- Resources waiting to be activated (which requires pre-deployment using standard patterns).
Cloud computing takes automation a step further by linking the ordering process to the fulfillment process, thus creating a “cloud supply chain.” Automating the cloud supply chain reduces the time to delivery significantly, but only if what is being delivered does not need human intervention for approvals or custom designs.
While automation of routine operations and administration processes is desirable for any system, cloud systems go beyond what is normal for server systems.
(f) Monitoring, metering and consumption billing
Server-based systems have typically been dedicated to specific applications with little or no sharing across divisions. The servers are acquired by users through capital purchases during the initial implementation and none are deployed to meet future workloads.
This often resulted in low utilization, inefficiencies when loads are variable, and an inability to react quickly to changes in demand. Virtualization started the transition to shared resources but it is cloud computing that is now causing capacity to be pooled for use when and where needed.
Physical capacity and logical demand can then be managed and controlled independently and both can be optimized dynamically. Users would not normally pre-purchase the servers since they are no longer dedicated to one application.
To achieve this high level of management control, resource use must be actively monitored, consumption must be metered and the total cost of service operation should be calculated and billed to users. A pay-as-you-go scheme should result in no charges if the service is not used, and charges that are proportional to the actual use of the service.
These are some of my thoughts. What do you think?