はじめに
こんにちは。
Sansan事業部プロダクト開発部に所属しておりますインフラ領域のリードエンジニア兼プロダクトマネージャーの岩下です。
先日12月に開催されました re:Invent 2019 に今回も参加させていただきました。
相変わらず圧巻としか言いようのない規模でしたが、前回より15000人ほど増え、65000人ほどの人々が参加されていたと Keynote で発表されていたことを覚えています。
参加にあたって、以下の2点を個人的なテーマとして設定してみました。
- 今取り組んでいることは正解なのか答え合わせをする
- レベルアップのためのインプットを得る
上記を念頭に置きつつ事前にイベントカタログを眺めてみると、 Resiliency
という単語が目に付いてしまう自分に気づきます。
昨年発生した AWS の AZ 障害の経験から Chaos Engineering の実現性を模索していたという背景もあり、この手のセッションには必ず参加しようと心に決めたのでした。
結果どうだったかといういうと、表題の通り Chaos Engineering の実践に本気で向き合おうと考えるに至っています。
Chaos Engineering とは
Chaos Engineering とはシステムの一部に偶発的な障害を発生させ、復旧作業を行うことでシステムや組織の不備を洗い出し、システムの信頼性を向上させる取り組みとして知られているように思えます。
Netflix 社が2015年に公開した文書 Principles of Chaos Engineering から広く認知されはじめたものと認識しておりますが、この文書によると Chaos Engineering は以下の様に定義されています。
経験に裏打ちされたシステムベースのアプローチは、分散システムの混沌な状態を大規模に対処し、現実的な条件に耐えるシステムの高い信頼性につながります。 私たちは、制御された検証においてそれを観察することによって、分散システムの動作について学びます。私たちはこれをカオスエンジニアリングと呼んでいます。
以上より、とりあえず破壊しても壊れないシステムを構築しよう!という意味ではなく、学びを得ることに軸足を置いているということがわかります。
本質が何であるのか、そのヒントを自分は re:Invent で得られたように思います。