Separating Configuration and Behavior in Automation

Separating Configuration and Behavior in Automation

A workflow is a “behavior”.  It’s how a thing is done.  What makes a behavior useful is configuration.  What constitutes a “release”, what database to restart, what customers the “end of day” process runs for.  These are examples of “configuration”.

When automating, it’s important to separate configuration from behavior.  Here are a few reasons why:

Reliability

By separating configuration from behavior, you allow the “behavior” to move through your environment (dev, to Q/A to production) along with your software. As this happens, you’re testing your automation.  So by the time you reach production, you have tested your ability to deploy as well as the support processes around it.  As you do this over and over, maturity is achieved.  The reliability of your system sky rockets and risk sheds away.

Time to Market

The benefits of greasing the path to production are obvious, but there are some other considerations, too.  What if you have an opportunity to open a new office in another location or to go after a new market?  How fast can you build out infrastructure and be up and running?  If you have done things correctly, it’s just a matter of configuration because your “behavior” is already mature.

What if, you hire a new developer or two or three?  How much time is wasted as they figure out how to start an instance of whatever they are working on?  If done correctly, provision some equipment, tweak some configuration and have them push a button.

Being agile does no good if you can’t get new features deployed.  If you need a three day weekend to roll out new features, maybe your process is not as mature as you think. 

Cost of Delivery

As your infrastructure doubles in size, you cannot afford to double your staff and your risk.  Automation and separation solves this.  With a well thought out strategy, a very small team can manage huge environments.

Conclusion

In the next post, I'll talk about several ways this can be achieved.

To view or add a comment, sign in

More articles by David Carnal

  • Part 2: It Looked Good on Paper — What We Learned and what We Fixed

    We thought we were done after the planning and code generation phase. We created a full set of functional tests and…

    2 Comments
  • Building Situate's MCP

    Part 1: Architecture & Planning When we decided to give AI agents real access to XonaSoftware’s automation suite…

    1 Comment
  • The Case for Pause/Continue in Workflow Automation

    All of us in the capital markets space are constantly collecting and managing data. Whether that data comes from a…

    1 Comment
  • Use Case: Historic P&L Analysis

    Clarity Analytics was hired by a predominant prop trading firm to analyse a handful of accounts and produce historic…

  • Javascript as a LowCode Solution in Hyperautomation and Workload Automation

    In the argument between lowcode and nocode automation, I’ve always felt there is an 80/20 rule. 80% of your workflows…

  • Self-Documenting Automation

    There are two problems with documentation. It's the last step in many projects and nobody wants to do it so it's often…

  • Islands of Security -- Scripts with Too Much Access

    Have you noticed that many devops and/or ops scripts end up running with unnecessariliy high privileges? Here is what…

    1 Comment
  • Instant Audit / Complete Transparency

    What runs as root or Administrator? What runs on this server? If this network fails, what do we need to move and…

  • Consolidating Logs

    Consolidating logs (like what we just traded) is not sexy but is important for audit, compliance, review, etc. The…

Others also viewed

Explore content categories