Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Feature Toggles, also known as feature flags, are a set of development patterns that allow specific features or behaviours within an ETL solution to be turned on or off at will. This allows developers to safely “toggle” new features on or off for testing and decouples Integration and deployment Frequency from change durationfrequency from the time taken to get changes (truly) done. This guide will show how to implement Feature Toggles in DataStage by exploring a common scenario that occurs frequently within ETL development.

...

In the coming month, the external system that is loaded by the ETL will be upgraded and will require changes to the the load job logic. The development team want to implement and test changes to the load job changes ahead of time but the changes aren’t backwards compatible and can’t be deployed to production until after the external system has been successfully upgraded. There At the same time, there is also a backlog of critical defects which need to be fixed and released to production between now and when the external system upgrade. is scheduled to be upgraded. How can the team satisfy these parallel and potentially competing goals?

The Solution

The development team will can introduce a Feature Toggle which will enable those changes to the load job changes to be turned on and off at will. This solution has the following benefits:

  • Critical defect fixes can be built, tested and even released to production while the load job changes are still in progress.

  • Load job changes will can be deployed to test/prod along side testing and production environments alongside critical defect fixes but will never be executed while the Feature Toggle remains off.

  • Integration testing of critical defect fixes and load changes can be performed by switching the Feature Toggle on.

  • When blocking defects are detected in load job changes, the Feature Toggle can be switched off to continue testing critical defect fixes.

  • The Feature Toggle can be switched on in production as soon as the load job changes have passed testing and the external system has been upgraded.

  • If the external system upgrade is delayed for any reason, the Feature Toggle can remain switched off and ETL development can continue unaffected.

...