Treating automation as a software problem
When we adopt software engineering for automation, we see toil as a requirement and code as its resolution. SREs share this mindset with software engineers: problems are requisites for developing code. Nonetheless, automating tasks through code somehow becomes an even more challenging endeavor. Automation constraints are depicted in the following diagram:
Figure 9.1 – Typical procedure or task representation
There are necessary inputs for any given procedure or task to execute it successfully. Also, methods, techniques, or algorithms are applied to such entrance information to provide the desired outcome. This procedure is automatable with simple technologies if only one possible input and output exists. Alternatively, imagine multiple inputs and possible techniques (see Figure 9.1). This scenario with numerous possibilities can escalate quickly and request a more robust technology such as artificial intelligence...