The world is environmentally conscious like never before. The planet's resources are not endless, and the amount of waste that our environment can tolerate is limited. We understand the need to recycle, the need for public transit, the need to use green energy, such as wind power and electric cars. We're all starting to do what we can to minimize our footprint on this planet.
So why are we so wasteful in the software development cycle?
You know that scenario I'm talking about: one line change in a Pull Request triggers a build, where a compute environment is created from scratch, megabytes and megabytes of data pulled from the Internet, massive amounts of code are compiled, verified against complex test suites, digitally signed and placed in an artifact storage that is seldomly cleaned up. Compound all that if the module built is a dependency that triggers another, larger build.
The environment is then torn down and discarded, only to be recreated moments later, perhaps multiple times a day, to support that need for Continuous Integration and the immediate feedback loop.
We're generation Giga -- we have Gigabits/sec of bandwidth, dozens of Gigabytes of RAM, multiple processors operating at several GigaHertz, and thousands of Gigabytes of storage on devices that can move several Gigabytes of data each second. So why not?
As I stand behind a cabinet in the Eclipse Datacenter upgrading our network gear, I feel the heat of all those servers being blown in my face. Power units on each side of the cabinet, each delivering 60 amps of 208v 3-phase AC current, are silent -- I think. I can't hear anything but the soothing sound of thousands of fans dissipating all the heat. But my comfort is only temporary: I walk down the long isle of cabinets, make two left turns to avoid the bedroom-sized Air Conditioner units, and I'm in the cold zone -- where cool, conditioned air blows up from the floor, ingested from the front of cabinets, and transformed into hot air. The three transport-truck-sized diesel-powered generators outside the building are standing by, should the building's closet-sized UPS batteries near depletion in the event of a power outage.
Where I live, water is free and AC power is dirt cheap. I could fill a full sink of hot water, wash each individual plate, bowl, dish and utensil with a clean cloth I use only once, drain and restart. Each plate, bowl and utelsil would be as clean as the previous. Who cares, it's cheap, and it's free, right?
No, it's not. It's not free. It's not cheap.
And it's not Green, either.