A project is a container that has been associated with a host. A project helps organize and manage the collection of physical system resources. A project is useful when you implement an overall server consolidation plan. Projects 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 optional memory cap set for its project. For example, an application-based project enables you to establish both a minimum CPU reservation and a memory cap for any application that runs on your network. When several projects are active on the same host, with each application in its own project, contention for system resources is reduced. In this situation, the resource boundaries set for each project are enforced by the Solaris kernel that operates on that host.
Tracking of resource utilization across a data center
The total amount of resources that are being used by the project 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 starts can be bound to any of the projects of which the user is a member. Projects use both project membership and resource pools to help track and control application resource consumption.
For more information about how projects work and the resource management tools they use, see Chapter 1, Introduction to Solaris Container Manager 3.6.1.
After the software is installed and set up, several default projects are available for your immediate use. You also create your own projects by using a wizard that guides you through the process. Every project is associated with a container. This container can be used over again for creating new projects. Projects provide the following advantages:
Ability to create multiple project instances with the identical set of CPU and memory resource boundaries.
Spreading multiple project instances across several hosts. Whereas a single active project cannot span multiple hosts, additional project instances with the same container can be spread across multiple hosts.
Shortens the time necessary to create a new project instance, enabling you to quickly apportion resources as needs fluctuate.
The GUI is browser based and provides three management views (tabs): one from the host perspective, one from the container perspective, and one for open alarms. You can further organize the host view and the container 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 for the appropriate adjustments.
With the software's alarm feature you can be notified by 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 enables you 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.