Hi John, we have tried to build some of this thinking in to
Kratix.io. Kratix, a framework for building platforms, has the concept of a Promise — essentially an aaS capability -- which are loaded to Kratix to build up a platform experience. Promises can be combined into higher order Promises. Where this intersects with what you’re describing is that Kratix allows you label Promises with certain functionality in mind. So for example you might have a bunch of ‘dev’ promises registered with your platform. If a developer needs a new ‘dev’ env they can then ask Kratix for their dev environment, Kratix will then vend that the new environment, and ensure that all ‘dev’ labelled Promises are applied to that environment. If you need to add / remove ‘dev’ new capability, you can load /remove those Promises and Kratix will ensure they’re applied / removed from all existing dev envs.