Good development practises such as configuration management and naming conventions have been a topic of conversation a number of times recently for us when it comes to ICS. In this post we will look at what configuration management means to ICS and the application of naming standards.
Why Configuration Management?
So why do we need configuration management with a tool such as ICS? The question depends on what stage of the software lifecycle you are, but a few reasons:
- As a developer there have been occasions where we have tried to optimise something and then decided to reverted back to the last secured state in configuration control.
- Deleted something and then regretted it, whilst desktops have the concept of paper basket to recover from, not so in ICS.
- If your providing packages of ICS functionality you may have different released versions – so need to keep master copies of every version available to refer to.
- Sometimes we get ‘configuration drift’ – and therefore need to have a reference point to compare to. This allows us to determine the drift and if it is appropriate to reset an environment. Whilst this may sound less significant, it is enough of a problem for tools like Puppet to incorporate the ability.
- Tracking what versions of integrations are running in a development vs production environment.