보안 제품정보


지속 가능한 소프트웨어 개발론이 대두되고 있다 2023.06.28

소프트웨어도 적잖이 탄소를 배출한다는 사실을 알고 있는가. IT 업계에서는 이 소프트웨어 개발과 활용이라는 면에서 친환경이라는 주제가 논의되고 있다. 회의론도 존재하지만 아직은 ‘해보자’는 분위기가 우세하다.

[보안뉴스 문정후 기자] 산업을 불문하고 지속 가능성을 추구하는 움직임이 거세다. 이미 여러 지역에서 나타나고 있는 환경 문제는 인간의 통제력을 넘어섰다는 느낌이 강하며, 그렇기에 우리는 보다 빠르게, 더 많이 실질적인 성과를 이뤄내야 한다는 압박감에 시달리고 있다. 이런 상황 속에서 IT 결정권자들이 해야 할 일이 분명하다. 각종 IT 기술의 개발과 사용, 폐기에 있어 탄소 발자국을 줄여야 한다는 것이다.

[이미지 = gettyimagesbank]


최근 IT 업체 세일즈포스(Salesforce)가 발표한 보고서에 의하면 1천 명이 넘는 IT 지도자들 중 75%가 “환경에 미치는 영향이 적은 소프트웨어 애플리케이션을 개발하거나 사용하고 싶다”는 의견을 표했다고 하다. 하지만 절반 이상인 52%가 “여태까지는 에너지 효율성이 높은 프로그래밍 언어가 무엇인지 굳이 찾아보지도 않았고 활용을 고려하지 않았다”고도 답했다. 지속 가능한 소프트웨어 개발 사이클 자체를 개발하는 것 역시 여태까지 그리 중요한 사업이 아니었다고 답한 IT 지도자들이 76%인 것으로 나타났다.

재생 불가능한 자원으로부터 에너지를 얻어 컴퓨터를 켜고 서버를 가동시키면서 소프트웨어를 개발하다보면 탄소가 배출될 수밖에 없다. 소프트웨어를 개발하는 데 필요한 하드웨어를 만들 때에도 탄소는 배출되며, 개발 완료된 소프트웨어를 가동시킬 때에도 탄소가 배출된다. 소프트웨어의 모든 것이 탄소 배출과 엮여 있다는 뜻인데, 어떤 과정을 통해 어떤 소프트웨어가 어떻게 만들어지고 사용되는지에 따라 그 양이 심각할 정도일 때가 많다.

친환경적인 개발 과정을 준수하고, 코드 효율을 최적화하며, 재생 가능한 에너지를 사용하다 보면 개발자들도 소프트웨어를 통해 배출되는 탄소의 양을 줄일 수 있다. 그리고 이런 노력들이 하나 둘 쌓이다 보면 보다 희망적인 미래를 맞이할 수 있게 된다. 세일즈포스의 제품 총괄인 매튜 파린(Matthew Parin)은 “소프트웨어 개발의 방법론을 조금만 바꿔도 환경에 긍정적인 영향을 미칠 수 있다는 사실을 아는 개발자들이 그리 많지 않다”며 “이를 적극적으로 알리고, 친환경적인 개발을 할 수 있도록 해 주는 도구를 제공해야 한다”고 촉구한다.

“기업 내에서 문화 변혁이 일어나야 합니다. ‘지속 가능한 소프트웨어’라든가 ‘친환경적인 소프트웨어 개발론’이라는 개념 자체가 존재한다는 걸 알리고 퍼트려야 하지요. 이건 모두가 같이 해야 하지, 한두 사람이 한다고 되는 게 아닙니다. 기업의 모든 수장들이 친환경적인 개발을 추구하고, 알리고, 도입해야 합니다. 개발자들 스스로 변하기를 기다리기에는 시간이 부족합니다.”

그린 소프트웨어와 개발자 교육
애플리케이션 보안 업체 콜파이어(Coalfire)의 수석 애플리케이션 보안 책임자 잉그리드 올슨(Ingrid Olson)은 “막상 개발자들을 대상으로 교육을 시작한다고 했을 때 막막할 수 있다”며 “그린소프트웨어재단(Green Software Foundation)과 같은 조직들이 개발자 교육을 도와줄 수 있다”고 귀띔한다. “또한 개발자들 역시 교육을 통해 친환경 문제와 방법론에 대해 알아가면 갈수록 올바른 ‘그린 개발 방법론’을 따르는 회사를 찾아갈 수 있습니다. 예전 방식의 소프트웨어 방법론으로는 사람을 구하는 것조차 어렵게 만들어야 더 많은 기업의 수장들이 지금의 시대에 맞는 방식으로 돌아서게 될 겁니다.”

