A container helps organize and manage the collection of physical system resources, and is useful when implementing your overall server consolidation plan. Containers offer the following features:
Setting minimum CPU reservations and memory caps for applications to help balance system resources
Each application is guaranteed the minimum CPU reservation and the memory cap set for its container. For example, an application-based container enables you to establish both a minimum CPU reservation and a memory cap for any application running on your network. When several containers are active on the same host, with each application in its own container, contention for system resources is reduced. In this situation, the resource boundaries set for each container are enforced by the Solaris kernel operating on that host.
Tracking of resource utilization across a datacenter
The total amount of resources that are being used by the container is tracked, in part, with project membership. Each UNIX user must be assigned to a default project, although users and groups can belong to one or more projects. The processes that a UNIX user launches can be bound to any of the projects of which the user is a member. Containers use both project membership and resource pools in order to help track and control application resource consumption.
For more information about how containers work and the resource management tools they use, see Chapter 1, Introduction to N1 Grid Console - Container Manager 1.0.
After the software is installed and set up, several default containers are available for your immediate use. You also create your own custom containers by using a wizard that guides you through the process. Every container has its own container definition. This definition can be used over again for creating new containers. Container definitions provide the following advantages:
Ability to create multiple container instances with the identical set of CPU and memory resource boundaries.
Spreading multiple container instances across several hosts. Whereas a single active container cannot span multiple hosts, additional container instances with the same definition can be spread across multiple hosts.
Shortens the time necessary to create a new container instance, enabling you to quickly apportion resources as needs fluctuate.
The GUI is browser-based and provides two management views: one from the host perspective, and one from the container perspective. You can further organize each view by creating groups and selecting which elements the groups should contain.
Additionally, the processes running inside the container and the resources being used can be readily checked with the software. Several graphing options are also available to help assess the level of resource utilization per container or host, including the ability to export the data to a file. These features enable you to monitor and reassess resource consumption in order to make adjustments as needed.
With the software's alarm feature you can be notified via email when a container's resource utilization reaches a threshold of your setting. Alarm icons are also visible in the GUI for both hosts and containers.
The resource change job feature gives you the ability to schedule changes to current resource boundaries on one or more containers with one request. A wizard guides you through the steps required for creating or modifying a resource change job.