BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース 持続可能なソフトウェア開発の方法

持続可能なソフトウェア開発の方法

原文リンク(2024-04-18)

ソフトウェアの持続可能性には、環境目的のコンピューティングや資源の適切な利用が含まれる。Coral Calero氏によると、ソフトウェアエンジニアはソフトウェアを全体的に見る必要があり、ソフトウェアが環境に与える影響を意識する必要がある。ソフトウェアエンジニアが持続可能なソフトウェア開発をするために、いくつかのツールやフレームワークが利用可能である。

Coral Calero氏は、XP 2023でソフトウェアの持続可能性について基調講演をした。

グリーン・コンピューティングとは、ICTと環境の関係を定義することだ、とCalero氏は語った。これには、コンピューティングを環境目的に利用する「グリーンBY」(自動温度調節器など)と、コンピューティングそのものをグリーン化すること、つまりリソースを適切に利用すること(効率的なアプリケーションを生成するプログラミング言語の使用など)を目的とする「グリーンIN」が含まれる。

環境を目的としたシステムを開発する場合、私たちのソリューションは、使用する資源を効率的に使用することになる。ITにおける資源の効率的利用(グリーンIN)に取り組むことは、優先事項であるべきだとCalero氏は主張した。研究によると、2030年までに情報通信技術は世界のエネルギー消費の20%を必要とすると彼女は付け加えた。

Calero氏は、人工知能が新しいソフトウェアシステムに広く組み込まれているため、ソフトウェアが今革命の中にあり、その成長が期待されていると述べた。

人工知能のアルゴリズムは、その作り方や使い方にもよりますが、大きなエネルギーを消費します。場合によっては、精度が0.02%上がると消費量が2倍になります。

我々は「スマート時代」にいるが、さらに一歩進んで「スマート・ソフトウェア」を要求する必要がある。「スマート・ソフトウェア」は、品質特性を含み、思考的でインテリジェントなソフトウェアであるべきで、持続可能であるべきだ、とCalero氏は言う。

ソフトウェア・エンジニアは、ソフトウェアに対する全体的な見方が必要であり、開発しているソリューションが将来に与える影響を意識しなければならない、とCalero氏は主張した。これは野心的な視点であり、時間や予算だけでなく、耐久性、エネルギー効率、最適な方法で資源を利用することも考慮しなければならない。彼らは訓練を受け、これらの側面を考慮できるような仕組みを提供されなければならない、と彼女は説明した。

例えば、MLモデルのエネルギー・ラベリング・ツールであるGAISSALabelがそうです。例えば、GAISSALabelは、MLモデルのエネルギー・ラベリングのためのツールです。また、Blue Angelは、ドイツで開発された、資源とエネルギー効率の高いソフトウェア製品のための環境ラベルを定義するイニシアチブで、ソフトウェア製品の運用から生じる環境への影響に焦点を当てています。

私たちのチームでは、ソフトウェア開発者向けに、プログラミング言語やソフトウェアのデザインパターン、リレーショナルデータベースのスキーマ設計に関するガイドラインを提供しています。これらのガイドラインはすべて、Green Team Alarcosの出版物を通じて公開されています。

グリーンソフトウェア財団は、グリーンソフトウェア構築のための人材、標準、ツール、ベストプラクティスのエコシステムを構築している。また、ソフトウェアのカーボンフットプリントの測定方法に関するガイドラインも提供している、とCalero氏は述べた。

InfoQは、ソフトウェアの持続可能性についてCoral Calero氏にインタビューした。

InfoQ: グリーンINコンピューティングに関して、ソフトウェアはどのような役割を果たすのか?

**Coral Calero氏:**グリーンINコンピューティングに焦点を当てる場合、考慮すべき1つの側面は、その取り組みがハードウェアコンポーネント(グリーンINハードウェア)で行われるのか、ソフトウェア(グリーンINソフトウェア)で行われるのかということです。

結局のところ、エネルギーを消費するのはハードウェアなのですから。しかし、ハードウェアは、その上でソフトウェアを実行するために作られるものであり、エネルギー消費は、その上で実行されるソフトウェアと、そのソフトウェアがどのように実装されるかに大きく左右されると考えなければなりません。

グリーンINハードウェアが成熟したトピックであるのに対し、グリーンINソフトウェアは始まったばかりです。プログラミング言語C++の生みの親であるBjarne Stroustrupが言ったように、我々の文明は水と同じようにソフトウェアに依存しているのですから。

InfoQ: ソフトウェアが環境に与える影響を減らすために、企業はソフトウェア・エンジニアをサポートするために何ができるか?

Calero氏::エンジニアが、開発するシステムの影響を考慮しながら業務を遂行するためには、明確に定義されたビジネスプロセス、開発におけるエネルギー消費の取り入れ方に関するガイドラインや推奨事項を提供することが不可欠です。

これが彼らの知識の一部となり、業務に組み込まれれば、持続可能性とグリーン・ソフトウェアの側面を業務のもう一つの要素として組み込むために必要な知識体系が徐々に増え、強化されていくでしょう。

これは新たなデジタルトランスフォーメーションですが、現在はグリーンで持続可能なデジタルトランスフォーメーションです。そして、デジタルトランスフォーメーションとして、製品、開発されるサービス、ビジネスモデルだけでなく、顧客との関係にも適用され、影響を与えなければなりません。そして、このすべては、企業における文化的変化を伴うことを前提としなければ達成できません。

作者について

この記事に星をつける

おすすめ度
スタイル

BT