CNCFのサンドボックスプロジェクト、カオスエンジニアリングのLitmus Chaosを紹介

2021年7月1日(木)
松下 康之 - Yasuyuki Matsushita
CNCFのサンドボックスプロジェクトで、Kubernetesに特化したカオスエンジニアリングのLitmus Chaosを紹介する。

この記事では、CNCFのサンドボックスプロジェクトからLitmus Chaosを紹介する。素材は、ベアメタルプロバイダーのPacketでテクニカルエバンジェリストを務めるDavid McKay氏がホストする動画チャンネル、Rawkodeで公開されたセッションだ(Packetは2020年にEquinixによって買収されている)。

2021年3月2日に公開されたコンテンツは、約1時間半に渡る長尺だが、概要はLitmus Chaosの開発をリードするChaosNativeのCEOであるUmasankar Mukkara氏による前半の20分間に集約されている。後半はChaosNativeのエンジニアであるKarthik Satchitanand氏によるデモだ。

動画:Introduction to Litmus Chaos | Rawkode Live

公式サイト:Litmus - Chaos Engineering for Kubernetes

2020年8月に公開されたチュートリアル:Getting started with Litmus | Cloud-Native Chaos Engineering | Litmus Tutorials

Litmus Chaos開発の主体ChaosNative

ChaosNativeはOpenEBSの開発をリードするMayaDataからフォークしたベンチャー企業で、Mukkara氏はMayaDataのCOOというポジションだが、Litmus Chaosにフォーカスするために新たにChaosNativeを立ち上げて兼任しているそうだ。開発はオープンソースコミュニティを主体にして、ChaosNativeはエンタープライズ向けのサポートを提供するという立ち位置である。

Litmus ChaosによるChaos Engineeringとは何か?を解説

Litmus ChaosによるChaos Engineeringとは何か?を解説

カオスエンジニアリングの現状

ここでMukkara氏は現在のカオスエンジニアリングについて、基本的な実施方法は存在しているが、まだ専門家のためのものであり、大企業などでの限定的な利用に留まっていることを解説した。

カオスエンジニアリングの現状

カオスエンジニアリングの現状

これはもともとのカオスエンジニアリングが、AWSやNetflixなどの巨大なクラウドサービスベンダーから出てきたことに由来すると思われる。2021年時点ではクラウドネイティブはほぼKubernetesをベースにしたマルチクラウド、ハイブリッドクラウドなシステムを指しているという認識を筆者は持っている。AWSをベースにしたGremlinのように単一プラットフォームに限定したソリューションではなく、ユーザーが望んでいるであろうKubernetesに特化したカオスエンジニアリングを実装したのがLitmus Chaosだというのが、Mukkara氏の意図だろう。

カオスエンジニアリングを実行するのは特殊な例

カオスエンジニアリングを実行するのは特殊な例

このスライドではカオスエンジニアリングがどのよう実行されているのか? を解説するものだ。「ゲームデイ」はGremlinが提唱したカオスエンジニアリングを実行する日を総称するもので、ここでもGremlinに対する対抗意識が垣間見えるのが興味深い。また開発から本番環境へのデプロイをCI/CDとしてワークフロー化するのがクラウドネイティブな運用方法だが、カオスエンジニアリングはまだそのワークフローの中に組み込まれていないことを指摘している。

CNCFが提唱するクラウドネイティブなシステムへのトレイルマップでも、コンテナ化の次のステップとしてCI/CDが挙げられているのは、個々のテクノロジーの採用よりも開発から本番環境へのデプロイを自動化することを重要視しているからだ。

CNCFのトレイルマップの前半:コンテナ化の次はCI/CDを確立すること

CNCFのトレイルマップの前半:コンテナ化の次はCI/CDを確立すること

またObservabilityについても、カオスエンジニアリングに特化したカスタムビルドのソフトウェアが採用されており、通常のエンタープライズで利用されているツールが使えないという欠点を指摘している。

さらにカオスエンジニアリングがキャズムを超えたかどうか? については、Kubernetesがキャズムを超えたとしてそのKubernetesに特化したカオスエンジニアリングのソリューションであるLitmus Chaosもキャズムを超えるだろうと語った。

実際にこの後解説されるようにLitmus ChaosはKubernetesのカスタムリソースを使ったソリューションであり、設定もYAMLファイルというように限りなくKubernetesに寄せたシステム設計になっている。これは最近の流行りと言っても良いだろう。KubernetesのポリシーエンジンであるKyvernoや、Kubernetesのマルチクラスターを実装するCrossplaneなどにも通じる発想だ。

クラウドネイティブなカオスエンジニアリングのポイント

クラウドネイティブなカオスエンジニアリングのポイント

ここでMukkara氏はクラウドネイティブなカオスエンジニアリングの要点として、「オープンソースであること」「コミュニティによって開発されていること」「オープンなAPIであること」「GitOpsを実装できること」などを挙げて解説した。

Litmus Chaosは3つのポイントをクリア

Litmus Chaosは3つのポイントをクリア

そしてLitmus Chaosは前述の要件のうち、オープンソース、コミュニティによる開発、オープンなAPIをクリアしていると解説した。

Litmus Chaosの概要

Litmus Chaosの概要

Litmus Chaosのプロジェクトの概要を紹介したスライドでは、「CNCFのサンドボックスプロジェクトであること」「4万以上のインストレーションがあること」などを解説した。ここではMukkara氏が所属するChaosNative以外にAmazon、Intuitなどがメンテナーとして挙げられているのがポイントだろう。IntuitはLitmus Chaosの中で使われているArgoCDの開発元としても知られているように、Litmus Chaos自体も複数のオープンソースプロジェクトの成果をベースにしていることがわかる。

Litmus Chaosのユーザーの例

Litmus Chaosのユーザーの例

このスライドではLitmus Chaosのユーザーが列挙されているが、ドイチェバンク、HSBCなどの金融サービス、ドイチェテレコム、Orangeなどの通信サービスにおいても使われている。このような実績があるというのは、エンタープライズ企業にとっては良いニュースだろう。

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

サーバー技術解説

Tigeraのアドボケイトが、x86とARMのマルチアーキテクチャークラスターを解説

2022/4/7
ARMの優位性を解説しながら、ARMをx86クラスターに追加するマルチアーキテクチャークラスターを、デモを用いて解説。
システム開発イベント

KubeCon NA 2021からサービスメッシュの2セッションを紹介

2022/3/18
KubeCon NA 2021からサービスメッシュのLinkerdの最新情報とIstioを使ったユースケースのセッションを紹介する。
セキュリティイベント

KubeCon NA 2021、ソフトウェア開発工程のタンパリングを防ぐSLSAを解説

2022/3/9
KubeCon NA 2021のプレカンファレンスから、ソフトウェアサプライチェーンを実装するフレームワークSLSAを取り上げたセッションを紹介する。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています