Brownout in software engineering is a technique that involves disabling certain features of an application.
Users are likely to abandon the application and switch to competing alternatives,[2] hence incurring long-term revenue loss.
Some consumers, such as incandescent light bulbs, will dim – hence originating the term – and draw less power, thus helping match demand with production.
Similarly, a brownout application helps match its computing capacity requirements to what is available on the target infrastructure.
[4] Brownout is relatively non-intrusive for the developer, for example, it can be implemented as an advice in aspect-oriented programming.