Community
Discussions | Feature Requests | Tips and Tricks
How to choose an Enterprise Cloud Solution
#1March 8, 2011 07:36:06
- Quinton Hoole
- Registered: 2010-08-23
- Posts: 1
How to choose an Enterprise Cloud Solution
Cloud computing is here to stay and many organizations are under pressure to move towards this powerful new technology. Yet, concerns around moving into the cloud are very real. Complex and time consuming deployment, security risks, nightmarish application migration scenarios and buggy and immature private cloud management offerings are just some of the barriers to mainstream enterprise adoption of the cloud.
Cloudspace is very noisy and often full of hot air, so how can you discern a reliable cloud management solution that will meet your business needs? This document attempts to provide some markers of what to look for when evaluating the good, the bad and the ugly cloud management solutions currently on offer.
Why you need an Enterprise Cloud Solution
An Enterprise Cloud Solution promises to convert your static data center into nimble compute capacity that is further enhanced by seamless integration with other on-premise and off-premise clouds. Essentially, the Enterprise Cloud Solution offers a cost-effective way to meet your organization's computing requirements by optimizing the utilization of your current infrastructure and increasing all-round system efficiency by automating resource provisioning and reducing the need for human interaction.
The key benefits of an Enterprise Cloud Solution, offering access to both on-premise and off-premise compute capacity, include:
* Flexible compute capacity promotes innovation and allows organizations to rapidly respond to changing business demands while focusing on their core-competencies.
* Infrastructure cost savings - Corporate servers are estimated to run at 5-10% capacity.http/www.mckinsey.com/clientservice/sustainability/pdf/Data_Cente... An Enterprise Cloud Solution promises to dramatically increase infrastructure utilization rates especially where load is variable, eliminating the need for hardware purchases that tackle only peak demand and avoiding over-provisioning of resources.
* Operational cost savings - By automating manual processes, Enterprise Cloud Solutions reduce the demand for administration and support.
Why not just use Public Cloud Services?
An Enterprise Cloud Solution offers the benefits of flexible, responsive compute capacity both behind the firewall and in the public cloud domain. A good Enterprise Cloud Solution should provide access to both local private infrastructure and off-premise cloud services with a uniform interface and integrated authentication. Although public cloud services provide unique opportunities for certain types of compute, particularly those with unpredictable load, there are many advantages to deploying an in house private cloud able to link to external clouds when necessary. Customers should not have to choose one over the other but be able to implement a flexible solution that allows them to utilize both as required.
The benefits of having access to local on-premise cloud capacity as opposed to solely accessing public cloud services for elastic compute needs include:
* Security – It may be preferable to keep sensitive services, applications and data behind the firewall, instead of exposing these to the risks associated with outsourcing compute capacity and storage to an external vendor.
* Performance – Access speeds between compute instances over a local network are generally much faster than access to a public cloud over the Internet, where speed is limited by a provider's bandwidth or latency. Ensuring compute and data are physically close together avoids performance degradation, especially in large scale systems.
* Service Disruption – Technology upgrades scheduled at the most convenient and cost effective time for the public cloud operator, could have serious implications for your services if they correspond with high demand.
* Regulatory – Data flows are becoming more global but privacy laws are local. Deploying systems across regions can become problematic when regional regulations differ.
* Internal Resource Accounting – A good Enterprise Cloud Solution will facilitate the monitoring and metering of resource consumption by various business units within the organization, allowing for consumption based intra-organizational billing.
* Sunk cost – Many large corporations have invested heavily in private data centers, most of which run at 5-10% utilization. With the spend on data centers being roughly split in thirds across operations, hardware and power, a solution that dramatically increases hardware utilization while decreasing operational overheads, becomes very cost effective.
* Data Longevity – Keeping data in a public cloud for long periods can be costly. Where data longevity is a key system requirement, having a private cloud component with local storage as part of your cloud solution can be cost effective.
Understanding your On-Premise Cloud Needs
We've identified a number of key requirements for Enterprise Cloud Solutions below and compiled sets of questions that should be answered when considering a cloud solution's suitability for enterprise use.
Security - Authentication and Authorization
Ideally, an Enterprise Cloud Solution should provide fine-grained authorization supporting multi-tenancy. Authentication should ideally be integrated with existing user services to provide hassle free user management and the efficient reuse of existing corporate user databases. Many cloud solutions do not support the sophisticated authentication and authorization necessary to provide multi-tenancy which allows multiple customers, groups and users to co-exist in isolation from each other or share resources on a single site. The ability to create users and groups whose allowable actions can be determined by policy in the form of rigorously enforced permissions, is essential for robust security, controlled access to on- and off-premise resources and for monitoring and billing.
Specific questions to be asked:
* What security is present?
* Is this security robust?
* Does the security afford tight enough control?
* Does authentication integrate with existing user services?
* Are you satisfied with the the caliber of all third party vendors associated with your cloud vendor?
* Is fine-grained policy based authorization supported?
* Is multi-tenancy supported?
* Does the security satisfy any industry-specific laws and regulations by which your business must abide?
*
Ease of use
Installation
Complex installation and setup can be a very real barrier to entering cloudspace. As the number of machines (nodes) in your underlying infrastructure grows, it becomes increasingly important to avoid a per node installation setup. Make sure your Enterprise Cloud Solution has a largely automated installation with minimal configuration and dynamic resource discovery.
Specific questions to be asked:
* How quick and easy is it to deploy a site?
* Is the base operating system bundled?
* Is operating system install fully automated?
* Can nodes install in under 15 minutes?
* Is installation independent of Internet connectivity?
* Are security keys distributed at install time?
* Is the site install of the node farm automated?
Site administration and maintenance
Ideally, an Enterprise Cloud Solution automates most of the manual tasks associated with static data center administration and management and provides powerful tools to handle those tasks requiring human interaction. This reduces operational overheads and saves on staff retraining time as administration and maintenance of the cloud should be a largely hands-off affair.
Specific questions to be asked:
* How quick and easy is it to manage the site?
* Is site management largely automated?
* Is scripting and API support present?
* Is it easy to get technical personnel up to speed with the requirements of the cloud solution with respect to architecture, implementation, and operation?
Interface
Various interfaces need to be available for interacting with the cloud in different contexts, such as a command line interface (CLI), a graphical user interface (GUI) and an application programming interface (API) for programmatic interaction. These interfaces need to be easy to use and consistent, providing the same, comprehensive set of functionality.
Specific questions to be asked:
* What are the various interfaces for interacting with the cloud and how usable are these?
* How consistent are these interfaces? Is the same set of functionality supported throughout?
* Can the Enterprise Cloud Solution interface integrate seamlessly with public cloud offerings?
Migration
Re-engineering applications to work on a new platform can dramatically escalate the cost and time required to get your business up and running in the cloud, so being able to easily migrate existing applications is a key requirement when choosing a Enterprise Cloud Solution. Network and storage constraints are the main differentiators when considering migration.
Specific questions to be asked:
* How convenient is it to migrate existing enterprise applications into the cloud?
* Does the solution support an architecture similar to those used by enterprise applications?
* What guest operating systems are supported?
* Is regular SQL RDBMS storage supported?
* Can compute and storage be attached and detached easily to facilitate flexible movement of instances?
* Is seamless access to your existing SAN and NAS infrastructure supported?
* Is a familiar networking environment supported?
* Are layer 2 access, multicast and non-tcp protocols like IPSEC supported?
* Are all the required versions of your application operating system supported?
* Are your existing software licenses portable to the cloud?
Integration
Integration with existing services and system management polices allows for time-saving and hassle-free reuse of existing systems.
Specific questions to be asked:
* How easy is it to integrate existing systems management policies and functions into the cloud?
* Does the system integrate with existing Directory Services?
Flexibility
Ideally an Enterprise Cloud Solution should provide dynamic workload allocation that optimizes infrastructure utilization and provides flexible instance management that supports customization to specific business needs. Controlled access to external compute capacity should also be supported to make additional capacity available when necessary.
Access to External Compute Capacity
Access to external compute capacity allows customers to burst into other on- and off-premise clouds subject to load demands, flexibly providing extra compute capacity when necessary.
Specific questions to be asked:
* Is federated authentication with external on- and off-premise clouds supported?
* What level of control is available when accessing external compute capacity?
* Is the interface to external clouds transparent i.e. is it the same interface used to access local resources?
Instance Management
Being able to easily launch and terminate instances empowers innovation as it eliminates the manual restrictions involved in static systems deployment. The ability to customise the instance deployment environment allows customers to fine tune how their instances are launched in line with business needs.
Specific questions to be asked:
* How easy is it to deploy and terminate instances?
* Is it possible to customise aspects of instance deployment to specific business needs?
* Is it possible to specify network-locality relationships between launched instances? This is useful, if for example, you require that two instances be launched on the same physical machine to facilitate inter-instance communication, or that instances be launched on different clusters, to try and guarantee the highest level of reliability even if there are data center failures.
* Is it possible to define custom instance types or shapes that define
o number of CPUs
o amount of memory
o special requirements (eg GPUs)
o attached storage (eg Fiber Channel interface to a SAN)
needed to run an instance?
Dynamic workload allocation
Efficient dynamic workload allocation is a key requirement for a utility grade Enterprise Cloud Solution and replaces the hands-on resource provisioning of the static data center paradigm. Intelligent placement should efficiently allocate resources to instances based on user specified parameters, such as number of CPUs and amount of RAM required. Ideally you want to be able to dynamically place any instance shape on any node, according to policy instead of having to hard configure nodes for particular instance types or shapes. Hard configuring nodes makes it very difficult to accommodate shifts in demand from one shape to another.
Specific questions to be asked:
* Is the dynamic workload allocation model robust, providing optimised rates of infrastructure utilization?
* Does the system place workloads on the optimal node?
* How flexible and efficient is placement?
* Can you dynamically place any instance shape on any node, according to policy?
* Can the parameters be specified by the user?
Scaling
To be able to support deployment of utility grade systems, an Enterprise Cloud Solution should scale from a small cluster to hundreds of thousands of physical machines without performance degradation.
Specific questions to be asked:
* How scalable is the solution?
* What are the operational overhead implications associated with scaling?
* How is performance impacted with scale?
Reliability
Ideally an Enterprise Cloud Solution should be self-healing and self-organizing with no single points of failure and should employ sophisticated fail over mechanisms to ensure system integrity and resilience. Failover management should be completely automated to ensure no service interruption.
Specific questions to be asked:
* Are there single points of failure in the solution's architecture?
* What redundancy mechanisms are in place?
* Is failover management automated?
Cost
Ideally an Enterprise Cloud Solution should reduce Capital and Operating expenditure by increasing infrastructure utilization rates and reducing demand on system administrators.
Specific questions to be asked:
* What are the costs with respect to usage and licensing?
* Is there flexible cost structuring?
* How does the cost structuring support your business needs?
* Are there any infrastructure outlay costs above what's already in place for a virtual data center? What are the performance implications for simply using existing infrastructure as the cloud base?
* Will the level of system automation reduce demands on system administrators and thereby reduce operating expenditure?
Monitoring and Metering
Ideally an Enterprise Cloud Solution should record all system requests, incidents and events, creating a rich audit trail. The monitoring system should be able to integrate with external analysis software.
Specific questions to be asked:
* Does the monitoring and metering provided by the system support the needs of your organization?
* Can monitoring be integrated with your existing monitoring infrastructure e.g. is SNMP supported?
Roadmap
Committing to a Enterprise Cloud Solution represents a large investment and it is important to determine whether your future business needs and the cloud vendor's technology roadmap are in sync.
Specific questions to be asked:
* Has this cloud vendor committed to a feature/technology roadmap that is in line with the future needs of your organization?
Testing/Track Record/Recommendations
Ideally an Enterprise Cloud Solution would be supplied by a vendor with industry credentials and a solid track record or an experienced team if this is a new vendor. Evidence of system testing and benchmarking as well as recommendations from satisfied customers are also desirable. Although the relative youth of cloudspace might make this a tricky area to evaluate, it will become increasingly important after a few years of robust usage of enterprise cloud software.
Specific questions to be asked:
* Has the software been load tested?
* Have clients tested the software for real life problems?
* Have clients endorsed the offering?
* Does the vendor have a good track record?
* Has any benchmarking been done? Are the results favorable?
* Is this a mature product?
Support
Ideally an Enterprise Cloud Solution would provide access to a comprehensive support package consisting of access to system support staff and engineers as well as quality documentation.
Specific questions to be asked:
* What level of vendor support is available?
* What level of community support is available?
Conclusion
With the number of Enterprise Cloud Solutions on the market increasing and the implications of moving to the cloud representing a substantial investment in product procurement and staff training and time, it is critical that solution choice be carefully considered. Hopefully this document will prove useful when trying to navigate the hype of cloudspace and provide solid indicators for a robust, resilient and effective Enterprise Cloud Solution.
Cloudspace is very noisy and often full of hot air, so how can you discern a reliable cloud management solution that will meet your business needs? This document attempts to provide some markers of what to look for when evaluating the good, the bad and the ugly cloud management solutions currently on offer.
Why you need an Enterprise Cloud Solution
An Enterprise Cloud Solution promises to convert your static data center into nimble compute capacity that is further enhanced by seamless integration with other on-premise and off-premise clouds. Essentially, the Enterprise Cloud Solution offers a cost-effective way to meet your organization's computing requirements by optimizing the utilization of your current infrastructure and increasing all-round system efficiency by automating resource provisioning and reducing the need for human interaction.
The key benefits of an Enterprise Cloud Solution, offering access to both on-premise and off-premise compute capacity, include:
* Flexible compute capacity promotes innovation and allows organizations to rapidly respond to changing business demands while focusing on their core-competencies.
* Infrastructure cost savings - Corporate servers are estimated to run at 5-10% capacity.http/www.mckinsey.com/clientservice/sustainability/pdf/Data_Cente... An Enterprise Cloud Solution promises to dramatically increase infrastructure utilization rates especially where load is variable, eliminating the need for hardware purchases that tackle only peak demand and avoiding over-provisioning of resources.
* Operational cost savings - By automating manual processes, Enterprise Cloud Solutions reduce the demand for administration and support.
Why not just use Public Cloud Services?
An Enterprise Cloud Solution offers the benefits of flexible, responsive compute capacity both behind the firewall and in the public cloud domain. A good Enterprise Cloud Solution should provide access to both local private infrastructure and off-premise cloud services with a uniform interface and integrated authentication. Although public cloud services provide unique opportunities for certain types of compute, particularly those with unpredictable load, there are many advantages to deploying an in house private cloud able to link to external clouds when necessary. Customers should not have to choose one over the other but be able to implement a flexible solution that allows them to utilize both as required.
The benefits of having access to local on-premise cloud capacity as opposed to solely accessing public cloud services for elastic compute needs include:
* Security – It may be preferable to keep sensitive services, applications and data behind the firewall, instead of exposing these to the risks associated with outsourcing compute capacity and storage to an external vendor.
* Performance – Access speeds between compute instances over a local network are generally much faster than access to a public cloud over the Internet, where speed is limited by a provider's bandwidth or latency. Ensuring compute and data are physically close together avoids performance degradation, especially in large scale systems.
* Service Disruption – Technology upgrades scheduled at the most convenient and cost effective time for the public cloud operator, could have serious implications for your services if they correspond with high demand.
* Regulatory – Data flows are becoming more global but privacy laws are local. Deploying systems across regions can become problematic when regional regulations differ.
* Internal Resource Accounting – A good Enterprise Cloud Solution will facilitate the monitoring and metering of resource consumption by various business units within the organization, allowing for consumption based intra-organizational billing.
* Sunk cost – Many large corporations have invested heavily in private data centers, most of which run at 5-10% utilization. With the spend on data centers being roughly split in thirds across operations, hardware and power, a solution that dramatically increases hardware utilization while decreasing operational overheads, becomes very cost effective.
* Data Longevity – Keeping data in a public cloud for long periods can be costly. Where data longevity is a key system requirement, having a private cloud component with local storage as part of your cloud solution can be cost effective.
Understanding your On-Premise Cloud Needs
We've identified a number of key requirements for Enterprise Cloud Solutions below and compiled sets of questions that should be answered when considering a cloud solution's suitability for enterprise use.
Security - Authentication and Authorization
Ideally, an Enterprise Cloud Solution should provide fine-grained authorization supporting multi-tenancy. Authentication should ideally be integrated with existing user services to provide hassle free user management and the efficient reuse of existing corporate user databases. Many cloud solutions do not support the sophisticated authentication and authorization necessary to provide multi-tenancy which allows multiple customers, groups and users to co-exist in isolation from each other or share resources on a single site. The ability to create users and groups whose allowable actions can be determined by policy in the form of rigorously enforced permissions, is essential for robust security, controlled access to on- and off-premise resources and for monitoring and billing.
Specific questions to be asked:
* What security is present?
* Is this security robust?
* Does the security afford tight enough control?
* Does authentication integrate with existing user services?
* Are you satisfied with the the caliber of all third party vendors associated with your cloud vendor?
* Is fine-grained policy based authorization supported?
* Is multi-tenancy supported?
* Does the security satisfy any industry-specific laws and regulations by which your business must abide?
*
Ease of use
Installation
Complex installation and setup can be a very real barrier to entering cloudspace. As the number of machines (nodes) in your underlying infrastructure grows, it becomes increasingly important to avoid a per node installation setup. Make sure your Enterprise Cloud Solution has a largely automated installation with minimal configuration and dynamic resource discovery.
Specific questions to be asked:
* How quick and easy is it to deploy a site?
* Is the base operating system bundled?
* Is operating system install fully automated?
* Can nodes install in under 15 minutes?
* Is installation independent of Internet connectivity?
* Are security keys distributed at install time?
* Is the site install of the node farm automated?
Site administration and maintenance
Ideally, an Enterprise Cloud Solution automates most of the manual tasks associated with static data center administration and management and provides powerful tools to handle those tasks requiring human interaction. This reduces operational overheads and saves on staff retraining time as administration and maintenance of the cloud should be a largely hands-off affair.
Specific questions to be asked:
* How quick and easy is it to manage the site?
* Is site management largely automated?
* Is scripting and API support present?
* Is it easy to get technical personnel up to speed with the requirements of the cloud solution with respect to architecture, implementation, and operation?
Interface
Various interfaces need to be available for interacting with the cloud in different contexts, such as a command line interface (CLI), a graphical user interface (GUI) and an application programming interface (API) for programmatic interaction. These interfaces need to be easy to use and consistent, providing the same, comprehensive set of functionality.
Specific questions to be asked:
* What are the various interfaces for interacting with the cloud and how usable are these?
* How consistent are these interfaces? Is the same set of functionality supported throughout?
* Can the Enterprise Cloud Solution interface integrate seamlessly with public cloud offerings?
Migration
Re-engineering applications to work on a new platform can dramatically escalate the cost and time required to get your business up and running in the cloud, so being able to easily migrate existing applications is a key requirement when choosing a Enterprise Cloud Solution. Network and storage constraints are the main differentiators when considering migration.
Specific questions to be asked:
* How convenient is it to migrate existing enterprise applications into the cloud?
* Does the solution support an architecture similar to those used by enterprise applications?
* What guest operating systems are supported?
* Is regular SQL RDBMS storage supported?
* Can compute and storage be attached and detached easily to facilitate flexible movement of instances?
* Is seamless access to your existing SAN and NAS infrastructure supported?
* Is a familiar networking environment supported?
* Are layer 2 access, multicast and non-tcp protocols like IPSEC supported?
* Are all the required versions of your application operating system supported?
* Are your existing software licenses portable to the cloud?
Integration
Integration with existing services and system management polices allows for time-saving and hassle-free reuse of existing systems.
Specific questions to be asked:
* How easy is it to integrate existing systems management policies and functions into the cloud?
* Does the system integrate with existing Directory Services?
Flexibility
Ideally an Enterprise Cloud Solution should provide dynamic workload allocation that optimizes infrastructure utilization and provides flexible instance management that supports customization to specific business needs. Controlled access to external compute capacity should also be supported to make additional capacity available when necessary.
Access to External Compute Capacity
Access to external compute capacity allows customers to burst into other on- and off-premise clouds subject to load demands, flexibly providing extra compute capacity when necessary.
Specific questions to be asked:
* Is federated authentication with external on- and off-premise clouds supported?
* What level of control is available when accessing external compute capacity?
* Is the interface to external clouds transparent i.e. is it the same interface used to access local resources?
Instance Management
Being able to easily launch and terminate instances empowers innovation as it eliminates the manual restrictions involved in static systems deployment. The ability to customise the instance deployment environment allows customers to fine tune how their instances are launched in line with business needs.
Specific questions to be asked:
* How easy is it to deploy and terminate instances?
* Is it possible to customise aspects of instance deployment to specific business needs?
* Is it possible to specify network-locality relationships between launched instances? This is useful, if for example, you require that two instances be launched on the same physical machine to facilitate inter-instance communication, or that instances be launched on different clusters, to try and guarantee the highest level of reliability even if there are data center failures.
* Is it possible to define custom instance types or shapes that define
o number of CPUs
o amount of memory
o special requirements (eg GPUs)
o attached storage (eg Fiber Channel interface to a SAN)
needed to run an instance?
Dynamic workload allocation
Efficient dynamic workload allocation is a key requirement for a utility grade Enterprise Cloud Solution and replaces the hands-on resource provisioning of the static data center paradigm. Intelligent placement should efficiently allocate resources to instances based on user specified parameters, such as number of CPUs and amount of RAM required. Ideally you want to be able to dynamically place any instance shape on any node, according to policy instead of having to hard configure nodes for particular instance types or shapes. Hard configuring nodes makes it very difficult to accommodate shifts in demand from one shape to another.
Specific questions to be asked:
* Is the dynamic workload allocation model robust, providing optimised rates of infrastructure utilization?
* Does the system place workloads on the optimal node?
* How flexible and efficient is placement?
* Can you dynamically place any instance shape on any node, according to policy?
* Can the parameters be specified by the user?
Scaling
To be able to support deployment of utility grade systems, an Enterprise Cloud Solution should scale from a small cluster to hundreds of thousands of physical machines without performance degradation.
Specific questions to be asked:
* How scalable is the solution?
* What are the operational overhead implications associated with scaling?
* How is performance impacted with scale?
Reliability
Ideally an Enterprise Cloud Solution should be self-healing and self-organizing with no single points of failure and should employ sophisticated fail over mechanisms to ensure system integrity and resilience. Failover management should be completely automated to ensure no service interruption.
Specific questions to be asked:
* Are there single points of failure in the solution's architecture?
* What redundancy mechanisms are in place?
* Is failover management automated?
Cost
Ideally an Enterprise Cloud Solution should reduce Capital and Operating expenditure by increasing infrastructure utilization rates and reducing demand on system administrators.
Specific questions to be asked:
* What are the costs with respect to usage and licensing?
* Is there flexible cost structuring?
* How does the cost structuring support your business needs?
* Are there any infrastructure outlay costs above what's already in place for a virtual data center? What are the performance implications for simply using existing infrastructure as the cloud base?
* Will the level of system automation reduce demands on system administrators and thereby reduce operating expenditure?
Monitoring and Metering
Ideally an Enterprise Cloud Solution should record all system requests, incidents and events, creating a rich audit trail. The monitoring system should be able to integrate with external analysis software.
Specific questions to be asked:
* Does the monitoring and metering provided by the system support the needs of your organization?
* Can monitoring be integrated with your existing monitoring infrastructure e.g. is SNMP supported?
Roadmap
Committing to a Enterprise Cloud Solution represents a large investment and it is important to determine whether your future business needs and the cloud vendor's technology roadmap are in sync.
Specific questions to be asked:
* Has this cloud vendor committed to a feature/technology roadmap that is in line with the future needs of your organization?
Testing/Track Record/Recommendations
Ideally an Enterprise Cloud Solution would be supplied by a vendor with industry credentials and a solid track record or an experienced team if this is a new vendor. Evidence of system testing and benchmarking as well as recommendations from satisfied customers are also desirable. Although the relative youth of cloudspace might make this a tricky area to evaluate, it will become increasingly important after a few years of robust usage of enterprise cloud software.
Specific questions to be asked:
* Has the software been load tested?
* Have clients tested the software for real life problems?
* Have clients endorsed the offering?
* Does the vendor have a good track record?
* Has any benchmarking been done? Are the results favorable?
* Is this a mature product?
Support
Ideally an Enterprise Cloud Solution would provide access to a comprehensive support package consisting of access to system support staff and engineers as well as quality documentation.
Specific questions to be asked:
* What level of vendor support is available?
* What level of community support is available?
Conclusion
With the number of Enterprise Cloud Solutions on the market increasing and the implications of moving to the cloud representing a substantial investment in product procurement and staff training and time, it is critical that solution choice be carefully considered. Hopefully this document will prove useful when trying to navigate the hype of cloudspace and provide solid indicators for a robust, resilient and effective Enterprise Cloud Solution.