Nazgul
Nazgul

Reputation: 1902

Rundeck Enterprise deployment and testing strategies for jobs/workflows

We are evaluating rundeck enterprise for adoption in our enterprise infrastructure setup. I have 2 high level questions/queries that i think apply equally to rundeck enterprise or open source.

Background: We have an existing proprietary tool that we want to move out of and adopt rundeck for all the automatons that we have been doing.

What we are looking for:

  1. Port all the existing automatons to rundeck in an iterative manner - this is doable with the SCM plugins and using a proper development lifecycle to build and test the jobs on lower env and then rollout to pour production rundeck env.
  2. Rundeck Job/Projects Rollout strategy - use a variation of the canary based approach where we would let the rundeck jobs pick a certain number of actionable items (e.g ServiceNow tickets of same logical type) based on percentage or time of the day or a prefix/suffix pattern of ServiceNow tickets ids etc.
  3. Rollback Strategy - So while the rollout happens, canary or full rollout based and we find that the respective rundeck jobs are not working as correctly as the same job on the existing proprietary tool we rollback the rundeck job and fix the bugs. Plan the rollout again once the issues are fixed.
  4. Testing Rundeck Jobs on lower env - Unit and integration test not just the jobs/workflows but also the scripts, plugins etc that we develop.

Questions:

  1. What kind of testing strategy should be employed to test rundeck jobs before we deploy them to production clusters?
  2. Is there any standard strategy for rolling out jobs to rundeck production clusters? If not what's the usual practice to do this to avoid disruption to target users/services and teams?
  3. How should we manage rollout and rollbacks effectively and keep the time to release jobs/features steady?
  4. 360 degrees Testing strategy to test the jobs/workflows and plugins/scripts effectively? So the idea is to test (unit, integration, behavioral etc) holistically, realistically and correctly. Whats the best practices from rundeck perspective?

Upvotes: 0

Views: 283

Answers (1)

MegaDrive68k
MegaDrive68k

Reputation: 4325

Basically, the best strategy is to use a non-prod environment to test any change before deploy in a real production environment (including plugin tests, workflows, and configurations). Anyway, you can create a quick test environment using the Rundeck docker image.

About the rollout/rollback, a good approach is to configure SCM with your stable jobs to get back in case of bad implementation.

Upvotes: 0

Related Questions