Linuxが主流のカオスエンジニアリングをWindowsで実現するGremlin

カオスエンジニアリングとは、システムのワーストケースのシナリオを作ってテストし、オペレーティングシステムが落ちる原因を事前に調べる作業だ。従来は、もっぱらLinuxのサーバーが対象だった。カオスエンジニアリングをSaaSとして提供しているGremlin(グレムリン)はWindowsのシステムで仕事をしているエンジニアが同様の実験ができる新たなツールをリリースした。

Gremlinの共同創業者でCEOのKolton Andrus(コルトン・アンドラス)氏によると「今年で創業4年目になる同社は、Linuxのサポートでスタートし、その後DockerのコンテナとKubernetesへ移行した。しかし、当時からWindowsのサポートを求める声が多かった。そこで同社は、Windowsのサポートも加えるべきと決断した」とのこと。

アンドラス氏は「『実は同じタイプのエラーであっても、オペレーティングシステムによって違う現象のように見える。違う対応をしなければならないのではないか』と思う。そして、それが盲点になる。そこでGremlinは、いろんな実験の1つひとつにプライオリティを付け、Windowsを使っている人たちが最も必要とするタイプの実験を上位に置く」と説明する。

「Windowsの場合上位に置くのは、顧客がコンピューターの前に座ったらすぐに使えることを期待する、一連の重要な能力だ」とのこと。そこで、GremlinのWindowsエージェントを使ってエンジニアは、シャットダウンやCPU、ディスク、I/O、メモリ、そしてレイテンシ攻撃を実験できる。実は、世界中のサーバーの3分の1はWindows上で動いている。しかしそれらのシステムをこのようにテストできる能力があるのは、自社のサーバーシステムを内製する能力のある企業に限られている。

GremlinがWindowsのためにやることは、同社がサポートしているほかのシステムと変わらない。どんな企業でもカオスエンジニアリングを利用して、システムのエラーを防げるようにする。新型コロナウイルスのパンデミックの間は、一部のシステムにトラフィックが集中して過負荷になることもあるので、ワーストケースシナリオにはその実験も入れて、システムが落ちたときでも原因を把握していることが重要だ。

GremlinのWindowsエージェントは、同社にとってサポートするオペレーティングシステムのレパートリーが増えるだけでなく、同社の収益源を広げる。経済の先行きが見えない今は、そのこともますます重要だ。

同社は、サンフランシスコで2016年に創業したスタートアップ。Crunchbaseのデータによると、これまでに2600万ドル(約28億円)あまりを調達している。その大きな部分である1800万ドル(未訳記事)は(約19億円)は2018年に調達した。

関連記事:カオスエンジニアリングの対象をKubernetesクラスターに拡張したGremlin

[原文へ]

(翻訳:iwatani、a.k.a. hiwa

カオスエンジニアリングの対象をKubernetesクラスターに拡張したGremlin

10年前にAmazonとNetflixがカオスエンジニアリングを開発した。これは両社のようなネット企業に起きるかもしれないワーストケースを、実際に起きる前にテストする方法だ。両社の社員だったある人物がその実装としてGremlinを立ち上げ、Site Reliability Engineers(SREs)のチームがいなくても大規模プラットホームのテストを実行できるようにした。そしてGremlinは米国時間11月18日、Kubernetesのクラスターに対してもカオスエンジニアリング的なテストをサポートすると発表した。

同社はその発表を今週サンディエゴで行われているKubernetesのカンファレンスKubeConの冒頭で行った。

Gremlinの共同創業者でCEOのKolton Andrus(コルトン・アンドラス)氏によると、そのサービスはKubernetesのクラスターを、エラーを起こさないようにあるいはその可能性を下げるためにテストし構成することが目標だ。彼によると、Kubernetesのクラスターであろうとなかろうと、ライブの環境でミッションクリティカルなシステムを極端に過酷な状況に置いてテストするカオステストが重要とのこと。しかし、しかしそのようなテストには危険も伴う。そこでリスクを最小限に抑えるためのベストプラクティスとして、重要な情報が確実に得られる範囲内でテストの規模を最小にする。

アンドラス氏は「必要最小限のクラスターだけをテストする。そしてそれらの部分にエラーがあったらKubernetesに何が起きるか、実際にエラーを起こして理解する。例えば、スケジューラーが休止したら何が起きるだろうか。目標は人々がいわゆる爆発半径を知ることだ。そして実験を安全に行えるようガイドしていく」と語る。

さらにGremlinは、Kubernetesのクラスターに一連のベストプラクティスで焼きを入れて頑丈にし、エラー耐性を増す。「Gremlinには、この種のテストを実行するために必要なツールはあるが、これまでにとても多くの顧客との対話や彼らの実験から学んだのは、クラスターを本当にフォールトトレラント(エラー許容性)にしレジリエント(エラー耐性)にするためには、クラスターのチューニングや正しい構成が必要なことだ」とアンドラス氏。

Gremlinのインターフェイスは、このようにターゲットに合わせた実験ができるようになっている。テストをしたい部分を指定すると、どこをテストしているかを視覚的に表示する。そして、制御不能の状況になったら、キルスイッチでテストを停止できる。

GremlinがKubernetesをテストしている(スクリーンショット提供: Gremlin)

Gremlinは、2016年にローンチした。本社はサンノゼにある。プロダクトは、フリーミアムと有料制の両方がある。Crunchbaseのデータによると、同社はこれまで2700万ドルを調達している。

関連記事:How you react when your systems fail may define your business(ビジネスの生死を握るのは危機管理だ、未訳)

[原文へ]

(翻訳:iwatani、a.k.a. hiwa