デジタルなものは、物理的な実体のない、とらえどころのないものと思われがちです。しかし、デジタルサービスはエネルギーを必要とする物理的なサーバーの上で実行されており、大半のエネルギーは依然として化石燃料を燃やすことで産出されています。つまり、デジタルサービスは二酸化炭素排出と地球温暖化に対し、まさに現実的な影響を与えているのです。その影響はどんなものか、影響を最小限にとどめるには何ができるか。Green Web Foundationのクリス・アダムス(Chris Adams)氏が36C3で行った講演は、それがメインテーマでした(リンク先は英語)。
大手IT企業はすでに自社の二酸化炭素排出量を測定している
まずは数字の話から。最大手のIT企業による影響を見てみましょう。Amazonは先頃より二酸化炭素排出量データを公開するようになりました(英語記事)。2018年の二酸化炭素排出量は44.4メガトン、これは同年のフィンランド全体の排出量と同程度です。Amazonの排出量の大半は、第三者による排出です(商品の梱包や輸送に起因するもの、出張時の移動に伴う排出など)。
Appleの2018年の二酸化炭素排出量は25.2メガトンで、モンゴルの排出量と同程度でした(リンク先は英語)。ただし、Appleブランド製品の製造に伴う排出量を算入しなければ、Apple本体の排出量は0.6メガトンです(ガンビア共和国の同年の排出量と同程度)。そのうち半分は出張時の移動に伴う排出、残りのうち30%は社員の通勤に伴う排出です。Googleの二酸化炭素排出量はやや多く、1.2メガトンで、リベリアの排出量と同程度です。
ご覧のとおり、IT企業は二酸化炭素排出に多大な影響を与えています。環境への影響を最小限にするために、企業は自社のITインフラに対して何ができるでしょうか?
1. 拡張性のあるアーキテクチャを使用する
クラウドコンピューティングの隆盛に伴い、多くの企業がインフラをクラウドへ移行するようになりました。クラウドインフラの使用に当たっては、企業の現在のピーク負荷を確実に上回る常時接続サーバーをレンタルするのが一般的です。
しかし、人々のインターネット(そして企業のサービス)の利用量は一日の中でも時間帯によって異なるため、負荷に大きなばらつきが生じます。夜間の負荷は、おそらく日中の負荷より格段に低いはずです。自社が提供するサービスに関する負荷のばらつきについては、分析ツールを使って明確に把握できますが、全体的な概要としては以下のようになります。
そこで拡張性がポイントになってきます。拡張性のあるアーキテクチャを使用したソフトウェアの場合、負荷分散機能によって、受信リクエストの数に応じて自動的に1台のマシンのコンピューティング能力を増強したりサーバーを増強したりできます。その結果、アイドル状態のサーバーに電力(そして資金)を無駄に費やさずに済みます。
大半のクラウドプロバイダーは、水平分散と垂直分散いずれの負荷分散機能も提供しています。もちろん、負荷分散機能を利用するためにはサービスを構築する際に拡張性を考慮に入れておく必要がありますが、使用を開始した後は、大幅なコスト削減とクラウドインフラによる二酸化炭素排出量の低減を達成できることでしょう。
2. より環境に優しいプロバイダーを利用する
クラウドプロバイダーのエネルギー供給源は、さまざまです。そもそもエネルギー源の選択は、その地域の電力サービスがおかれている全般的な状況に依存します。たとえばスウェーデンなどの地域では、主として風力発電や水力発電といった再生可能エネルギー源を利用しています。フランスなどでは原子力発電を大いに利用しており、これも比較的環境に優しい選択です。ポーランドなどのように、大半のエネルギーを石炭燃焼から得ている地域もあります。
そのため、企業の二酸化炭素排出量は、企業が利用するクラウドを提供するデータセンターがどこにあるかによって異なります。一般的に言って、Amazon Web Services(AWS)やMicrosoft Azureなどの大規模なサービスの方が、小規模なところよりも環境の持続可能性に注意を払う傾向にあります。
たとえば、AWSを利用する場合、利用するデータセンターの物理的な場所を選択することができます。以下は、環境に優しいエネルギーを使用しているデータセンターとそうでないデータセンターを示した、AWSのデータセンターのマップです。
Microsoftは、科学者グループと協力して、二酸化炭素排出削減を目的としたKubernetesスケジューラーを考案することまでしています。このスケジューラーは、簡単に言うと、より環境に優しい電力の使用を増やして二酸化炭素排出量を最小限に抑えるため、企業のタスクを世界中のデータセンターに動的に移動させるツールです。このツールを移植して他のクラウドプロバイダーと連携させることも可能です。
環境に優しいITを利用するためにはAWSやAzureを選択しなければならないかと言えば、そうではありません。Green Web Foundationは、環境に優しいエネルギーを使用している小規模プロバイダーのリストを公開しています。ただし小規模といっても、通常、自社のハードウェアでコンピューティングを実行することは環境保護の観点から見て望ましくありません。クラウドシステムを利用した方が、より均等なタスク分散が実現し、エネルギーの節約につながります。
3. プログラミング言語を賢く選ぶ
プログラミング言語は、ロジック、構文、機能など多くの点でさまざまであり、リソース消費の点でも違いがあります。JavaScriptやPythonといった言語で書かれたスクリプトは、Fortran、C++、Rustなどの言語で記述されたコンパイル済みプログラムに比べてリソース消費が多い傾向にあります。また、オブジェクト指向言語の方が、命令型言語よりも多くのリソースを消費します。リソース消費が多いということは、電力消費も、ひいては二酸化炭素の排出量も多いということです。
ただしここで注意したいのは、処理が速いことと環境に優しいことがイコールではない点です。場合によっては、プログラムの実行時間が長くても消費エネルギーが少ないこともあります。時間、メモリ、エネルギーそれぞれの面で効率性の高い言語について、詳しくはこちらの記事で解説されています(英語)。
もちろん、プログラミング言語を選ぶときに決め手となるのは、実行するタスクの内容、作業要員のスキルレベル、技術スタックのその他部分であることが多いと思いますが、電力面を考慮に入れるのも一案です。たとえば、JavaScriptで書かれたプログラムはC言語で書かれたプログラムに比べてコンピューティングリソースの消費が2倍になる可能性があることは、一考に値するでしょう。
言うまでもないことですが、どの言語を選ぶにしても、コードの最適化は二酸化炭素排出量の削減と同時に、処理速度の向上と電力消費の低減にも役立ちます。自社ソフトウェアをプロファイリングして非効率な部分を書き換えることで、大きな効果を得られる可能性があります。
4. Webページを最適化する
最近になって、平均的なWebページのサイズが初代「Doom」のダウンロードサイズを上回り、3メガバイトを超えました。ページのサイズが大きいほど、ページをサーバーからクライアントに転送してクライアント上で表示するためにかかる電力は大きくなります。二酸化炭素排出量に大した影響はないと思われるかもしれませんが、Green Web Foundationは違う考えを持っています。
たとえば、Green Web Foundationの調査では、Webページでバックグラウンド動画を実行すると、同プロジェクトチームの通勤に伴って排出されるのと同程度の二酸化炭素が排出されることが明らかになりました。Appleの総排出量の30%が社員の通勤に伴うものだったことを考えると、規模の大きさが分かります。
比較の例をもう1つ挙げれば、インターネット上でストリーミングされる動画に伴う二酸化炭素排出量は、スペインと同程度です(余談ですが、そのうち27%を占めるのはアダルト動画で、オーストリアの排出量と同程度です)。したがって、最適化の第一歩は動画を自動再生しないことです。
最適化にはさまざまなツールを利用できます。たとえばGoogle Lighthouseは、パフォーマンス最適化、アクセシビリティ、ベストプラクティスの使用、SEO最適化という4つの観点からWebサイトを評価します(リンク先は英語)。パフォーマンスは実際、検索エンジンでの表示順位や直帰率など、すべての面に関わる要素です。
Green Web FoundationもGreenhouseというツールを公開しています(リンク先は英語)。これは、Webページを解析し、使用されているドメインのうちどのドメインで再生可能エネルギーが使用されているかをチェックするツールです。最適化という面ではLighthouseほど有用ではないものの、環境保護に対する意識の高い組織にとっては、サービスプロバイダーを選択する際に役立つかもしれません。
The Green Web Appというツールは、自社のサイトが環境に優しいエネルギーを使用するサーバーにホストされているかどうかをチェックすることができます(リンク先は英語)。残念ながら、使用している電力が環境に優しいかどうかの情報を公にしているホスティングプロバイダーは多くないため、自社サイトがどれほど環境に優しいのか、はっきりとは判定できないかもしれませんが。
地球を大事にしながらお金も大事にする
一部の人や組織にとっては、地球温暖化防止は上記のような最適化の対策を講じるだけの理由になりますが、そのようには考えない人や組織が多いことも事実です。とはいえ、ITの分野では、環境を大事にすることがお金を大事にすることにもつながることが多いものです。
地球を大事にするという考えだけでは話がうまく進まない場合、環境に優しいITへの移行には以下のようなメリットもあることを訴えれば、上司を説得できるかもしれません。
- ホスティングやコードを最適化すると、必要なコンピューティング能力が少なくなり、それにかかるコストも削減できる。
- Webサイトの読み込みも速くなるため、サイトが完全に読み込まれるのを待ちきれずに閉じてしまう顧客が少なくなる。
- Webサイトの読み込みが速いほど、検索エンジンで上位に表示されるため、より多くの顧客の目に留まりやすくなる。