KubeCon Europe 2023共催のLinkerd Dayからアディダスの事例セッションを紹介

2023年4月にアムステルダムで開催されたKubeCon+CloudNativeCon Europe 2023の共催イベントで、サービスメッシュのLinkerdに特化したLinkerd Dayを紹介する。この稿ではスポーツ用品の大手アディダスが、Linkerdを使ってアプリケーション間のネットワークを実装したセッションを紹介する。タイトルは「Zero-Cost Linkerd at Adidas:Impossible is Nothing」、セッションを行ったのはDaniel Baeyens氏とMiguel Allende氏だ。Baeyens氏はシニアプラットフォームエンジニア、Allende氏はサイトリライアビリティエンジニアという肩書きだ。

●動画:Zero-Cost Linkerd at Adidas: Impossible Is Nothing

Linkerd Dayでアディダスのユースケースを解説するセッション

アディダスの創業者であるAdi Dasslerの言葉を引用、「自身の行いに対してクリエイティブで自立した上で責任を取るようにせよ」という意味だが、IT部門でもその発想が活かされていると紹介した。

創業者Adi Dasslerの言葉を紹介

このセッションの対象としているのは、社内のシステムの内、Eコマースに対してLinkerdを導入したという部分だ。背景の説明としてアディダスのEコマースの成長が著しいということを、2006年と2022年の売上から解説した。ここでは売上が1億ユーロから4億ユーロに増加していることを示した上で、そのプラットフォームとしてKubernetesが最初に挙げられている。

アディダスのEコマースの売上が2006年から2022年で4倍以上になっている

そしてその成長を支えるプラットフォームを説明するために使ったのが以下のスライドだ。ここでは中核のコンテナの部分にKubernetes、データ分析としてKafka、AWSをランディングページとして使い、オブザーバービリティ、CI/CD、セキュリティとそれぞれの領域に使われているソフトウェアのロゴが並んでいる。インターネットからのトラフィックを受け付ける部分にはKongのAPI Gateway、認証にはCert Manager、オブザーバービリティにはGrafana、そしてセキュリティにはVenafiなどが確認できる。

システムに使われているコンポーネントを図解で解説

中核となるLinkerdについては、Kong API Gateway(NGINX)を経てLinkerdがサービスメッシュを実装していることがわかる。

コンテナクラスターの中核にLinkerdのサービスメッシュ

また認証情報の部分にはVenafiが使われていることが何度も語られているが、Venafiは「マシンアイデンティティ管理の発案者」というタグラインで説明されている認証情報管理の企業だ。アディダスの認証の多くの部分をカバーしているように見えるが、ここでは深い解説はされなかった。

●参考:Venafiの公式サイト

Venafiの認証を中核にした認証システムの図解

またオブザーバービリティについては、LinkerdからPrometheus経由で採取されたデータがKafka経由で集約され、Grafanaで可視化されるというシステムのようだ。

Linkerdから採取したデータがKafkaを経由してGrafanaで可視化

またトレーシングについてもOpenTelemetryを使って収集されていることがわかる。ログに関しては特に説明がなかったが、Kafkaの中で分析されるファストデータという扱いなのだろうか。

トレーシングはOpenTelemetry

ここからLinkerdの導入に伴って「コミュニティへの貢献」というタイトルのスライドで語られているのは、発見したバグに関する内容だ。RSAの認証情報がLinkerdでエラーになったこと、マルチテナントにおいてLinkerdが過剰な権限を要求する状況だったこと、そしてCert ManagerのCLIに必要な機能が不足していたことなどを挙げて、それらを解消する修正をコミュニティに対して行ったという意味だろう。

Linkerd関連のバグ修正を通じてコミュニティに貢献

コミュニティに対する貢献という部分は次のスライドでも強調されている。コミュニティの中でコミュニケーションを取ろう、Pull Requestを送ろう、そして失敗談を公開しようなどが挙げられている。特に失敗談については、失敗したことそのものよりも「そこからどのように挽回したのか?」がクラウドネイティブなシステムにおいては最も重要なポイントだろう。

失敗談をコミュニティで共有しようと語る

そしてアディダスの次世代のEコマースプラットフォームであるCommerce Nextについて解説を行った。ここでもLinkerdが重要なコンポーネントとして活用されることが語られているが、Linkerd活用の一番大きなポイントとして最初に挙げられているのがオブザーバービリティという部分が興味深い。Linkerdが容易に導入、運用できるという点はすでに当たり前ということだろう。

アディダスの次世代EコマースプラットフォームでのLinkerd活用

次のスライドでは、Linkerdの機能的な部分ではなく組織的な側面に関する内容になっていることに注目したい。

Linkerdを活用するために小さなチーム(2名)が片手間で行ったと解説

ここでは数多く存在するプロジェクト、アプリケーションについて1四半期に1サービスをLinkerd化することを目標に挙げていると解説し、チーム構成も2名という最小構成でしかも専任ではないということを解説している。最後の部分は「Linkerd.io/inject」というアノテーションを追加するだけでLinkerdを使い始めることができることが示されている。ここでやっと簡単に導入できることを解説したが、Linkerd Dayに参加するエンジニアにとっては当たり前過ぎる内容だったのかもしれない。

Linkerdによって得られた効果を概観

このスライドではLinkerd導入による効果を解説しているが、オブザーバービリティは向上したがまだ全体のシステムをカバーできていないことが示されている。しかしパフォーマンスに関するインサイトは獲得できたこと、メトリクス、アラートの獲得、リトライの実装などが効果として得られたと解説している。

これからやるべきことを列挙

次世代Eコマースプラットフォームにおいてまだ実現できていないこととして、クラスター間のコミュニケーション、トラフィックスプリット、レートリミット、サーキットブレーカーなどが挙げられている。トラフィックスプリットについてはChaos Monkeyの名前が挙げられていることから、カオスエンジニアリングの応用も視野に入っているようだ。

アディダスにおけるLinkerd導入のまとめ

最後にまとめとしてLinkerd導入については2名のエンジニアが15%の時間を使うだけで可能となったこと、オブザーバービリティが向上したこと、将来のサーキットブレーカー、クラスター間のフェイルオーバーなどの実装についての知識が得られたことに加えて、コスト削減が挙げられていることに注目したい。まだアディダスが思う完成型には届いていないものの、そこに至る道筋は見えているということを示しているまとめとなった。

全体的にすでにLinkerdを使っているユーザーにとっては目新しいことがない内容だったかもしれないが、2名という最小チームで15%の時間を使って四半期に1サービスずつ導入するという慎重な進め方でも確実に効果が出るという部分は、サービスメッシュ導入をためらっているエンジニアの後押しをする内容だったと言えるのではないだろうか。

マルチクラスターのコミュニケーションをLinkerdによって行いたいというニーズは確実に存在しているようで、実際今回のLinkerd Dayでは「Cost-Efficient Multi-Cluster Monitoring with Prometheus, Grafana & Linkerd」と題されたセッションで解説が行われている。

●参考:Cost-Efficient Multi-Cluster Monitoring with Prometheus, Grafana & Linkerd

Original Post>

人気ギフトランキング 15/09

Leave a Reply