Projects overview

From ControlTier

Revision as of 23:47, 10 November 2010 by Ahonor (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


In the ControlTier software, a Project is a named container for all of the service management components you define or build. All management actions occur within the context of a single project.

Each project has the following content:

In addition, each ControlTier client that registers as a Node within a Project creates a filesystem workspace, local to that client.

Multiple projects can be maintained on the same ControlTier server. Projects are independent of one another, so you can use them to organize unrelated systems within a single ControlTier installation. This can be useful for managing each business line's application.

Project-content.png

Project boundaries

Given that all activity occurs within the context of a project, how big or small should a project be? Should there be just one project to manage all applications in all environments? Should there be one project on a per application per environment basis? These questions go towards the topic of project scoping.

While there is no one size fits all strategy here, one strategy that works most of the time is to use one project to manage one application for all its environments. But before we keep throwing around terms like "application" and "environment" a simple example will help make these ideas more concrete.

Applications

The figure below describes a trivial three tier application comprised of a web tier that handles user requests, dispatching them to an application tier. The role of the application tier is to execute business logic and provide an abstraction layer over the database tier. The database contains standing data and application state.

Simple-app-model.png

The diagram shows a standard arrangement of components that when configured correctly comprise an application. Of course, these components do not run in isolation but are deployed to one or more physical hosts. During the course of the application life cycle, these components are deployed to different sets of machines, each set representing an environment.

Environments

The diagram below shows three environments, dev, qa and production, and indicates differences on how the application components are distributed to the number of machines each environment supports. In dev, all components are installed on one node while in production, each component is located on its own host.

Simple-app-deployments.png

From the point of view of the application components, these hosts may look like resources that are exclusively theirs, but in actuality, hosts might be shared between environments. The next diagram shows dev and qa share a pool of hardware while production has its own pool.

Project-environments.png

Personal tools
Namespaces
Variants
Actions
Navigation
Communication
Development
Toolbox
Print/export