Overview of IBM UrbanCode Deploy

Software deployment is a simple concept that sometimes gets obscured by jargon.

A deployment is the process of moving software (broadly defined) through various preproduction stages to final production. Typically, each stage represents a step of higher criticality, such as quality assurance to production. Complexity arises from the sheer volume of things that are deployed, the number and variety of deployment targets, constantly decreasing deployment cycles, and the ever-increasing rate of technological change. While virtualization provides some relief to the process, it also, perhaps paradoxically, increases the challenge with its exponential growth of deployment targets.

IBM® UrbanCode Deploy helps you meet the challenge by providing tools that improve deployment speeds while simultaneously improving their reliability. The release automation tools in IBM UrbanCode Deploy provide complete visibility into n-tiered deployments, enabling you to model processes that orchestrate complex deployments across every environment and approval gate. The drag-and-drop design tools decrease design-time by making it easy to visualize the end-to-end deployment process and develop the big picture: the What, How, and Where of the deployment workflow:

In IBM UrbanCode Deploy, deployable items are combined into logical groupings called components. Components are deployed by component processes, which consist of user-configured steps, many taken from integrations with third-party tools called plug-ins. Multi-component deployments are handled by user-assembled applications.

IBM UrbanCode Deploy represents deployment targets by what it calls resources. Resources such as databases and servers reside on hosts. Complex deployments can contain numerous components that target multiple hosts. Deployments are managed by agents that reside on the hosts. Components can also remain independent of one another, which enables incremental or targeted deployments. Of course, you can model your components as you see fit; IBM UrbanCode Deploy is flexible and works the way that you work.

Server

The IBM UrbanCode Deploy server is a stand-alone server that provides core services such as the user interface, component and application configuration tools, workflow engine, and security services, among others. Many services are REST-based.

IBM UrbanCode Deploy supports cross-network deployments with relay servers. Relay servers enable network-to-network communications.

Agents
An agent is a lightweight process that runs on a host and communicates with the IBM UrbanCode Deploy server. Agents manage the resources that are the actual deployment targets. Each system that participates in a deployment usually has an agent installed on it. When not running deployments, agents run in the background using minimal resources. See Agents.
Repository
The artifact repository for IBM UrbanCode Deploy, CodeStation, provides secure and tamper-proof storage. It tracks artifact versions as they change and maintains an archive for each artifact. Associations between repository files and components are built in and automatic.
Security
In IBM UrbanCode Deploy’s role-based security system, users are assigned roles, and role-permissions are assigned to things such as projects, build configurations, and other resources. For example, a developer may be permitted to build a project, but view only non-project related material. See Security.

Feedback