Productive IT organizations maintains a balance between automated and manual operations. Automation is cool but it also must be economical. Therefore we should assess return on investment as any automation effort is being considered. One way to think about this is
NBA = BA – CB – CO
Here’s what they stand for:
Meaning | Visibility | Comment | |
NBA | Net Benefit of Automation | NBA is the key to determine the ROI of the Automation | |
BA | Total Benefit from Automation | High | BA has to do with the feature of utility and scope of professional service, which is usually well understood by an organization. |
CB | Cost to build the Automation | Medium | CB largely depends on the skills of builder, and collaboration of the organization. It is usually a one-time effort. |
CO | Cost to operate the Automation | Low | CO largely depends on the operational excellence of the organization and the maintainability of the automation. It is ongoing. |
BA is very visible to all stakeholders in most cases. To get a net positive NBA, the key is an accurate estimate of CB and CO.
In a bad implementation, the project team typically starts with an naïve estimation of CB and CO. As issues surface, they try to “control” the cost and timeline by cutting corners on the engineering efforts, and chasing shortcuts. The shortcuts undermines the integrity of design, and ultimately degrades the quality of delivery. Professional IT brings an educated estimate of CB and CO avoid naiveté in the value projection.
BA consists of both the efforts saved, and the consistency as a result of automation. DevOps tools also evolved from saving effort to ensuring consistency (e.g. Continuous Deployment). The CI/CD landscape includes tons of tools for pipeline (Jenkins, Bamboo, Circle CI), and every major public cloud vendor offers their own technology (Azure DevOps, GitHub Action, AWS code pipeline). The right choice of automation tools increases your BA while minimizes CB and CO.

The CI/CD pipeline drives the automation, but it has fairly limited capacity in configuring many remote systems. Configuration management tool (e.g. Ansible, Chef, Puppet) fills in this demand. A configuration management system deals with many remote systems, with potentially different state, and aims to bring consistency across the fleet.
Read more about automation:
- Automated Deployment Pipeline 3 of 3 - Background We have previously covered a pipeline example with Jenkins calling Ansible to leverage OpenSSH configuration and Ansible inventory. We also discussed a use case with declarative pipeline. In this posting, I will provide another advanced example, built on declarative pipeline. The pipeline file will be pulled from Git repository.… ... Read moreAutomated Deployment Pipeline 3 of 3
- Automated Deployment Pipeline 2 of 3 - In this posting, we continue to discuss Jenkins' ability to automate deployment routines. Jenkins supports freestyle project out of the box, as well as Pipeline with several plugins. Freestyle project allows user to specify multiple steps on UI. This does not scale well when your entire process involves many steps.… ... Read moreAutomated Deployment Pipeline 2 of 3
- Automated Deployment Pipeline 1 of 3 - The business case You launched a software application. You installed it on two customer sites. You support the application mostly by SSH to customer server and run Bash commands, or slightly better, Bash scripts. The product is a hit to the market. You hired 20 support specialists in a customer… ... Read moreAutomated Deployment Pipeline 1 of 3
- Ansible at scale 2 of 2 - Template (with Jinja2) and files In an Ansible role, we can use files or templates to achieve similar results for configuration files. If the configuration file is the same across all targets then we can place it in files directory to push out. If the content of configuration file varies… ... Read moreAnsible at scale 2 of 2
- Ansible at scale 1 of 2 - The Ansible In Depth white paper outlines Ansible's use cases in four categories: Configuration managementApplication deploymentOrchestration: for coordinating a multi-machine process such as interacting with load balancer and rolling cluster upgradeAs-needed task execution: ad-hoc tasks on large number of hosts At work, my original automation scheme involves several Ansible Playbooks… ... Read moreAnsible at scale 1 of 2
Contact Digi Hunch for Professional Services.