Pramak 1 Overview Hybrid (Cloud) Computing Hybrid computing is the use different models of computing to achieve one s end goals. These models of computing might work together in a single workflow or individually in separate workflows. A model of computing as referenced above and in the rest of document is a public cloud, private cloud, or an on-premise non-cloud deployment 1 of computing resources 2. The resources used by a model of computing include physical and virtual computing, networking, and storage. A model of computing might differ from another one of the same kind with respect to who is providing it (which vendor) and what technologies it is using - OS, Virtualization framework, File formats, APIs/SPIs, Protocols, etc. Hybrid computing is there even when the multiple models of computing being used differ only wrt who is providing them or the technologies being used by them. Capturing the above discussion in a succinct definition, Hybrid Computing is defined as the use of different models of computing in a single workflow or separately in different workflows with each model of computing ideally suited to the task it performs to achieve the end goals of an organization The scope of this document is restricted to a discussion of hybrid computing only with respect to clouds and on-premise deployments. Whenever more than one cloud or cloud type is used or one or more clouds is used in conjunction with an on-premise deployment, hybrid computing is said to have occurred. The following sections discuss why hybrid computing is needed, the various models of hybrid computing, and the issues inherent in using it. Organizations that are growing would see a need for hybrid computing since they would face one or more of the situations described below. For a detailed discussion of any aspect described below or for a more in-depth and broader coverage of hybrid computing, pls. consider a consulting engagement with PRAMAK. Need for Hybrid Computing? Given the above definition of hybrid computing, let us examine the various situations in which hybrid computing would be needed. The following sections list some such scenarios. Sudden surges 1 On-premise deployment is a short form for an on-premise non-cloud deployment. 2 One can go to a deeper level than a cloud or on-premise deployment in the explanation of hybrid computing but for the purposes of this document, the discussion is restricted to this level only.
Pramak 2 As companies grow, their capacity to handle sudden spikes in traffic must grow too. When a company builds its own data centers and manages them, it takes away time and focus of the company s personnel from the core activities of the company. While having an on-premise data center to handle customer traffic makes sense when traffic is steady and predictable, sudden spikes in traffic on the introduction of some new product or service, might require an order of magnitude more capacity for a short period of time than is available in the data center. Public clouds are best suited to handle such short term overloads from a cost and capability standpoint. This is where cloud bursting comes into play. An organization can use a public cloud provider as an extension of its on-premise servers to handle sudden spikes in traffic and processing needs. Restrictive rules Many countries in Europe such as Germany require that data generated in the country does not leave the country. This requires that a company, that is established in a different country than the one with such a law that it is servicing, either has its own data center in that country or uses a public or private cloud provider with a data center in that country. From a cost and capability standpoint, it is best to do the latter. This could result in the company ending up with a hybrid network. As another example, Canada requires certain data such as health care/medical records of its citizens to stay within its borders. Amazon though a leading provider of cloud services in the US does not have a data center in Canada 3. So a company using Amazon s AWS in the US has to use a different provider to support its operations in Canada or otherwise build its own data center there and manage it itself or through a cloud management company. If the company uses a cloud provider - Foo with a data center in Canada, it would be dealing with multiple cloud providers, Amazon and Foo. Vendor s limitations As explained in the previous section, if the cloud vendor used by a company does not have a data center in a specific country or state where the company is operating and if the rules of that country or state require local presence of computing resources or performance or other considerations dictate it (see later section on Performance considerations), the company would need to use a different provider than the one it is using. Security and compliance concerns Security and compliance concerns can result in an organization having a mix of private and public clouds. An organization might want certain applications and data to run either onpremise or off-premise in a private cloud while hosting other applications and non-sensitive data in a public cloud. Vendor lock-in Many companies do not want to get locked into a single vendor. This is good business practice not just because it avoids dependencies that constrain flexibility of the company but also because it is sometimes needed to satisfy a company s customers. Such companies use multiple cloud providers and develop the processes and the toolset to manage multiple clouds. migrating applications and data between them when needed 3 As of 4/2/2012
Pramak 3 Performance considerations There are situations where business needs require the company s computing infrastructure to be close to where business transactions take place. This is the case with financial companies that do trading in stock exchanges. These financial companies could be based far away in the same or a different state than the exchange. These companies need to have their computing close to the exchange so that their transactions can save milliseconds of time in executing on the exchange s trading systems. This can enable these companies to stay competitive with their competition. Such companies can use the public cloud provided by the exchange or if they have concerns about security in a multi-tenant environment, have a private cloud close to the exchange s public cloud. There is also the situation where to optimize performance and improve reliability, an organization provides virtualized services to its customers using different cloud providers under the covers. This way the organization can use the best provider and/or technology under different situations and scenarios and so provide optimal performance and reliability to its customers. More about it in the next section. Software/Service requirements While the above scenarios are pertinent to when a company provides services to its customers, this particular scenario discussed below covers the case where a company needs cloud based services to serve its own needs as well as service the needs of its customers. It can be the case that different departments within an organization are using software from different cloud providers. This could be because their needs are best served by these providers or because of familiarity and experience with their software. This state of affairs might have developed over time or might have happened due to some acquisition or merger. As an example, the HR, Sales and Marketing department, and Billing departments in a company might have standardized on Salesforce software. One or more departments might be using it as a SaaS offering from Salesforce while other departments might be using it as an on-premise deployed service. The IT department handling the deployment of the company s web sites, business logic, and storage might be using on-premise deployments and/or cloud deployments through AWS, Amazon s IaaS offering or through Windows Azure, Microsoft s PaaS offering. Such a company is therefore using multiple providers. Hybrid Computing Models With an understanding of why hybrid computing is needed, let us examine what various hybrid computing models can service such a need. The following are some typical models of hybrid computing. There are other models that are variations or combinations of the ones listed below Private and Public Clouds A company can have a private cloud for handling its steady state operations and a public cloud for handling spikes of traffic. It can also use a private/public cloud combination to address its security and compliance concerns as was explained earlier. The private cloud could be
Pramak 4 in a data center owned by the organization or in a rented space managed by providers like Equinix. The company could employ the services of experienced third party cloud managers to manage the various clouds 4. As an example, Rightscale provides cloud management services to companies that want to manage private or public clouds in an optimal way. It can handle different situations such as cloud bursting efficiently for handling spikes in traffic or manage different types of clouds such as those based on OpenStack (Citrix s CloudStack) and those managed by vendors such as AWS. Figure 1 is a schematic of a private and public cloud based hybrid network.. Private/Public cloud and on-premise deployment There are cases where a company has its on-premise deployment of servers and also an offpremise private or public cloud. The on-premise installation communicates through a virtual private connection with the private or public cloud. This kind of model is used for the same purpose as the private-public deployment model discussed above. The difference from the previous model is that an on-premise deployment does not use cloud software and is therefore not a cloud (does not use commodity hardware, is not elastic or highly scalable). The private or public cloud is just an extension of the on-premise data center. Figure 2 is a schematic of a hybrid network that has a private or public cloud connected to an on-premise deployment. 4 Employing a third party to manage the clouds would allow an organization to focus on its core while leaving the management tasks of its context to organizations most experienced to handle them.
Pramak 5 Multiple cloud providers A company can use multiple cloud providers for servicing its various needs to avoid a single vendor lock-in or to conform to rules and regulations of the country it is servicing. For example, as mentioned before, a company dealing with health/medical data could be using Amazon s AWS in the USA but Rackspace in Canada because Amazon does not have a data center in Canada. This is to conform to Canada s rules about health/medical data not leaving its borders. A company may also be using multiple cloud providers to service the different software needs of its various departments. These clouds may or may not be of the same type. For example, a company could be using Office 365 as SaaS thus using MIcrosoft Cloud services while also using Salesforce cloud for its CRM/ERP software. It could at the same time be using Amazon s IaaS for hosting its customer facing services. Figure 3 is a schematic of a hybrid network that has multiple clouds and an on-premise deployment that may be connected to one or more of them.
Pramak 6 Virtualized clouds A company could be using different cloud providers indirectly by using the services of a cloud vendor that provides virtualized services on top of the services of various cloud providers. For example, Nasuni 5 provides virtual cloud storage that under the covers uses the storage services provided by different cloud providers such as Microsoft, Amazon, Rackspace. This way Nasuni is able to provide better performing and more reliable storage than is possible from using just one provider s storage offerings. Figure 4 is a schematic of a hybrid network with an on-premise deployment connected to a virtual cloud provider 5 www.nasuni.com
Pramak 7 As mentioned earlier, the above are a few typical examples of hybrid computing models. There are variations and combinations of the above models that also get used. For example, in the above models, an organization might use a private cloud instead of a public cloud or in place of an on-premise (non-cloud) deployment. Also, an organization might have an on-premise deployment or a on-premise private cloud in the examples above where no such deployment is shown. What kind of hybrid computing works best for an organization depends on the unique situation of the organization and how it has evolved in its use of the cloud. Hybrid Computing Issues The following sections list a few issues that can occur with Hybrid Computing. Multiple sign-on credentials When dealing with different clouds and/or cloud providers, one can have the problem of needing multiple sign-on credentials for accessing the various clouds. There is the need for a single sign-on across the various hybrid deployments. There are providers that have solutions for this. An example of such a provider is Okta that can provide single sign-on across multiple different providers. Some cloud vendors also have solutions in this space though they are more limited in their coverage. For example, Microsoft has a solution for enabling single sign-on across private and public clouds that are using Azure.
Pramak 8 Management complexity Dealing with different providers and types of clouds using different Operating Systems, Virtualization frameworks, File formats, Protocols, APIs/SPIs, Management tools is inherently more complex than dealing with a simple non-hybrid network. One needs to have the right policy, processes, and tools to deal with such complexity. One can also put a layer of abstraction over all this, like Nasuni has done for storage services so that management tasks become easier. One can also use the services of a cloud service broker (CSB) to make the above task easier. CSBs can be internal i.e. the company s own IT staff trained to do this, or external. The CSB can get the best deals for you and make the management tasks much easier because they are intimately familiar with the cloud providers, their offerings, and the toolsets that make management easier. Software migration headache Software developed on one vendor s cloud implementation will not work on another vendor s cloud without changes. Likewise software running in a private cloud might not be easily migratable to a public cloud if the two clouds use different APIs/SPIs, File formats, VMs, Management tools, etc. There are emerging partnerships and software engineering efforts underway that help provide solutions for such problems. For example, a recent partnership between Amazon and Eucalyptus lets the latter use AWS APIs/SPIs to launch private clouds for its customers. Another example is Open Stack 6 whose APIs/SPIs though not compatible with AWS are nevertheless being patterned after AWS APIs/SPIs. This allows for easier migration between Open Stack based clouds and AWS cloud. Conclusion Hybrid computing is becoming a fact of life for organizations that are growing globally and have to deal with large spikes of traffic every so often. Cloud computing when leveraged properly offers organizations the ability to handle their growing needs efficiently and in a cost-effective manner. There are various situations where a single model of cloud computing does not work well for organizations. This might be because of the way an organization and its software use has developed over time or because of expansion/merger activity or because of rules and regulations of countries that the organization is operating in or because of a need to avoid vendor lock-in. There are other reasons too. This paper attempted to discuss hybrid computing by covering aspects such as why it is needed, ways of addressing this need, and the issues one needs to tackle to make the use of hybrid computing a good experience. 6 Open Stack was developed by RackSpace