Over a million developers have joined DZone.

Choosing the Right Enterprise Cloud Solution for Your Organization

DZone's Guide to

Choosing the Right Enterprise Cloud Solution for Your Organization

· Cloud Zone ·
Free Resource

Learn how to migrate and modernize stateless applications and run them in a Kubernetes cluster.

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.

Enterprises want the same benefits of agility, automation and scale demonstrated by public cloud services such as Amazon EC2 behind their firewall. Although the number of private and hybrid cloud solutions is increasing rapidly, discerning which solution is best suited to your organization can be difficult, Here we attempt to provide some pointers for choosing the right enterprise cloud management solution for your organization – one that is reliable, will meet your business needs and allow you to focus on innovation.

What is 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- 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- and off-premises 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 below 15% capacity. 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 under 15% 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.

Assessing your On-Premise Cloud Needs

There are many aspects to consider when selecting a solution for your enterprise private cloud needs. Below we outline these and the questions that need to be satisfactorily 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. An ideal solution should 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.

Some 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?
  • 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


Complex installation and setup can be a very real barrier to entering cloudspace. As the number of physical machines (nodes) in your underlying infrastructure grows, it becomes increasingly important to avoid a per node installation setup and intensive manual configuration. Make sure your Enterprise Cloud Solution has a largely automated installation with minimal configuration and dynamic resource discovery. Ideally the underlying software should have the ability to discover resources and automatically install and configure new infrastructure..

Specific questions to be asked:

  • How quick and easy is it to deploy a site?
  • Is the base operating system for each node bundled in the solution you are considering?
  • Can you simply plug new nodes into your infrastructure and automatically have these resources installed, configured and available in you cloud environment?
  • Is operating system install for nodes 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 overhead 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?


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?


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 an 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 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?


Ideally an Enterprise Cloud Solution should provide dynamic workload allocation that optimizes infrastructure utilization and provide 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 customize 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 customize 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 elements needed to run an instance?
    • number of CPUs
    • amount of  memory
    • special requirements (eg GPUs)
    • attached storage (eg Fiber Channel interface to a SAN)

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 optimized 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?


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?


At large scale, failures are the norm, so being able to automatically deal with failures dramatically reduces operational burden..Ideally an Enterprise Cloud Solution should be self-healing and self-organizing with no single points of failure.  Sophisticated fail over mechanisms should be employed 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?

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?

In Summary

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. Thorough evaluation of Enterprise Cloud Solutions against the indicators outlined above will ensure the best chance of your organisation enjoying the true benefits of public cloud infrastructure behind the firewall.

Join us in exploring application and infrastructure changes required for running scalable, observable, and portable apps on Kubernetes.


Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}