Installation Scenarios for CDA
This chapter provides an overview on how you can set up Automic Continuous Delivery Automation in your organization.
The user of Automic Continuous Delivery Automation uses the CDA Client with browser-based access to Web Application and user interfaces. One of the clients is used for administrative purposes. Therefore database management tools are also installed on one of the clients.
All components (see CDA Architecture) can either be installed on one server (one-box installation) or on separate servers, even with different operating systems. The requirements for each component are described in the subsequent General Requirements for Upgrading CDA chapters.
The relationship between the various components depends on how you implement CDA in your organization:
- All components run on one server.
- All application components on one server, with a separate database server/cluster:
- With one database server/cluster
- With two separate database servers
- Two servers with separate, local database servers
For an illustration and explanation for each scenario, see the sections that follow.
Important! Before starting with the deployment of Automic Continuous Delivery Automation modules, we strongly recommend getting familiar with the structure and inter-dependencies (see CDA Architecture) of modules and General Requirements for Upgrading CDA. You are also requested to come to basic decisions on user and user groups, and to define authorization hierarchy and naming conventions.
CDA Implementation on One Server
The following illustration describes how the various systems, operating systems, agents, servers, and databases interact when you implement everything on one server:
In this scenario, the following applies:
- CDA CLI can be installed on any Windows-machine
- Agent-Setup is an example: The agent distribution has to be designed according to needs of specific IT architecture (network security, scalability). A typical setup includes one agent on the central server for all Database- and Webservices-related actions and local agents for all the other deployment targets. For application server management, there is typically one agent on the administration server of a domain or cell (Weblogic, Websphere) or locally for standalone servers and for JBOSS, one local agent on any of the JBOSS instances in a farm is recommended. For IIS management, a local agent is required. For Apache Tomcat, a local agent is recommended.
CDAImplementation on One Server but with Separate Databases
You can install all components, except the database components, on one server and have the databases on a separate server or cluster. Two variations of this installation scenario are described here:
- The CDA and the Automation Engine databases on the same server, separate from all the other components
- The CDA and the Automation Engine databases each on their own servers, and separate from the server for all the other components
Illustrations of each of these scenarios for separate database servers follow.
All Databases on One Server Separate from All Other Components
The following illustration describes the relationship between the various components, web servers, and databases, when the databases are on a separate server.
Note: The operating system interactions are excluded from this description, but they are still part of the overall processing. For a detailed view of all components in a CDA installation, see the scenario that is described in CDA Implementation on One Server.
Each Database on Its Own Server and Separate from All Other Components
The following illustration describes the relationship between the various Automic Continuous Delivery Automation components, web servers, and databases, when the two databases are on their own servers, separate from all other components.
Note: The operating system interactions are excluded from this description, but they are still part of the overall processing. For a detailed view of all components in a CDA installation, see the scenario that is described in CDA Implementation on One Server.
CDA Implementation on Two Servers with Local Databases
You can install all the CDA components and the Automation Engine components on separate servers, as illustrated here:
Note: The operating system interactions are excluded from this description, but they are still part of the overall processing. For a detailed view of all components in a CDA installation, see the scenario that is described in CDA Implementation on One Server.
Variations
Further feasible variations on the previous scenario would be:
- Having the databases on extra, separate servers. This approach combines the previous illustration and the scenarios illustrated in ARA Implementation on One Server but with Separate Databases.
- Installing AWI on the Automation Engine server or on a separate server altogether.
CDA Implementation with an Active/Active Configuration
You can install CDA with all its related components and run them using and active/active configuration. In this case, you need to use a separate load balancing component to manage the traffic between components by detecting outages and dynamically re-routing traffic as needed.
If you use an active/active configuration, be aware of the following:
- Failover may take up to 15 seconds of downtime.
- User sessions are not automatically transferred, so users need to log in again.
- Active/active mode can be used only for servers. Databases must be shared between all instances.
- Sticky sessions must be supported. Like many Java webapps, CDA uses the JSESSIONID session cookie. You can configure your load balancer to use this cookie or add its own to route requests of the same session to the same server.
- If you run CDA with WebSockets enabled, your load balancer must support them.
- Use the same path on your load balancer and the servlet containers. Example: If your servers are on http://backend1/ara and http://backend2/ara, and your load balancer is located on the host publicatahost, configure your load balancer to serve CDA on http(s)://publicarahost/ara
- The AWI instance and the CDA instance of an installation are bound together. Therefore, the AWI instance that is defined in the
customer.config
file (Automic\Release.Manager\WebUI\customer.config) and the CDA instance that is defined in theconnection.properties
file of thewebui-plugin-bond
folder must point to the corresponding AWI/CDA instances of the same installation.
The following illustration shows you the overall relationship between components when implementing CDA with an active/active configuration. The diagram illustrates the active/active configuration with one server as a high-level overview.
Running a CDA installation in active/active configuration with a single-server scenario
In this scenario, frontend and back-end components are installed on the same server (single-box installation).
Instead of connecting directly to a server, web client requests go through the load balancer. The load balancer is a traffic manager that distributes workloads across all available servers to prevent any of them from getting overloaded and users getting timeouts.
To do so, servers have to be defined as nodes and then added as members to a load balancing pool (which is in turn associated with a virtual server). The load balancing method that is used by the pool decides how to distribute requests coming in: send request to next server in line, to a server with a predefined ratio weight, to a server with the least number of current connections, and so on.
CDA allows the first request to be dispatched according to the selected load balancing method. The subsequent requests, however, are assigned to the same instance, regardless of the method configured in the pool.
For example, an Import/Export request is executed from AWI to CDA (the request is executed on server CDA 1). Right after a new request is sent to execute GetStatus and check the result on a CDA instance. This and the subsequent requests are always executed on server ARA1, regardless of the method selected.