Provisioning new project and test and development environments and software stacks is time-consuming and failure-prone because of two primary challenges—identifying suitable available compute resources from the existing hardware pool and provisioning the full software stack needed, including the OS, patches, necessary middleware, applications, and application configuration.
Tools that automate project-space and test-environment creation address these challenges by maintaining a full inventory of available resources and a provisioning workflow that encapsulates all the steps required to rapidly and reliably generate needed environments.
Moab automates the creation of custom computing environments with an easy-to-use portal that allows graphical creation and customization of full-stack, holistic environments including compute, storage, network, and license resources. Moab's automation portal hides the complexities of provisioning and environment creation and allows the user to focus on the task at hand.
Moab allows organizations to offer users and departments both resource-centric and service-centric bundles known as "virtual private environments" (VPEs). With VPEs, site administrators can define complete holistic environments encapsulating all the resources, services, and configuration required to make a complete compute environment from either a resource viewpoint or a task viewpoint. For instance, a VPE could be defined to create a mock-up of a specific data-center environment for testing. Another VPE could be created to bring a new Web farm online.
From the user's point of view, environment creation is a simple matter of logging in to the portal and requesting a "Data Center 3 Test" environment or 16 instances of the "Web Server" environment. Users can specify start times and duration attributes for these environments and can customize either how resources are selected or how the environments are provisioned.
Once an environment is requested, Moab evaluates the request and identifies suitable resources. VPEs can include both explicit resources (such as "I need 16 servers with 2 GB RAM each") and implicit resources (such as "anytime a data-mining service is requested, include an additional server to run the database, two database licenses, and a SAN connection"). Thus, Moab must make certain that all needed resources can be provided and provisioned. If resources cannot be made available immediately, Moab will identify the earliest possible time that all resource types and quantities can be assembled, provisioned, and customized. This availability information is reported back to the user, and the user is given the opportunity to "commit" the request.
When the environment request is committed, Moab uses its provisioning-workflow information to create an optimized schedule of provisioning steps to generate, customize, and validate the new environment. When that process is complete, Moab brings the environment online and provides access information to the user so that the user can have immediate use of the newly created environment.
Moab project-space and test environment creation is based on a highly modular design that provides support for a broad range of environments and, in many cases, for use of existing, tested, and trusted middleware.
- Supports dynamic provisioning of Linux, Windows, and AIX environments
- Supports all major hardware platforms
- Supports disk-full, diskfree/stateless, and virtual machine (Xen, VMware) provisioning
- Provides flexible network and host security requirements
- Provides plug-in infrastructure to add support for new networks, storage, peripherals, middleware, etc.
- Provides extensive integrated diagnostics to monitor and manage failures in resources, middleware, environments, and policies
- Provides highly advanced workload-aware active power management for maximum power savings and green policies
- Provides integrated maintenance handling, which allows environment workload to be intelligently scheduled or live-migrated around maintenance tasks
Although the steps of creating and deploying custom compute environments provide great functionality, they are only the beginning of what Moab can do to address real-world needs in customized compute-space creation. Moab also offers more advanced capabilities, including—
Calendaring
Instead of requesting a start time only, Moab allows users to specify acceptable flexible time ranges–for example, "I need the environment during business hours on Monday or 3–5 p.m. on Thursday."
Ownership
Rather than provide resources on a first-come-first-served basis, Moab can guarantee resource access to key users, departments, and projects during specific timeframes and for specific resources.
Charging
Moab allows users, projects, and departments to have access to a budget, which Moab automatically debits as they consume resources. In addition, whenever a user requests a new environment, Moab gives the user a price quote before the environment is created.
Failure Handling
Moab allows new resources to be automatically reallocated to a custom environment if resource or service failures occur within the environment.
Flexible Time Allocation
In addition to being able to request that environments be created at fixed times, users can specify that both interactive and non-interactive environments be created "as soon as possible." When users select the "as soon as possible" option, Moab can take advantage of changes in schedule and resource availability.
Capacity Planning and Analytics
Using Moab's graphical reporting tools, users can identify which resources are in highest demand and can determine the extent of resource losses due to provisioning delay, usage patterns, cycle distribution, and other factors.
Dynamic Modification of Environment
Users can modify existing live environments by adding and removing services and resources dynamically.
Co-allocation
Users can request resource combinations, such as "I need 16 Web servers, 2 data-mining servers, 4 test machines, a Fluent license, and 1 TB of SAN storage."
Environment SLAs
Moab creates self-aware environments that can grow and shrink as needed to deliver services at the target performance level specified by service-level agreements for the environment.
Cloud Integration
Moab allows custom compute-space creation to extend beyond local resources by tapping into other data centers, clusters, grids, and remote clouds.