Tech Ethics: Can Developers Save the Earth, One Container at a Time?
There’s no doubt the ethics of our jobs in tech are making more and more headlines. So much of the debate surrounds the area of big data — we’re no longer just trying to figure out how best to benefit from it, but also we as individuals are starting to be hyper-aware of what’s out there. And surely as The New Stack dives into tech ethics, we’re going to hit a lot about privacy, too, but today we’re going to talk about something not a lot of people are talking about yet — engineering and the environment.
A lot of companies call themselves green because they basically banned printing. Sure, email and other tech have saved a lot of trees from going to the printing press. On the other hand, there is a lot of other environmental impact happening in IT that’s just not getting the attention it needs, but thankfully modern infrastructure and architecture may be a natural environmental, technical and cultural solution.
Recently, we spoke with Anne Currie, chief cloud strategist at Container Solutions and co-founder of Coed: Ethics new tech ethics conference, about how while machines are becoming less and less visible to us, they are making a bigger impact on the environment than ever.
Machines (and Their Humans) Are Ever the Problem
Working in IT since the early 1990s, Currie began at a pure-play online lingerie vendor in the early days of e-commerce. A Microsoft shop, the company ran an on-premise data center. We’ve progressed from the huge machines to on-site data centers to renting space on other data centers — our software being launched into the cloud while somebody else runs the machines.
“As we’ve gone along, machines have become a lot less visible to us,” Currie said. “And we do need to remember that they do exist, that everything we write runs on electricity and energy.”
Indeed, it’s a lot. In 2015 alone, 416.2 terawatt hours of electricity were gobbled up by the world’s data centers, which is well over the UK’s annual consumption. In just the U.S., data centers consume two percent of all electricity.
And with everything from smartwatches to the Internet of Things to healthcare tech, it’s just going to get worse… a lot worse. The U.K. newspaper Independent wrote about how data centers will triple their energy usage in the next ten years.
It stands to also note that, while this piece is focusing on how our new container-based computing culture, when implemented correctly, can cut costs and that huge number, all of IT consumes a lot, a lot more electricity.
But Containers Could Reduce Energy Usage
Currie argues that while IT uses all that energy, it isn’t using it efficiently at all. “We don’t think about data or machines or how we are using them well,” she said. “We are really totally aware of our own scale, we’ve grown so quickly.”
She says data centers are just big energy suckers with only ten percent of the centers being utilized. “Most of it is just running machines less efficiently,” Currie continued.
Containers — smaller chunks of packaged software for faster build, ship and deploy — may have the benefit of the more flexible, feature-driven architecture and culture, but that’s not why they began.
Currie said when Google invented containers and container orchestration, the original goal of increasing efficiency in its data centers. As a result, it was able to achieve more than 70 percent efficiency in their data centers when compared with the ten percent industry standard. Not only is Google going greener, but — meeting the original intent of the goal — it is saving loads on energy bills.
You can put a lot of energy in convincing a room full of people to get expensive solar panels, but if you have a room full of developers at a tech event, you have access to impacting the earth in a simpler way. Currie said that “Three years ago there was a road of options but not everything was ready in terms of orchestration.”
She says the time is now for developers, systems architects, and especially ops teams to make an environmental impact, and Docker and Kubernetes will lead the way.
“It’s not unusual with containers orchestration to go from four machines down to one machine — to cut your hosting bill by 75 percent is not unheard of,” Currie said. “If everybody aims for doubling their resource utilization using containers and orchestration, you could offset half the aviation industry by just being a little bit more careful and using really cool tech in your data centers.”
By being more aware of your data center usage, you can do your part for the Earth and save money.
“I might hire a 100 machines in your data center, and I’ll probably have them all turned on but I’ll have something on each of them. A tiny application for that machine over here — so that tiny app on that whole machine,” Currie explained.
She continued pointing out that virtual machines (VMs) were originally intended to divide up the machine with little things, but, “as time has gone on we got lazy and we had one VM per machine.” Typically where each VM goes is an operations team decision, but this decision is made with vast time constraints. Containers got much better utilization.
But Is This a Magic Environmental Cure?
It is important to note that not all containers are built the same and just moving to containers by themselves will magically make your company greener. Misused containers can do the same amount of damage as misused VMs or even bare-metal. In fact, one recent research study found that Docker containers can actually use more energy than traditional bare-metal Linux.
Of course, this is just one study and it works with ideal circumstances. You could potentially buy the precise bare metal server for your needs and certainly outshine a container, but this isn’t as practical as splitting them up with containers or VMs.
Sometimes, the truly logical action as a developer is to be aware of what your resources are and how they’re being utilized.
But I Thought Containers Were All About Speed and Culture?
There’s no doubt that containers, like microservices, allow developers to be more independent. And breaking away from the monolith into much smaller, more manageable pieces of code certainly allows for business agility and faster responsiveness to feature requests. Currie says containers fitting into the agile software development trend is merely a “weird side effect” but a huge one.
Containerization is just one of those rare situations where benefits to the corporate bottom line, culture and the environment all align, kind of by accident.
“People don’t care about saving money on hosting, they care about getting products to market faster, but if that means utilizing resources inefficiently, it doesn’t matter,” Currie explained.
Just right now, everything has aligned where the thing that can potentially get products to market faster — containers — can lead to happier developers and to companies saving money on hosting, which can in return help the environment.
But Does Where You Host Matter?
One final note is that Currie pointed out that all data centers aren’t equal. By the nature of Google’s more natural initiative, it’s a good place to host, but there are also regions in Amazon Web Services she says that can be very green to host, like Dublin.
This just isn’t something that crosses a lot of developers’ minds. Most think of data laws and pricing — as they should — but it’s time we also look at where our resources are being held and how they are being utilized.
“If you are on-prem, if you move over to Kubernetes and containers, you can really cut the number of machines you’re running on,” Currie said.
Disclosure: Container Solutions retained editorial approval of this story.