CNCFのサンドボックスプロジェクト、カオスエンジニアリングのLitmus Chaosを紹介
![](https://thinkit.co.jp/sites/default/files/styles/main_image_730x/public/main_images/18507_main.jpg?itok=2ypYWGHw)
この記事では、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はエンタープライズ向けのサポートを提供するという立ち位置である。
カオスエンジニアリングの現状
ここでMukkara氏は現在のカオスエンジニアリングについて、基本的な実施方法は存在しているが、まだ専門家のためのものであり、大企業などでの限定的な利用に留まっていることを解説した。
これはもともとのカオスエンジニアリングが、AWSやNetflixなどの巨大なクラウドサービスベンダーから出てきたことに由来すると思われる。2021年時点ではクラウドネイティブはほぼKubernetesをベースにしたマルチクラウド、ハイブリッドクラウドなシステムを指しているという認識を筆者は持っている。AWSをベースにしたGremlinのように単一プラットフォームに限定したソリューションではなく、ユーザーが望んでいるであろうKubernetesに特化したカオスエンジニアリングを実装したのがLitmus Chaosだというのが、Mukkara氏の意図だろう。
このスライドではカオスエンジニアリングがどのよう実行されているのか? を解説するものだ。「ゲームデイ」はGremlinが提唱したカオスエンジニアリングを実行する日を総称するもので、ここでもGremlinに対する対抗意識が垣間見えるのが興味深い。また開発から本番環境へのデプロイをCI/CDとしてワークフロー化するのがクラウドネイティブな運用方法だが、カオスエンジニアリングはまだそのワークフローの中に組み込まれていないことを指摘している。
CNCFが提唱するクラウドネイティブなシステムへのトレイルマップでも、コンテナ化の次のステップとしてCI/CDが挙げられているのは、個々のテクノロジーの採用よりも開発から本番環境へのデプロイを自動化することを重要視しているからだ。
またObservabilityについても、カオスエンジニアリングに特化したカスタムビルドのソフトウェアが採用されており、通常のエンタープライズで利用されているツールが使えないという欠点を指摘している。
さらにカオスエンジニアリングがキャズムを超えたかどうか? については、Kubernetesがキャズムを超えたとしてそのKubernetesに特化したカオスエンジニアリングのソリューションであるLitmus Chaosもキャズムを超えるだろうと語った。
実際にこの後解説されるようにLitmus ChaosはKubernetesのカスタムリソースを使ったソリューションであり、設定もYAMLファイルというように限りなくKubernetesに寄せたシステム設計になっている。これは最近の流行りと言っても良いだろう。KubernetesのポリシーエンジンであるKyvernoや、Kubernetesのマルチクラスターを実装するCrossplaneなどにも通じる発想だ。
ここでMukkara氏はクラウドネイティブなカオスエンジニアリングの要点として、「オープンソースであること」「コミュニティによって開発されていること」「オープンなAPIであること」「GitOpsを実装できること」などを挙げて解説した。
そしてLitmus Chaosは前述の要件のうち、オープンソース、コミュニティによる開発、オープンなAPIをクリアしていると解説した。
Litmus Chaosのプロジェクトの概要を紹介したスライドでは、「CNCFのサンドボックスプロジェクトであること」「4万以上のインストレーションがあること」などを解説した。ここではMukkara氏が所属するChaosNative以外にAmazon、Intuitなどがメンテナーとして挙げられているのがポイントだろう。IntuitはLitmus Chaosの中で使われているArgoCDの開発元としても知られているように、Litmus Chaos自体も複数のオープンソースプロジェクトの成果をベースにしていることがわかる。
このスライドではLitmus Chaosのユーザーが列挙されているが、ドイチェバンク、HSBCなどの金融サービス、ドイチェテレコム、Orangeなどの通信サービスにおいても使われている。このような実績があるというのは、エンタープライズ企業にとっては良いニュースだろう。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- KubeCon+CloudNativeCon NA 2020 IntuitとMayaDataによるカオスエンジニアリングのセッション
- CI/CDから障害の復旧までハイレベルの運用自動化を実現するKeptnとは
- KubeConサンディエゴ最終日のキーノートはカオスエンジニアリング
- KubernetesネイティブなポリシーエンジンKyverno
- カオスエンジニアリングのOSS、LitmusChaosの概要を解説するCNCFのウェビナーを紹介
- Oracle Cloud Hangout Cafe Season5 #5「実験! カオスエンジニアリング」(2022年5月11日開催)
- 分散処理システムの検証をサービスとして提供するJepsenに注目
- Red HatがOpenShift向けカオスエンジニアリングツールKrakenを発表
- CNDT 2022、ChatworkのSREがSLO策定にカオスエンジニアリングを使った経験を解説
- KubeCon NA 2020、サービスメッシュのLinkerdの概要とユースケースを紹介