How to build systems for tomorrow and beyond

It is easy to measure the temperature by looking at a thermometer. It is easy to copy a file from a computer to a USB stick with a file explorer. It is easy to create some Cloud resources with a few clicks in a web interface. It is easy to install a software package manually on a single machine.

What if you want to measure temperatures in 100 locations 48 times a day and create a graphical comparison after 14 days? And the next day you want to compare only temperatures of the last 48 hours.

What if you want to copy all files with a certain naming pattern to 100 different locations all over the world as soon as they are created?

What if you want to create the same Cloud resources for 100 different customers – just with some minor variations?

What if you want to install a software package on 100 devices and update it everywhere as soon as a new version is available?

Automation

Of course the answer is automation. From a business perspective, everything that is done more than once should be considered for automation. Theoretically, if automating a task is cheaper than executing it manually for the expected number of times it needs to be completed, it is worth automating. Practically, automation is worth considering even if the costs of manual execution are not expected to exceed automation costs. For the following reasons, always consider automation as soon as a task is expected to be completed more than once:

Automation usually leads to higher consistency of results.
It is rarely possible to accurately predict how often a task will be executed and how much each execution will cost.
Similar tasks often emerge at a later stage and can be completed with minor adjustments of a previously automated process.
Automation assets help with reviewing, auditing, updating, testing and improving systems.
Automation assets are intellectual property that can increase the value of a business.

Parameterised automation

Automation is more powerful when it is parameterised. Many processes and systems are similar, but not exactly the same. When automating similar processes, make sure you can simply specify the differences in the configuration. Typically, this would be a function parameter or configuration file. However, also turning the width knob of a machine that is cutting material is an example for this.

Parameterised automation is even more powerful with two additional concepts:

Default values are a form of automation for parameters. If the value for a parameter is not specified, a default value will automatically be used that makes sense in most cases.
There can be different default values at different hierarchical levels. For example, by global default a target temperature of 20°C is used. For tropical plants the target temperature defaults to 25°C. For species XYZ, and only species XYZ, 28°C will be used.

How parameterised automation improves sustainability

Parameterised automation makes it easier to scale systems to future demands.
Parameterised automation makes it easier to break systems down into many smaller components that are easier to manage and reuse.
A modular, scalable system is more resource-efficient. It is easier to fulfil resource requirements for a longer period.
The higher reliability that automation brings with it reduced risks, including catastrophic risk.
Resources that are saved due to automation can be used in other areas. If used wisely (e.g. for further automation), this can bring a “compound-interest” effect.

Examples for parameterised automation

Scripts of all kinds: shell scripts, SQL scripts, etc
Infrastructure as Code: configuration files for Cloud deployments and other virtual infrastructure
Code for building, testing and deploying software
Control systems for bioreactors, robots, spacecrafts and other autonomous machines
Internet of Things (IoT): automatic distribution of sensory data and commands

If you want to bring your automation and sustainability efforts to the next level, contact us now.