持続可能性は極めて重要である
サステナビリティは極めて重要です。それは、私たちが良き企業市民でありたいからというだけでなく、お客様もまた、サステナブルなパートナーとの協業を強く望んでいるからです。私たち全員が、この地球の環境悪化を防ぐことを願っています。そして、GumGum Engineeringでは、このことを非常に真剣に受け止めています。
GumGumのエンジニアリング部門が、エンジニアリングのさまざまな側面におけるサステナビリティの取り組みを強化するために実施している施策について解説するブログ記事シリーズを公開していきます。
炭素排出量以外のKPIの必要性
端的に言えば、持続可能性を実現するということは、二酸化炭素排出量を削減することを意味します。これは私たちにとっては極めて明白なことですが、会社が急成長している場合、その実現は少々難しい問題となる可能性があります。会社が成長し、トラフィックが増加すれば、当然ながら使用するサーバーの数も増え、その結果、環境への二酸化炭素排出量も増加することになります。
以下は、過去15か月間にわたる、あるAWSリージョンにおける当社のコンピューティングリソースの増加状況を示すグラフです:

成長を続けながら二酸化炭素排出量の抑制に取り組むためには、バランスが不可欠です。だからこそ、成長の度合いにかかわらず、二酸化炭素排出量が確実に削減されていることを明確に示せる指標をいくつか設定することが重要なのです。
まずは、以下のKPIを参考にしてください:
サプライサイドプラットフォーム(SSP)のKPI
当社にはかなり大規模なサプライサイドプラットフォームがあり、1日あたり数十億件のインプレッション/入札リクエストを受け付けています。世界中に分散する数百台のサーバーが、これらのリクエストを処理しています。当社はこれらを「インベントリリクエスト」と呼んでいます。
こうした在庫に関する要求は、あらゆる企業のインフラに存在する炭素排出の3つの主な要因に影響を及ぼします:
- 演算
- ストレージ
- データ転送
在庫リクエストの処理には「演算」またはCPUが使用されます。在庫リクエストは、当社のKafkaやS3、さらには需給パートナーにも転送されるため、クラウド内外でかなりの量のデータ転送が発生します。また、この在庫リクエストは分析やレポート作成のためにS3に保存されるため、ストレージが消費されます。
したがって、成長を維持しつつ炭素排出量を削減する一つの方法は、在庫照会1件あたりに必要な演算処理、ストレージ、およびデータ転送量を削減することです。これにより、以下の3つのKPIが導き出されます:



これらのKPIは良い出発点ではありますが、あくまで二酸化炭素排出量の代用指標に過ぎません。ここで理想的なKPIといえば、インベントリリクエスト1件あたりの二酸化炭素排出量でしょう。
なぜプロキシ指標で十分なのか――少なくとも短期的には?
炭素排出量の測定における主な課題は、単にそのデータが入手できないという点です。AWSの「Carbon Footprint」ツールには、6か月前のデータしか掲載されていません。AWSがデータを改善するのを待つという選択肢は、私たちにはあり得ないと考えています。ThoughtWorksの「Cloud Carbon Footprint」など、オープンソース分野を含め、利用可能なツールは数多くあります。しかし、このツールはコンピューティング関連の二酸化炭素排出量をかなり正確に測定できるものの、データ転送に伴う排出量を正確に測定することはできないと考えています。同じ理由から、AWSのインスタンスタイプに二酸化炭素排出量の数値を割り当てることも望んでいません。
この手法の最大の問題点の一つは、炭素排出量がAWSのリージョンや再生可能エネルギー源の利用状況によって変動することです。AWSは炭素排出量の削減に継続的に取り組んでいるため、こうした数値を算出するために用いられる経験則は、正確なものとはならないでしょう。
だからこそ、代理指標の方がはるかに有用なのです。測定が容易で、現在CloudWatchでも利用可能であり、方向性としては正確です。つまり、単にコンピューティングリソースの使用量を減らせば、二酸化炭素排出量を削減できたと言えるのです。もちろん、ここにはいくつかの例外ケースが存在し得ることは承知しています。 例えば、一部のワークロードがGraviton CPUからIntel CPUに移行した場合、理論上はCPU使用率を削減しながら、実際にはカーボンフットプリントが増加する可能性もあります。しかし、私たちはコスト意識の高いエンジニアリングチームであるため、このような事態が当社の環境で発生することは稀であると考えています。
結論
上記のような明確で測定可能な指標を設定すれば、各チームの二酸化炭素排出量削減の成果を評価するのが非常に簡単になります。これらの3つのシンプルな指標をエンジニアリングチーム全体に周知徹底し、チームごとに目標を設定することも可能です。よく言われるように、「Keep it Simple Stupid(シンプルに、バカみたいに)!」ですね。
{{cta-1}}




