From Virtual Machine to Cloud Deployment: An Appliance Deployment Guide
A clear path to achieving cloud deployment goals
Apr. 5, 2011 11:45 AM
The one sure constant in the application deployment space is change. Over the last decade, many software OEMs have gone from shipping only packaged software to offering turnkey physical appliances, and more recently to providing packaged virtual appliances. The evolution from packaged software to appliance deployments, both physical and virtual, gives end users and IT departments a more streamlined approach to deploying and managing specific services in their environments, leading to better customer experiences and reduced support costs. So what changes when virtual appliances move to the cloud?
More and more, customers are looking to move services into the cloud to reduce their physical infrastructure and cost. Several things change, however, when customers no longer control the physical hardware on which their critical services run. Moving virtual appliances into the cloud requires new strategies for development, provisioning, maintaining, and updating virtual appliances. In this article we will discuss the four core elements required for moving virtual appliances to the cloud and how software OEMs and ISVs can achieve cloud migrations with minimum impact on their development resources.
Traditionally, when developing an appliance image for a physical platform, OEMs needed only to select the proper hardware platform, operating system (OS), drivers, and management tools. As virtual appliances began to enter the market to supplement dedicated physical appliances, however, extra levels of complexity were added to the appliance development process, including:
• Hypervisor selection
When selecting a hypervisor(s) to run a virtual appliance, an OEM or ISV must take several factors into consideration.
What is the primary operating environment? Appliances deployed on Microsoft Windows Server VMs may well wish to choose Microsoft's own Hyper-V in order to simplify licensing and testing. Linux-based appliances, however, may find Xen to be a better choice to fit their needs due it its low deployment cost and host Linux server support. On the other hand, many IT departments may prefer to use VMware-based solutions based on their large market share and available management tools.
OEMs and ISVs must carefully gather information from their prospective VM appliance customers to help make intelligent decisions on hypervisor selection. Choosing an environment that a potential customer does not want can lead to missed opportunities and additional porting work later. Supporting multiple VM environments, however, leads to more development, validation, and support work on behalf of the appliance provider.
• Minimum VM resource allocation
OEMs and ISVs must also consider the minimum provisioning requirements for the VM-based appliances for both the physical servers on which they'll run, as well as the VM instance itself. For example, a VM appliance may require 4GB of RAM, 10GB of storage, two virtual CPUs, and a 1GigE virtual NIC to provide the advertised level of service. Minimum requirements must be validated across a range of test server architectures to ensure that the required service level can be met regardless of the physical host server architecture, so long as the minimum hypervisor and VM requirements are met.
As OEMs and ISVs enter the world of cloud-based appliances, they are faced with several more choices as well.
• Cloud service providers
There are currently no widely accepted standards for cloud computing infrastructure. As a result, each cloud provider tends to have its own requirements for VM packaging, management, provisioning, and billing. In much the same way that OEMs and ISVs had to make careful choices on which hypervisor(s) to support, they must also choose which cloud computing service providers to support. Each provider that is supported, as with each hypervisor supported, will likewise lead to more image development, validation, and support for the appliance provider.
• Minimizing appliance footprint
Cloud service providers commonly charge for service based on consumption of CPU, memory, storage, and network resources. Simply put, the more resources that are consumed, the more the service provider charges for the service. Applying the concept of Just Enough Operating System (JEOS) to reduce the appliance's operating environment to the minimum requirements, the final cloud appliance can ultimately consume less CPU, memory, and storage resources by eliminating non-critical services and their dependencies. JEOS also provides the added benefit of enhancing overall appliance security by reducing the potential number of network attack vectors available when compared to a standard OS installation.
Unlike physical or properly provisioned VM-based appliances, cloud-based appliances come with no guaranteed service level. Cloud computing by its very nature is a "best effort" service whose performance can fluctuate over time based on the consumption of resources by other cloud-based applications. For this reason, it is advisable to build an additional level of monitoring into solutions on cloud-based appliances to alert the user to undesirable performance conditions, such as high network latency or low throughput.
• Securing traffic
Often times, appliances need access to other resources in a customer's network, such as domain servers or databases, to provide their intended service. In the physical or VM world, this is typically accomplished with minimum effort, since all equipment coincides on the same network. As appliance deployments migrate to the cloud, secure access to internal IT resources becomes more of a challenge. OEMs and ISVs must have a clear strategy in place for securing sensitive traffic between their cloud-based appliance and the end-user's IT infrastructure.
• Licensing Considerations
One of the main advantages in moving appliances to the cloud is the "pay as you go" (or consumption-based) billing model. As OEMs and ISVs produce cloud-based appliances, an important item for review is the cost and licensing of any third-party applications required for the operation of the appliance. Often, appliance solutions may include a non-open source operating system, third-party database engine, report-generation software, licensed codec, or similar software not owned by the appliance OEM. In these cases, additional licensing agreements may need to be negotiated between the two parties.
• On demand
For many OEMs and ISVs, an appealing element of a cloud appliance strategy is the concept of "on-demand" provisioning that allows an end user to deploy a cloud appliance with little to no involvement of the appliance provider's internal personnel resources. This is one of the greatest advantages of a cloud appliance model in helping OEMs and ISVs increase their addressable market, but it can also lead to issues if not properly planned for. It's not unusual for independent departments or companies without dedicated IT resources to opt for cloud-based services based on their low cost and fast deployment models. Many times, appliances may need streamlined user interfaces and easy-to-use setup wizards programmed to launch on the first initialization of the appliance to help non-IT personnel deploy the appliance quickly. If an appliance is too difficult for a non-IT administrator to get up and running, it's likely to generate a customer support instance or even the abandonment of the effort entirely and seeking of another solution.
• Easing customer installation
For more complex deployments, an "on-demand" provisioning approach may not be practical for customers. In such situations, appliance developers should consider how best to deploy their solutions as quickly as possible with a minimal amount of support interaction. Often this may involve a dedicated provisioning department within the organization, or the outsourcing of cloud provisioning to an external services company. In this manner, end users can still achieve a rapid and painless appliance deployment even without dedicated IT personnel.
• Lack of IT resources
Since it may be common for many companies seeking cloud-based appliances to lack dedicated IT resources, monitoring and maintenance services may be required for a successful cloud-based appliance offering. Annual maintenance services, whether outsourced to a service partner or provided via an internal team, can be a strong value add to the end user and provide additional revenue to the OEM or ISV. Tying into the appliance monitoring (discussed in the development section of this article) for external alerts to a centralized location, an external support team could proactively notify end users of different device conditions, such as reaching the maximum service level provided by the appliance or slow network performance, and take appropriate actions. These actions could include upgrading the end user to a higher performance cloud instance or migrating the existing appliance instance to a less congested cloud service provider.
• Alert upon failure
While rare, failures of cloud instances have been known to occur, whether due to a problem with the cloud service provider or a software error. Since many cloud appliances are on-demand services, an outage may not be realized until the service is needed. For this reason, it is advisable that any critical services provided by cloud appliances are periodically queried for active operation. In the event of a failure, a support team can diagnose and re-initialize the cloud appliance before the outage has a chance to disrupt normal business operations.
• New Instance
A common method used today for updating cloud-deployed appliances is for the appliance OEM or ISV to simply provide a new appliance revision in the cloud for customers to deploy. In this type of model, it is important that all settings and stored information on an existing instance can be saved or migrated to a new, updated instance that the end user can initialize. This is often the easiest solution for an OEM or ISV to implement for updates, but can also be the most intrusive for the end user, as it requires him to demission one appliance instance and start another each time there is a required update to the appliance.
• Update Services
Less invasive for the end user is the use of an update service to keep appliances current. Update services can help to seamlessly provide both OS patches and application updates to cloud-based appliances to ensure that they have the latest features and bug fixes. When combined with offering the most up-to-date appliance version through cloud service providers, OEMs and ISVs can ensure that new customers always start with the most current version of an appliance and that existing customers are always kept up-to-date with a minimal amount of disruption.
While several of the elements discussed in the article must clearly be decided by OEMs and ISVs based on their existing solution requirements and go-to-market strategies, there are several areas where careful planning and choosing the right partners can help. Selecting a company that specializes in helping OEMs and ISVs create, deploy, and support their appliance solutions is important. These companies can help address common issues in the following ways:
• Image Creation
With the careful selection of an operating environment and toolset, it is possible for appliance OEMs and ISVs to maintain a single appliance image for physical, virtual, and cloud (PVC) appliances. Maintaining a single image that can be packaged for physical server deployments, as a VM tailored to specific hypervisors, or as a cloud image packaged to deploy at specific cloud service providers, OEMs and ISVs can save significant resources in the development, testing, and updating of their appliance solutions.
Sample Image Creation Diagram
• Thin Client Options
In some cases, appliances may be difficult to deploy purely in the cloud. This difficulty can be due to the appliance's need for physical access to a piece of equipment on premises, such as a legacy PBX or piece of industrial equipment; data security retention policies; complexity of appliance configuration; or any number of other reasons that make a pure cloud-based appliance impractical. In these type of examples when end users wish for a consumption-based billing model and the elastic scaling of performance available in the cloud, it is becoming more popular to deploy a low-cost physical appliance into the customer's premise to act as a gateway to cloud services. Examples of this include backup appliances that manage multi-system backups but utilize cloud-based storage and computing resources to act as a repository and handle deduplication. In addition, a customer with a legacy PBX system might utilize a physical appliance gateway to cloud-based appliances to provide Unified Messaging (UM) functionality without having to deploy and manage a full UM server on premise.
• Update Services
Without a good strategy for updating deployed cloud appliances, end users are left alone when it comes to making sure their solution has the most up-to-date features, patches, and security fixes. OEMs and ISVs must consider a secure, reliable method for updating both the core OS image and primary applications on any appliance, whether it is physical, virtual, or cloud-based. Some companies offer update services designed specifically to address the needs of providing updates to large numbers of appliances dispersed across multiple networks and geographies in a secure, reliable, and cost-effective manner. In addition to providing appliance updates, these update services with "phone home" capability, when properly implemented, can give OEMs and ISVs a snapshot into the total number of active appliances in use over any given period of time by recording the number of update checks from active appliances. Such analytics can allow OEMs and ISVs measure the growth rate life cycles of different appliances offered in the cloud.
• Appliance Health and Alarms Monitoring
Many traditional physical and virtual machine-based appliances have relied on their physical platforms to provide much of the appliance-level health monitoring and alarms management for the end user. This includes notification of potential problems from memory parity errors to failed services. With migration to a cloud service provider, access to hardware notification events and out-of-band platform management devices are effectively eliminated on the appliance, requiring all monitoring and alarms management to happen within the cloud appliance itself. Some companies offer application modules that enable developers to quickly add health and alarm monitoring features to their existing solutions with minimum impact on their development resources.
Sample Health and Alarm Monitor Diagram
It is important for appliance developers to recognize the different requirements that cloud-based appliances may have as compared with their virtual and physical counterparts and to address them accordingly. The cloud brings a new business model and opportunities to appliance OEMs and software ISVs, but at the same time it has its own set of challenges to overcome. Over time, cloud management standards will emerge and take hold, but waiting on standards when customers are demanding solutions today could have a negative impact on business and force customers to consider competitors' solutions if they are available sooner. Taking advantage of the strategies discussed in this article for developing, provisioning, maintaining, and updating virtual appliances can help give developers a clear path to achieving their cloud deployment goals.