Cloud computing is resource brokering -- the allocation of processing and storage resources in a highly flexible and transparent way. Any application that makes it harder to broker your IT resources will make it difficult to adopt private clouds. With enterprise clouds, I suggest you start small and work through the following concerns to ensure a successful implementation.
Enterprise network "star" configurations create boundaries
All cloud computing applications must support quality connections between any user's desktop and any server in the cloud. Most enterprise networks are not designed for such open connectivity; many are still "star" configurations that connect each remote office to a data center.
In a star configuration, the boundary of the "cloud" would be the boundary of the data center. With this limitation, it may be hard to find enough benefits to justify a move to enterprise-hosted cloud computing. If there are multiple points where cloud resources can be hosted, they must have enough bandwidth and quality of service (QoS) in their paths to the desktops. Otherwise, performance variations will kill the applications.
Application compatibility in a private cloud computing setup
The best applications to run on a private cloud are those that are compute-intensive and have little access to your databases. Next in line are applications that use static data stores that can be replicated.
The hardest applications to run on a private cloud are those with transactional access to databases. Any server that is assigned such an application has to be connected to the database where the information will be maintained. This setup creates a back-end storage network performance problem that can make cloud computing a nightmare. It may also create database synchronization issues if multiple copies of the database are needed.
The breadth of applications and application platforms, such as the operating system and middleware, is also a major factor in the success of an enterprise cloud. If applications require significantly different hardware, there may not be enough of any specific hardware type to create an effective pool of resources in the cloud.
If you have only one SPARC Solaris server and three applications that need it, you're back to client-server computing. The use of virtual machines can help as long as the CPUs themselves are compatible with the applications. However, scheduling tasks across multiple virtual servers in a cloud may require a lot of application management capability, something not all enterprises have available.
The best way to make an enterprise cloud application work is to contain it. A simple application like document management (including word processors, spreadsheets, and presentation graphics) that "real" cloud applications (such as GoogleApps) have popularized can be hosted on an enterprise cloud in a variety of ways. It is even an open-source "cloud operating system" that includes basic cloud computing resource brokerage as well as virtual desktop interfaces for most common PC platforms (check out: eyeOS). This provides the enterprise with better security than having the same data hosted outside, where it may or may not be fully protected from unauthorized use.
Access, application and data security in an enterprise cloud
Applications run and data stored in a true "external" cloud are not fully secured. However, some security problems can occur even with enterprise clouds.
Many companies use security systems to protect specific resources, expecting them to have a static relationship with applications. In cloud computing, that is not likely to be the case and some security mechanisms may not function as needed. In addition, the interfaces used for interaction between applications and desktops are typically published in a directory, which can create a new point of attack for either intrusion or denial of service. A cloud configuration should be subject to a complete security audit before installation, and again once the pieces are in place -- before company data is committed to it.
When considering an external cloud computing partner, you should determine how much effort is required to self-host some, or all, of the application at a later time based on your business needs. Some cloud architectures are based on principles more easily adapted to the enterprise than others. Such architecture will give you maximum flexibility in deciding where your own cloud will be hosted.
|ABOUT THE AUTHOR:|
| Tom Nolle
Tom Nolle is president of CIMI Corporation, a strategic consulting firm specializing in telecommunications and data communications since 1982. He is a member of the IEEE, ACM, Telemanagement Forum, and the IPsphere Forum, and is the publisher of Netwatcher, a journal in advanced telecommunications strategy issues.