Skip to content

DevOps toolchain

Technique · Chapter 13

A toolchain is a set of programming tools combined to accomplish a task; a DevOps toolchain targets the development and delivery of software. Architects selecting tools should aim for consistency (e.g. one deployment tool across all environments, not different ones per environment). In a DevOps organization, operations staff use developer techniques too — operations assets should be in source control and have automated tests.

DevOps tools generally support one or more of these activities:

CategoryPurpose
PlanDefine requirements and plan the work (product owners, business analysts evaluate value/effort, plan a release).
CreateDesign, code, build — IDEs, version control, build automation, configuration management.
VerifyEnsure release quality — functional/non-functional testing, performance, acceptance, regression, release testing; static analysis; security scanning.
PackagePrepare a verified release for deployment — packaging configuration, triggering releases.
ReleaseSchedule and coordinate deployments into environments, including production.
ConfigureConfiguration management, application provisioning, infrastructure configuration.
MonitorTrack applications to find issues and gauge impact; production metrics reveal problem areas and confirm whether automation improved things (ties to the Measurement value of CALMS).
  • Software Architect’s Handbook (Packt, 2018), Ch.13 “DevOps toolchain”, pp. 1006-1007.