1分で分かる!カオスエンジニアリングとは?
ねぇねぇ、ジャバード先生。なんでシステム障害ってなくならないの?
ことりん君、いい質問だね。たしかに最近ニュースでもシステム障害が取り上げられることが多いよね。
そうそう。銀行だとか交通機関のチケットだとか…。システム開発なんて最近はじめたことじゃないのにさ。
そうだね。でもね、ことりん君の目には見えていないかもしれないけど、システム開発を取り巻く環境というのは、ここ数年で大きく様変わりしているんだよ。
そうなの?
うん。まずは、システムの数自体が爆発的に増加しているからね。DX化なんて言葉もあるけど、IT業界とそうではない業界の境界は、もはや存在しないといっても過言ではないんだよ。
なるほどねぇ。
あとはクラウドサービスを利用することによって、システムが分散的になったという点も関係あるかもね。
分散的って?
ふむふむ。
まぁ、簡単にいうとシステムは昔よりも、より複雑ですべてを把握しづらい状態になっているんだよ。
それは大変そう…。でも、それだと対策できないってこと?
いやいや、そんなことはないよ。最近は複雑で分散的なシステムを、より安定的に運用するためにカオスエンジニアリングという手法を採用するところも増えているみたいだよ。
カオスエンジニアリング?
そう。カオスエンジニアリングはNetfilixが生み出した手法の1つで、わざと人為的にシステム障害を発生させて、実際に取った対応を検証し改善へつなげていきましょうというものなんだ。
わざとシステム障害…?聞いただけでもゾッとするね…。
あ、もちろん本番環境で直接やる必要はなくて、多くの場合はテスト環境で実施することが多いみたいだね。
じゃあ安心だね!でもさ、仮にシステム障害を起こして、それが本当にシステムを安定的にする効果があるのかな?
ことりん君は避難訓練ってやったことある?
避難訓練?もちろんあるよ!
避難訓練ってさ「訓練」と思いながら対応するより、「実際に何か起きているのかも?」と考えて行動したほうが、より良い経験になるよね。
たしかにそうだね!
カオスエンジニアリングもそれに近いイメージなんだよ。エンジニアのみんなが予測できないような問題を発生させ、実際にその問題に対するアクションを検証することで、対応力も身につくというわけだね。
そんなことやっているんだね。全く知らなかったよ。
日本でカオスエンジニアリングを実施している企業は、まだまだ少ないからね。きっとこれから増加していくとおもうよ。
ジャバード先生ありがとう!カオスエンジニアリングについてよく理解できたよ!
カオスエンジニアリングとは?採用に役立つ基礎知識
カオスエンジニアリングは、システムの挙動を検証する手法の1つであり、Netflixが生み出したものです。
通常、システムの挙動を確認するテスト(結合・総合)という工程は、あらかじめ定義した確認項目に対して、結果の期待値が正しいかといった検証を行います。
一方、カオスエンジニアリングは、わざとシステムの障害などを引き起こし、不安定な状態に陥らせた上で、その対応を検証します。実際にどういう障害が発生するか、原因がどこにあるのか、影響範囲がどの程度なのかが不明な状態というのがポイントです。
カオスエンジニアリングによって、本番環境で不測の事態が発生した場合も、安定して運用できるナレッジやノウハウを得ることができるようになります。
カオスエンジニアリングを使うエンジニア
カオスエンジニアリングには、さまざまなエンジニアが関係します。
システムの自動化や問題発生時の対応などをミッションとするSREエンジニア、インフラ(サーバー)エンジニアやインフラ(ネットワーク)エンジニアなどのようなインフラエンジニア、もちろんアプリケーションを開発するエンジニアも含まれます。
カオスエンジニアリングを使うエンジニアの特徴と在籍業界
カオスエンジニアリングは既にさまざまな企業が実践しています。前述したNetflixはもちろん、Google、Microsoft、Slackも該当します。日本ではクックパッドやJCBがカオスエンジニアリングを実践していることを公表しています。
そのため、カオスエンジニアリングに明るいエンジニアも、さまざまな業界に在籍しているといえます。
採用する時に知っておくとよいこと
カオスエンジニアリングの知見を持つエンジニア
日本でカオスエンジニアリングを導入している企業は、まだ少ないのが実情です。ただし、近年では増加傾向にあります。
昔と比較すると、システムは複雑性を増しています。また、クラウドサービスの普及により、システムに関するすべての状態や挙動を完全に把握することは難しくなっています。このようなポイントを考えると、今後さらにカオスエンジニアリングの需要は増していくはずです。
一方、カオスエンジニアリングの知見を持つエンジニアの絶対数は少ない点は認識しておきましょう。
求人のポイント
求人を作成する時は、下記の内容を求人に入れるとよいです。
1システム(サービス)の詳細
※特にそのシステム(サービス)をなぜ作っているのかを熱量をもって記載する。
2開発環境
3現在のエンジニア組織の体制
4現行システムの課題と募集の背景
5求められる業務と期待値
6エンジニアとしてのスキルアップ支援制度の有無と詳細
7エンジニアチーム内での相互成長のための仕組み(勉強会やLT会など)の有無と詳細
8選考フロー
9待遇
10キャリアパス
カオスエンジニアリングの豆知識
カオスエンジニアリング関連の資格
カオスエンジニアリングに関連する資格としては以下のようなものがあります。
GCCEP / GCCEPro
GCCEPとGCCEProは、カオスエンジニアリングツールであるGremlinの知識やスキルを問われる認定資格です。GCCEPとはGremlin Certified Chaos Engineering Practitioner、GCCEProとはGremlin Certified Chaos Engineering Professionalであり、GCCEProを受験するためには、GCCEPのコースを修了している必要があります。
参考:GCCEP
カオスエンジニアリング関連のイベント
カオスエンジニアリング関連のイベントとしては、以下のようなものがあります。
CloudNative Days
CloudNative Daysは、クラウドネイティブに関する最新事例やナレッジの共有を目的とした大規模なテックカンファレンスです。2021年のイベントでは、Microsoft社、Red Hat社、GMOインターネットグループをはじめ、そうそうたる顔ぶれがスポンサーに名を連ねています。
参考:CloudNative Days Tokyo 2021
Chaos Engineering 2022
Chaos Engineering 2022は、カオスエンジニアリングに関するグローバルなオンラインイベントです。基調講演には、Microsoft社とAWS社といった大手クラウドサービス事業者をはじめ、各クラウドサービスのカオスエンジニアリングツールを開発するGremlin社などのメンバーが登壇しています。