Today, service providers and enterprises interested in implementing clouds face the challenge of integrating complex software and hardware components from multiple vendors. The resulting system can end up being expensive to build and hard to operate, minimizing the original motives and benefits of moving to cloud computing. Cloud computing platforms are attractive because they let businesses quickly access hosted private and public resources on-demand without the complexities and time associated with the purchase, installation, configuration and deployment of traditional physical infrastructure.
While 2010 was the year for talking about the cloud, 2011 will be the year for implementation. It is for this reason that it is important for service providers and enterprises to gain a better understanding of exactly what they need to build their cloud infrastructure. For both enterprises and service providers, the successful creation and deployment of cloud services will become the foundation for their IT operations for years to come making it essential to get it right from the start.
For the architect employed with building out a cloud infrastructure, there are seven key requirements that need to be addressed when building their cloud strategy. These requirements include:
1. Heterogeneous Systems Support
Not only should cloud management solutions leverage the latest hardware, virtualization and software solutions, but they should also support a data center's existing infrastructure. While many of the early movers based their solutions on commodity and open source solutions like general x86 systems running open source Xen and distributions like CentOS, larger service providers and enterprises have requirements around both commodity and proprietary systems when building out their clouds. Additionally, cloud management providers must integrate with traditional IT systems in order to truly meet the requirements of the data center. Companies that don't support technologies from the likes of Cisco, Red Hat, NetApp, EMC, VMware and Microsoft will fall short in delivering a true cloud product that fits the needs of the data center.
2. Service Management
To productize the functionality of cloud computing, it is important that administrators have a simple tool for defining and metering service offerings. A service offering is a quantified set of services and applications that end users can consume through the provider - whether the cloud is private or public. Service offerings should include resource guarantees, metering rules, resource management and billing cycles. The service management functionality should tie into the broader offering repository such that defined services can be quickly and easily deployed and managed by the end user.
3. Dynamic Workload and Resource Management
In order for a cloud to be truly on-demand and elastic while consistently able to meet consumer service level agreements (SLAs), the cloud must be workload- and resource- aware. Cloud computing raises the level of abstraction to make all components of the data center virtualized, not just compute and memory. Once abstracted and deployed, it is critical that management solutions have the ability to create policies around workload and data management to ensure that maximum efficiency and performance is delivered to the system running in the cloud. This becomes even more critical as systems hit peak demand. The system must be able to dynamically prioritize systems and resources on-the-fly based on business priorities of the various workloads to ensure that SLAs are met.
4. Reliability, Availability and Security
While the model and infrastructure for how IT services are delivered and consumed may have changed with cloud computing, it is still critical for these new solutions to support the same elements that have always been important for end users. Whether the cloud serves as a test bed for developers prototyping new services and applications or it is running the latest version of a popular social gaming application, users expect it to be functioning every minute of every day. To be fully reliable and available, the cloud needs to be able to continue to operate while data remains intact in the virtual data center regardless if a failure occurs in one or more components. Additionally, since most cloud architectures deal with shared resource pools across multiple groups both internal and external, security and multi-tenancy must be integrated into every aspect of an operational architecture and process. Services need to be able to provide access to only authorized users and in this shared resource pool model the users need to be able to trust that their data and applications are secure.
5. Integration with Data Center Management Tools
Many components of traditional data center management sill require some level of integration with new cloud management solutions even though the cloud is a new way of consuming IT. Within most data centers, a variety of tools are used for provisioning, customer care, billing, systems management, directory, security and much more. Cloud computing management solutions do not replace these tools and it is important that there are open application programming interfaces (APIs) that integrate into existing operation, administration, maintenance and provisioning systems (OAM&P) out of the box. These include both current virtualization tools from VMware and Citrix, but also the larger data center management tools from companies like IBM and HP.
6. Visibility and Reporting
The need to manage cloud services from a performance, service level, and reporting perspective becomes paramount to the success of the deployment of the service. Without strong visibility and reporting mechanisms the management of customer service levels, system performance, compliance and billing becomes increasingly difficult. Data center operations have the requirement of having real-time visibility and reporting capabilities within the cloud environment to ensure compliance, security, billing and chargebacks as well as other instruments, which require high levels of granular visibility and reporting.
7. Administrator, Developer and End User Interfaces
One of the primary attributes and successes of existing cloud-based services on the market comes from the fact that self-service portals and deployment models shield the complexity of the cloud service from the end user. This helps by driving adoption and by decreasing operating costs as the majority of the management is offloaded to the end user. Within the self-service portal, the consumer of the service should be able to manage their own virtual data center, create and launch templates, manage their virtual storage, compute and network resources and access image libraries to get their services up and running quickly. Similarly, administrator interfaces must provide a single pane view into all of the physical resources, virtual machine instances, templates, service offerings, and multiple cloud users. On top of core interfaces, all of these features need to be interchangeable to developers and third parties through common APIs.
Cloud computing is a paradigm shift in how data centers and service providers are architecting and delivering highly reliable, highly scalable services to their users in a manner that is significantly more agile and cost effective than previous models. This new model offers early adopters the ability to quickly realize the benefits of improved business agility, faster time to market and an overall reduction in capital expenditures. However, enterprises and service providers need to understand what elements their cloud must contain in order to build a truly successful cloud.
Sheng Liang is CEO of Cloud.com; Peder Ulander serves as CMO for Cloud.com.
This story, "7 Things You Need to Build a Cloud Infrastructure" was originally published by CIO.