Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

  • Users might apply different wordings wording such as staging, user acceptance, integration etc.
  • Users might use fewer environments (such as test -> prod) or more environments (such as dev -> int -> uat -> prod).

Terminology

  • Deployment: The term is used for the step performed with JOC Cockpit to digitally sign and to transfer a scheduling object to a given Controller and Agents, for example a workflow.
  • Rollout: This term suggests to transfer a scheduling object within the  same or across different JOC Cockpit inventories.
  • Security Level: The security architecture suggests three security levels when it comes to deployment of scheduling objects:
    • low: a common private key is used for all user accounts when signing objects for deployment,
    • medium: individual private keys are used per user account when signing objects for deployment,
    • high: an individual private key is used per user account and outside of JOC Cockpit when signing objects for deployment.

...

  • Single JOC Cockpit, Single Controller, Shared Agents
  • Single JOC Cockpit, Dedicated Controllers, Dedicated Agents
  • Dedicated JOC Cockpits, Dedicated Controllers, Dedicated Agents

Strategies imply to consider the JS7 - Security Architecture and Rollout Procedures.

Single JOC Cockpit, Single Controller, Shared Agents

...

  • System Architecture
    • In this scenario only one JOC Cockpit instance and one Controller is used. Agents are mapped to respective environments.
  • Security Architecture
    • A single JOC Cockpit is used in a security level low or medium.
  • Rollout Procedures

Single JOC Cockpit, Dedicated Controllers, Dedicated Agents

...

  • System Architecture
    • In this scenario a number of Controllers are connected to a single JOC Cockpit instance. Agents are dedicated to respective Controllers.
  • Security Architecture
    • A single JOC Cockpit is used in a security level low or medium.
  • Rollout Procedures
    • Rollout is performed within the single JOC Cockpit instance. This approach includes
      • to map environments to separate top-level folders in the JS7 - Inventory,
      • to copy scheduling objects between inventory folders, but to retain retain Agent assignment Assignments as the same Agent Names can be used with each Controller and environment,
      • to deploy scheduling objects individually to the Controller that maps to the respective environment.
    • This approach makes use of Inventory Deployment and denies use of of Inventory Export/Import and use of Inventory Git Integration for rollout.

Dedicated JOC Cockpits, Dedicated Controllers, Dedicated Agents

...

  • System Architecture
    • In this scenario dedicated JOC Cockpit instances are operated per environment. Each JOC Cockpit instance is assigned a dedicated Controller with dedicated Agents.
  • Security Architecture
    • Each JOC Cockpit instance can be operated in any security level lowmedium. or high.
  • Rollout Procedures
    • Rollout is performed between JOC Cockpit instances using separate inventories. This approach includes
      • to map environments to separate JOC Cockpit instances with respective Controllers and Agents,
      • to rollout scheduling objects from one JOC Cockpit instance to the next and to retain Agent assignment Assignments as the same Agent Names be used with each Controller,
      • to deploy scheduling objects individually from each JOC Cockpit that maps to the respective environment.
    • This approach allows makes use of Inventory Export/Import and use of or Inventory Git Integration for rollout.

Rollout Tools

Deployment

Anchor
rollout_procedures
rollout_procedures
Rollout Procedures

Anchor
inventory_deployment
inventory_deployment
Inventory Deployment

The JS7 - Deployment makes This approach makes use of build-in operations available within a single JOC Cockpit instance .

...

Complexity is low as deployment is a one-click operation that is used within a single JOC Cockpit instance.

Anchor
inventory_export_import
inventory_export_import
Inventory Export/Import

The JS7 - Inventory Export and Import operations offer a valid strategy to perform rollout operations, for example from dev -> test -> prod environments.

...

Complexity is medium as the technical operation to export/import is simple, however, selection of objects requires some attention.

Anchor
inventory_git_integration
inventory_git_integration
Inventory Git Integration

The JS7 - Inventory Git Integration offers a number of options for rollout by use of the JS7 - Git Repository Interface.

...

The Git approach will work fine with engineers being ready to acquire skills for Git repository management.

Rollout Considerations

...

Anchor
agent_assignments
agent_assignments
Agent Assignments

Agents are registered with a specific Controller, they are not shared between Controllers.

  • Agents are assigned a Job in a Workflow by use their Agent Name.
  • Agent Names frequently are specified from the host name for which the Agent is operated, such as drx6834. Such practice should be reconsidered as it forces to modify Agent assignment of a Job when the Workflow is rolled out across environments.
  • Instead, during registration with a Controller in addition to the Agent Name Agents can be assigned one or more Alias Names.
    • It is good practice to use generic Alias Names, such as accountingAgent, During rollout the Job's Agent assignment can remain unchanged provided that for each environment we find an Agent with the same Alias Name.
    • This includes that in a dev environment we might find fewer Agent instances than in a prod environment. Using more Alias Names for the same Agents in the dev environment maps to use of more Agents in the prod environment.

...

Anchor
rollout_objects_local_objects
rollout_objects_local_objects
Rollout Objects and Local Objects

A number of objects suggest to be rolled out across environments without changes. Most prominently this includes Workflows/Jobs.

...