20 年前、コーディングには限界がありました。帯域幅の制限と処理能力の限界により、開発者はコードの長さと複雑さに常に注意を払う必要がありました。しかし、テクノロジーがさらなるイノベーションを可能にするにつれて、プログラマーは規模の制約を受けなくなりました。
例えば、コンピューティング能力の向上により、大きなファイルやアプリケーションの処理速度が向上しました。オープンソースのライブラリとフレームワークにより、ソフトウェア・エンジニアはプロジェクトでコードを再利用できるようになり、より大きな可能性が生まれました。これにより、プログラムのコード行数が増え、解析に必要な処理能力も増加しました。意図しない結果として、エネルギー使用量が増加し、世界の電力需要が増加しました。
企業はビジネスを変革し、より持続可能な慣行を実施しようとしており、新たな効率性を見つけるために既存のプロセスを深く掘り下げています。これには、データのより効率的な保管からコードの記述方法の検討まで、ビジネス オペレーションの構成要素を評価することが含まれます。
この記事では、グリーン・コーディングが、組織がサステナビリティーを優先し、エネルギー削減目標を達成するための革新的な方法を見つける上でどのように役立つかを探ります。
IBMニュースレター
AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。
ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。
グリーンコーディングは、コード行の処理にかかるエネルギーを最小限に抑え、ひいては組織の全体的なエネルギー消費の削減を目指す、環境的に持続可能なコンピューティング手法です。多くの組織は、気候変動危機や世界的な規制に対応するために温室効果ガス排出削減目標を設定しています。グリーンコーディングは、このようなサステナビリティーの目標をサポートする1つの方法です。
グリーンコーディングは、グリーンコンピューティングの一セグメントであり、製造ライン、データセンター、さらにはビジネスチームの日常オペレーションなどの高負荷の業務におけるフットプリントの削減を含め、テクノロジーが環境に与える影響を制限することを目指した手法です。このより広範なグリーン コンピューティングには、グリーン ソフトウェア (グリーン コーディング手法を使用して構築されたアプリケーション) も含まれます。
ビッグデータからデータマイニングに至るテクノロジーの進歩は、情報通信テクノロジー分野におけるエネルギー消費量の大幅な増加につながっています。Association for Computing Machineryによれば、データセンターの年間エネルギー消費量は過去 10 年間で 2 倍に増加しています。現在、コンピューティングとITは、世界の温室効果ガス排出量の1.8%~3.9%を占めています。
グリーンコーディングがエネルギー消費と温室効果ガス排出量を削減する方法を完全に理解するには、ソフトウェアのエネルギー消費について詳しく調べることが役立ちます。
さまざまなプログラミング言語の速度とエネルギー使用量に関する最近の調査により、 C 言語が速度の面で最も効率的であり、エネルギーとメモリの使用量を削減し、エネルギーを節約する新たな可能性を提供していることが判明しました。しかし、これをどのように実現するか、またエネルギー節約を評価するためにどの指標を使用すべきかについては、まだ議論が続いています。
グリーンコーディングは、従来のコーディングで使用されるのと同じ原則から始まります。コードの処理に必要なエネルギー量を削減するために、開発者はエネルギー消費量の少ないコーディング原則をDevOpsライフサイクルに採用できます。
「リーン コーディング」アプローチは、最終的なアプリケーションを提供するために必要な最小限の処理を使用することに重点を置いています。例えば、Webサイトの開発者は、ファイル・サイズの削減を優先することができます(高品質のメディアをより小さなファイルに切り替えるなど)。これにより、Web サイトの読み込み時間が短縮されるだけでなく、ユーザー エクスペリエンスも向上します。
リーン・コーディングは、リソースを無駄にする不必要に長いコードや遅いコードを指すために使用されるコード・肥大化を削減することも目的としています。オープンソースコードはこのソフトウェアの肥大化の一因となり得ます。オープンソースコードは幅広いアプリケーションに対応できるように設計されているため、特定のソフトウェアでは使用されない大量のコードが含まれています。たとえば、開発者はライブラリ全体をイメージに取り込む場合がありますが、必要なのは機能の一部だけです。この冗長なコードは、余分な処理能力を使用し、過剰な炭素排出につながります。
リーンコーディングの実践を採用することで、開発者は最小限の処理量で成果を出すコードを設計しやすくなります。
グリーンコーディングの原則は通常、組織全体で使用されている既存のITサステナビリティーの標準や慣行を補完するように設計されています。組織の他の領域でサステナビリティーへの取り組みを実施するのと同様、グリーンコーディングには、構造と文化の変化の両方が必要です。
企業は、省エネの利点以外にも、グリーンコーディングの実践には次のようなメリットがあると考えられます。
IBMとグリーン・コーディングの詳細については、IBM Institute for Business Valueのホワイト・ペーパー、データセンターの域を超えたITサステナビリティーをご覧ください。
このホワイトペーパーでは、ソフトウェア開発者が責任あるコンピューティングとグリーンITを推進する上でどのように重要な役割を果たすことができるかを調査し、ITインフラストラクチャーの4つの主要な排出源について説明し、ハイブリッドクラウドでグリーンITの約束を果たす方法について説明します。
インフラストラクチャーの最適化は、リソースの利用を改善することでフットプリントを削減する重要な方法です。エネルギー効率に最も速い影響を与える方法の一つは、エネルギーの無駄や炭素排出を減らすために参考情報を自動的に配置することです。IBM Turbonomic Application Resource Managementは、アプリケーションのパフォーマンスを損なうことなく、スタックのあらゆるレイヤーにおいて、コンピューティング、ストレージ、ネットワークリソースを継続的かつリアルタイムで最も効率的に活用する重要なアクションを自動化するIBMソフトウェアプラットフォームです。
アプリケーションの実行に必要なリソースだけを消費することで、使用効率が向上し、エネルギー・コストと二酸化炭素排出量が削減され、継続的に効率のある運用を実現できます。現在、お客様は IBM Turbonomic を活用してアプリケーションの需要をより深く理解することで、成長に伴う支出の回避を最大 70% 削減しています。最新のForrester TEI 調査を読み、データ センターとクラウドでアプリケーションのパフォーマンスを保証しながら、持続可能な IT 運用に対する組織の取り組みに IT がどのような影響を与えることができるかを確認してください。
グリーンコンピューティングを推進する最終的な重要な方法は、オンプレミスおよびクラウドデータセンター向けにエネルギー効率の高いITインフラを選択することです。例えば、IBM LinuxONE Emperor 4サーバーは、X86 Server上で同じワークロードに対してエネルギー消費を75%削減し、空間を50%削減できます。コンテナ化、インタープリタ/コンパイラの最適化、ハードウェア アクセラレータにより、グリーン コーディングを通じてエネルギー需要をさらに削減できます。