IBM® UrbanCode™ Deploy
includes several systems, including a server and one or more agents.
Descriptions
of these systems are below the following diagrams.
Core topology
The core installation of
IBM UrbanCode Deploy
includes a server, agents, and a license server. Clients access the server through web
browsers, the REST API, or the command-line client. For details of the components
architecture, see
Core architecture overview,
With this topology, the server can
create environments on clouds that use virtual system patterns. (To create environments on
other clouds such as OpenStack-based clouds, Amazon Web Services, SoftLayer, and VMware
vCenter, you must install the blueprint design server and at least one engine, as described
in the blueprint design topologies, in a later diagram.)
Multi-region topology
If your environment has multiple security zones that are divided by firewalls, you can use
agent relays to connect agents to the server through the firewalls. For example, if your
IBM UrbanCode Deploy
server is within a firewall, but your target environments are outside the firewall, the
agents on those target environments can not connect directly to the server. In this case,
you install an agent relay to allow the agents to connect to the server through the
firewall, as shown in the following diagram.
High-availability clustered topology
High-availability topologies use
multiple servers. These servers can all be running at the same time to share the load (as in a
clustered topology), or they can be waiting for another server to fail (as in a cold standby
topology). The following diagram shows a clustered topology in which a load balancer
distributes connections to three servers. Users connect directly to the load balancer, which
sends them to an active server. Agents connect via HTTP and HTTPS to the load balancer;
however, the agents connect via JMS directly to the servers. The servers store their files on
a shared database and file system.

You can also cluster blueprint design servers and engines. In this case, you install
one or more blueprint design servers and engines, and set them each to access the same
database and shared file system. Similarly, a load balancer distributes traffic to the
blueprint design servers and engines. The following diagram shows a clustered topology with
three engines and three blueprint design servers.
Blueprint design topologies
To work with blueprints on clouds via
OpenStack Heat, including OpenStack-based clouds, Amazon Web Services, SoftLayer, and VMware
vCenter, these topologies include the blueprint design server and engine. (In previous
versions, these systems were part of
IBM UrbanCode Deploy with
Patterns.)
The following diagram shows a simple topology that includes the blueprint design
server and an engine.
For more information about ports, see
System requirements and performance considerations.
Other
topologies are possible. For example, instead of installing a separate engine, you can
extend an existing Heat engine. In this case, the topology looks like the following diagram.
In this case, the Heat engine includes extensions to work with IBM UrbanCode Deploy.
Default ports
The following diagram shows the default port numbers that IBM UrbanCode Deploy
uses for communication. Most of these ports can change depending on your choices at
installation time. The following diagram is only a summary of the defaults.
Description of systems
- IBM UrbanCode Deploy server
- The IBM UrbanCode Deploy server stores components, processes, and other elements with which you model
automated application deployments. You run automated deployments from the server.
- Web browsers
- Web browsers are the main way that users interact with the server and blueprint
designer.
- Command-line client
- The command-line client provides access to the server through the command line. It can
automate functions on the server, such as creating components and applications. See
Command-line client (CLI) reference.
- REST API
- The REST API provides access to the server through HTTP. Like the command-line client,
it can automate functions on the server, such as creating components and
applications.
- The server and the blueprint design server have separate REST APIs. Each command in
the server REST API has an equivalent command in the command-line client; however,
commands in the blueprint design server API do not have command-line equivalents. See
Extending product function.
- Agents
- The agents run processes on target systems. Agents can run on physical computers,
virtual systems, or cloud systems.
- Agent relays
- An agent relay is a communication proxy for agents that are located behind a firewall
or in another network location.
- Blueprint design server
- This server hosts the blueprint designer and controls access to blueprints. It also
hosts the cloud discovery service, which provides information about the available cloud
resources to the blueprint designer. (In previous versions, this system was the IBM UrbanCode Deploy with
Patterns design server.)
- Engine
- The engine is an installation of the OpenStack Heat orchestration engine with IBM extensions. The engine manages cloud
infrastructure, provisioning resources from clouds, updating those resources, and
deleting them. (In previous versions, this system was the IBM UrbanCode Deploy with
Patterns engine.)
- Rational® Common Licensing
license server
- The license server provides licenses to the server. For more information on the
license server, see http://www-01.ibm.com/support/knowledgecenter/SSSTWP.
- Keystone Identity Service
- This service provides authentication tokens to the OpenStack system. The blueprint
design server requires it.
- Clouds
- The clouds host virtual resources. When you create environments with blueprints, the
server or engine provisions resources on the target clouds.