Deployments of complex applications require the coordination of related components and application tiers. Meanwhile, integration testing and the discovery of which versions work together operate at an application or release scope
. UrbanCode Deploy delivers application models and snapshots to help.
Components and Applications
In UrbanCode Deploy, Applications are made of Components. The Application is generally a business level application of some sort. Components represent discrete pieces and parts of the business application that may be independently versioned or updated. For example, a simple three-tiered web application will likely have at least three Components: content, business logic, and database. This Application may also be configured with additional Components representing the content server, application server, configuration, or other versioned entities that contribute to the Application.
Changes to components may arrive on different schedules. Testing determines what collection of versioned components work well together. However, manually keeping track of the correct version of multiple components is error-prone, confusing and slow. UrbanCode Deploy lets you capture a set of component versions as a Snapshot. Snapshots are manifests of versioned components and configuration. The Snapshot can be promoted as a single item, rather than multiple components making it easy to release only versions that have been tested.