그러면서 올슨은 “그린 소프트웨어라는 개념 아래에서는 모두가 이해관계자임을 기억해야 한다”고 강조한다. “직접적으로나 간접적으로나 그린 소프트웨어 개발에 우리는 모두 참여하고 있으며, 그로 인한 영향권 아래 있는 것이 분명합니다. 현대 사회에서 살아가는 우리 모두가 하나 이상의 소프트웨어를 사용하고 있고, 우리 모두 현재 빠르게 변해가고 있는 환경 속에 살아가고 있으니까요.”

소프트웨어 가동에 필요한 ‘마력’ 줄이기
KPMG의 데이터 및 기후 부문 책임자인 테간 킬리(Tegan Keele)는 “인공지능이나 머신러닝처럼 복잡하고 강력한 모델들 포함한 소프트웨어는 보통 많은 컴퓨팅 자원을 소모한다”고 말한다. “개발, 실험, 실행 모두에서 복잡한 소프트웨어일수록 많은 ‘마력’을 필요로 합니다. 그러므로 많은 전기를 쓰고, 그러므로 발전소에 더 많은 연료가 들어가게 합니다. 탄소 배출량이 많다는 것입니다.”

보안 업체 벌칸사이버(Vulcan Cyber)의 수석 기술 엔지니어인 마이크 파킨(Mike Parkin)은 지속 가능한 소프트웨어 개발이라는 개념 자체에 약간의 회의감을 가지고 있다. “이미 코드 개발 방법론은 탄소 배출량을 줄이기 힘든 구조로 굳어져 있습니다. 프로그래머들이 코드를 짜는 건 맞습니다만, 코드가 작성되는 과정에 소비되는 에너지나 코드 작성 도구 및 플랫폼들까지 프로그래머들이 책임지지 못합니다. 즉 정말 탄소 배출량이 줄어들어야 할 곳에는 개발자들의 힘이 미치치 못할 때가 많다는 겁니다.”

전력 소모가 낮은 장비와 서버들을 개발자들 사이에서 보편화시킨다면 탄소 배출량을 어느 정도 낮출 수 있다고 파킨은 계속해서 설명한다. “하지만 일부러 장비와 도구들의 속도를 늦춰가면서 개발하려는 사람들은 개발자들 사이에 하나도 없다고 봐도 무방합니다. 그렇게 하는 건 개발자의 일반적인 사고방식에 오히려 반하는 것입니다. 게다가 장비를 다운그레이드 해서 에너지 효율을 높인다는 건 좋은 생각이지만, 배출량이 줄었다는 것과 그 양을 어떤 방식으로 측정할 수 있을까요? ”

그렇기에 파킨은 개발자 한 사람 한 사람의 개발 행위를 가지고 ‘친환경’이라는 압박을 가하는 것에 큰 효력이 없을 것이라고 보고 있다. “소프트웨어와 관련된 탄소 발자국을 의미 있게 줄이려면 데이터센터들과 클라우드 호스트들을 공략해야 합니다. 실제로 코드가 대규모로 실행되는 곳을 노려야 한다는 것이죠. 냉각의 효율을 높이고, 에너지 소비량을 어떻게든 줄인다면 눈에 띄는 효과가 있을 겁니다.”

실험 가동에서의 코드 효율성
킬리의 경우 “개발자 개개인이 코드의 효율성을 계속해서 높이되, 개발 중간 중간 이어지는 실험 절차를 공략한다면 개발 과정 전체에 소모되는 컴퓨팅 자원을 크게 줄일 수 있다”고 말한다. “보다 지속 가능한 소프트웨어 개발이라는 커다란 목표 아래 꼭 필요한 시험 가동만 하고, 시험 가동을 최소화 할 수 있는 방법들을 찾아내는 게 중요합니다. 그랬을 때 탄소 배출량도 저감시킬 수 있을 뿐만 아니라 제품의 출시 일자를 앞당길 수도 있습니다.”

그러면서 킬리는 “조만간 시장에 ‘저탄소 방법론으로 개발된 소프트웨어’를 적극적으로 마케팅하는 기업들이 나타날 것”이라고 예측하고 있다. “시장이 그렇게 움직이면 싫든 좋든 친환경적인 개발론을 고민하지 않을 수 없을 것입니다.”

글 : 네이선 에디(Nathan Eddy), IT 칼럼니스트
[국제부 문정후 기자(globoan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>