Welcome!

Eclipse Authors: Ernest de Leon, RealWire News Distribution, Adam Blum, Aditya Banerjee, Jeff Anders

Related Topics: Virtualization

Virtualization: Article

The Critical Role of Automation in a Virtualized World

What living in a virtualized world is supposed to be about

What's needed is a way to unify control from a single "pane of glass" to provide a single point of control. Today's virtualized environment is very much like a world-class orchestra playing without a conductor. It has great potential, but the performance is not going to be very satisfying until precise harmony can be established.

Fortunately, today's enterprise schedulers are being designed to be "virtualization-aware" and tackle the single point of control and coordination problem head on. They do so by offering vital, single point of control and automation for both business process automation and the virtualized environment. This is essential for running these processes successfully. This fine-tuning makes it possible to squeeze every ounce of productivity and efficiency out of the environment.

Probably the most important feature offered by enterprise schedulers is the management of all jobs, both active and pending, as well as the actual state of the entire virtualized environment. A well-designed enterprise scheduler can match processes to needed resources in such a way that a server (or servers) may be powered off until it is needed for a given process. The scheduler can then power up the resource in time to support the process, and then power it down again until it is needed for the next process. The same capability can be applied to taking snapshots at critical checkpoints to allow restart and recovery.

The average virtualized environment has a lot of these management activities going on all the time, too. Sometimes these are automated, sometimes not, but often tasks are performed (or neglected to be performed) without knowledge of the impact on business processing. Typical virtual data center tasks that must be monitored and performed promptly inline with the business process include VM provisioning, power management, hot and cold migration, performance awareness, snapshot management, machine reconfiguration, and host maintenance.

Below are some examples of typical activities that can be managed and automatically performed by an enterprise scheduler in the context of business process requirements.

The capability to migrate virtual machines "live" from one host to another while they are running suggests a number of powerful use cases beyond the obvious load balancing. For example, when hundreds or even thousands of machines are not in constant use, they can be migrated to a server that acts as a "passive" host for these machines during their idle periods. They remain powered up and ready to go, but they don't consume any resources of an "active" host that serves machines actively engaged in doing work. As soon as these idle machines are needed for a specific process, they can be migrated to an "active" host that has adequate resources to complete the required processing. Once that process has completed, the machine is migrated back to the "passive" host where it waits to be called into action at some future time.

This process can go on continuously, day and night, over many, many machines. This active/passive scenario reduces the overhead that comes with powering the machines on and off the entire time and increases business process throughput by having machines ready at the mark. The key is to know when the machines need to become active and moved to an appropriate host. With automatic scheduling, this is built into the business process, where the virtual machine is migrated to an "active" host at the beginning and migrated back at the end.

Because virtual machines do not require someone to be physically present to hit the on/off switch, it is sometimes too easy for administrators to power machines up and down. Often this is done by virtual infrastructure support personnel without understanding the impact on current business process scheduling requirements. For those responsible for scheduling, it is important to know if any VMs needed for a critical or scheduled process are powered down. An enterprise scheduler can be configured to send out an alert if a particular VM that is critical to a process is not powered on, and can even automatically power the machine up if needed for a critical process.

Provisioning transient virtual machines to support a task is another interesting case for scheduling. This is accomplished by cloning a VM using a template. The template configures the VM with an image that supports a specific task, and then the machine is destroyed (or used as a new template). Enterprise schedulers can automatically prepare machines for the proper state just before it's needed by a process, and then eliminate the clone after the process has completed.

Regardless of enterprise scheduling capabilities, exceptions while processing a specific business process can crop up. These problems are addressed by creating checkpoint "snapshots," something enterprise schedulers can manage automatically. These snapshots have to be created at precise points in a given business process, allowing for efficient restart and recovery that eliminates costly and time-consuming reruns from the beginning. These snapshots are also used to restore any VM in the environment to a specific memory and data state, when a process is suspended for any given period of time. For example, a machine that is only used for month-end processing may be restored each month to a snapshot captured just after the previous month's processing completed.

Another issue affecting the overall efficiency of a virtualized environment is the workload demands that a VM places on its host. If workloads become too high on certain hosts, an enterprise scheduler can detect the performance condition and respond by throttling back the scheduled work on these machines or route jobs to other virtual machines. This particular capability requires the enterprise scheduler to fully understand all of the interdependencies within and between processes running throughout the environment. In fact, when evaluating enterprise schedulers, it's very important to ensure they can handle both the availability and performance dependencies along with the applications' own dependencies. Dependency management is a key factor in coordinating the sequence of events in a virtualized environment.

In addition to managing complex dependencies, enterprise schedulers can monitor VM job loads to provide "load balancing" capabilities. Virtual infrastructure managers are typically quite good at moving machines around or recommending available hosts in a cluster by automatically applying rules based on performance metrics. Where these managers fall short is when the criteria must include insight into the actual processes that are running and their relative priorities. While priorities can be assigned to resource pools within the virtual infrastructure, an enterprise schedule takes into account the priorities of the actual processes running on machines within these pools. For example, when host usage reaches specified performance thresholds, an enterprise scheduler can suspend or move VMs when it knows that the processes running on them are not critical and resume them when resources return to normal levels. This is another way an enterprise scheduler can fine-tune the performance of a virtualized environment.

Sometimes a specific process or task requires more resources from a machine than would typically be required for other processes scheduled for that machine. In preparation for this task, an enterprise scheduler can automatically reconfigure the machine's memory and/or CPU allocation to above normal. After the task, or set of tasks, is complete, the enterprise scheduler automatically reconfigures the VM back to its normal settings.

Much emphasis has been placed on the ease of deploying and running vast numbers of virtual machines. However, we can't neglect the ever-more important tasks associated with maintaining the physical hosts that support them. Virtual infrastructure managers can make it easier to bring a host offline for maintenance by either powering down hosted VMs or moving them to other hosts through simple drag and drop. However, manual intervention is typically required to invoke and keep track of the completion of active processes and the evacuation of all machines. This is vital to determine when it is okay to enter the maintenance mode.

Using a virtualization-aware enterprise scheduler, the preparation for maintenance can be fully automated. This is done by scheduling the shutdown and/or migration of virtual machines when no jobs are scheduled to run. In addition, the scheduler can put pending jobs on hold based on the scheduled upcoming outage window. When no VMs are active on the host and when all pending jobs have been put on hold, the scheduler automatically puts the host in maintenance mode. When maintenance is complete, the scheduler can have the host exit maintenance mode, bring the VMs back online, and release the backlog of jobs.

As these examples demonstrate, today's advanced enterprise schedulers go far beyond simply scheduling processes within the virtualized environment to automating virtual management tasks as well. By providing automatic control of the critical processes within the environment, they can actually make an environment hum like a finely tuned instrument, thus raising automation and efficiency to new levels, and that's what living in a virtualized world is supposed to be all about!

More Stories By Derek Evan

With over 25 years of software development experience, Derek Evan has served as chief product architect and software developer for Tidal Software (formerly OCS) since 1986. He is one of the original authors of the Tidal Enterprise Scheduler (formerly sys*ADMIRAL), Tidal Software’s flagship enterprise job scheduling product, and is currently Tidal’s only distinguished engineer, specializing in solutions architecture. Derek holds two BA degrees with distinction in psychology and linguistics from Stanford University. He subsequently earned his MS in clinical psychology from the University of Oregon.

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Anindo Banerjea 07/31/08 05:25:44 PM EDT

Interesting article. Networking makes it more interesting, both in terms of possible efficiency gains and in terms of the necessity to automate. http://www.freewebs.com/networkvirtualization/index.htm?blogentryid=3780122