Topics:
Guest commentary: Cloud computing--bridging the gap
Guest post by Ben Newton
When properly executed, the benefits of running services in a cloud computing architecture seem indisputable. Yet, for the average IT shop, excitement over cloud computing can quickly be lost in the dawning awareness that heterogeneous environments don't lend themselves so easily to the "cloud." This applies doubly so to the public sector, since the complex needs of government organizations demand unique applications, on a variety of platforms, with significant, non-negotiable security requirements. Faced with the realization that typical cloud computing success stories come from organizations that have grown their capabilities organically, and usually have services based on a very specific platform, public sector organizations might easily argue that the cloud just isn't right for them.
But that's an incorrect assumption to make. Not only is government cloud computing adoption possible, but it's actually a natural progression, if only the missing parts of the puzzle are clearly outlined and implemented.
The big missing piece can be summed up in one word: Automation. A cloud environment is not only a highly-virtualized environment, but also highly-automated. Agency IT shops know--or, at least, they should know--that they can't just create a fancy "cloud" web page but keep using manual methods behind closed doors. As data center management has become more and more complex, the need for automated processes has become more and more necessary. In fact, cloud computing is merely the latest in a series of innovations that cannot be properly implemented on any sort of scale without automation in place.
But cloud architecture makes the automation challenge only more difficult by adding process management to the picture. Within private clouds, the end-user has been abstracted away from the underlying infrastructure. The benefit to the end-user is that services can be consumed on a "by the drink" basis, with rapid delivery of any request. But, it is not merely enough to create a blank virtual machine and hand it over. Users need to be able to choose applications to add on to the base platform, add storage on the back end, and have confidence that security requirements are being met.
The good news is that this automation is not only possible, it has been successful in less glamorous settings than cloud computing for years now. The foundation for building a private cloud is not to merely invest in virtualization, and hope for the best. Instead, public sector IT organizations need to take automation out of the backroom and make it the center-piece of their cloud strategy.
Cloud fundamentals
A fundamental requirement for cloud computing is eliminating the need for internal stakeholders and external constituents to understand or even consider the complexities of the back-end technology infrastructure supporting the services being provided to them. In other words, the value cloud computing provides is that it gives your customers the freedom to focus on their core business or mission. As the service provider, you have two primary techniques for providing them with this freedom: Abstraction and automation.
Abstraction
In this context, abstraction is the process of hiding the details of the implementation to focus on service delivery. Abstraction is achieved primarily through virtualization. The main thrust of virtualization is to hide the complexity of supporting infrastructure, and to provide cost-saving uniformity regardless of the supporting hardware. The complex processes necessary to support the deployment of new services should be abstracted through the service catalog. Through this catalog, customers select from a simple list of available services and choose those that meet their needs.
Automation
While it is entirely possible to implement abstraction backed by manual efforts, this is a doomed approach. Abstraction depends on both uniformity and configuration controls to achieve any economies of scale and cost savings. No amount of documentation and processes will ever guarantee the uniformity and consistency of work done by administrators manually. On the other hand, with the upfront investment of time in proper automation, complex service delivery can be reduced to a very defined and predictable process with significant cost-savings over the long term.
Automation generally takes two forms: Process automation and configuration automation.
- Process automation is best understood in terms of automating the fulfillment of processes and activities. Service requests, selected by the customer from the service catalog, must automatically convert into the complex tasks necessary to achieve the end result, represented in the functions of configuration, change and release management.
- Configuration automation follows process automation and carries out the actual configurations represented by the change requests. It reshapes the technology environment "on the fly" to meet the needs of the requested services. Because of the sheer volume of changes necessary to maintain any sort of complex environment, cost-effective cloud computing isn't remotely possible unless this automation is in place.
In considering these two types of automation, you may ask whether it's enough to merely automate the building of services. Doesn't process automation add unnecessary complexity to the management of cloud services? Is it even necessary? The answer comes down to the concept of configuration control. Without controls in place, there is no way to plan or design the infrastructure properly, since the end result is completely undefined. This lack of definition can lead to a variety of IT control issues, not the least of which is virtual sprawl--the uncontrolled and overwhelming growth of the virtual infrastructure.




Comments