不安定な挙動をコントロール下に置き、データ駆動でビジネス指標を向上
4つめは、予測的対応だ。この段階に到達する頃には、サービスが安定稼働しており、基軸が明確化し、改善のライフサイクルが回り始めているはずだ。ここでようやく、コスト削減に手を付ける。
「不安定な挙動があると、リソース計画やスケーリングの目処が立てづらい。結果、安全側に倒して3倍くらいのリソースを確保することになるだろう。だが、こうした挙動をコントロールできれば、リソースはその半分でも大丈夫という予測を立てることができるようになる。ちょうどよいスケーリングを見つけられるということだ」(大谷氏)
また、「避難訓練」を実施するのもこのステップだ。サービスレベル目標(SLO)で可用性を99%確保したいとした場合、エラーバジェットは1%になる。このエラーバジェットを使って行うのが避難訓練だ。
訓練は、本番環境で実施する。どこかのプロセスを止めたり、ネットワークを遮断したり、設定を変えたりして異常を発生させる。これを検知し、アラート通知が上がって対応、十分なサービスレベルを維持できるかを検証する。
「本当に本番環境で訓練するのかとよく聞かれるが、サービスレベルを定義していれば問題がないはず。障害時の対策を整備したら、実際に落としてみて確認する。うまくいかなかったら、修正すればいい」。そもそも訓練なので、深夜に突然発生するようなシナリオではなく、コントロールできる時間帯に実施できるから問題ないと大谷氏は笑う。
こうしたリスクある行動がとれるようになれば、実験的なデプロイも実施しやすくなる。どのタイミングでテストを実施するのか、本番環境に移行してから様子見するので問題ないかなど、デプロイのプロセスの幅ができる。
「実験的デプロイをどんどん試せるようになると、デプロイ頻度も上がる。成長企業の方がデプロイ頻度は高いという調査結果がある。いろいろ試せる環境があることで、機動性をもってビジネスの方向修正ができ、成功をつかみやすいということかもしれない。これはDevOps界隈でいま最も熱いトピックだ」(大谷氏)
最後のステップはデータ駆動。オブザーバビリティで得られるデータに基づき、ビジネス指標や顧客満足度の改善、向上につなげるのがこのステップだ。バグの修正や新機能の追加など、デプロイに期待される効果を正しく評価する、ネットスコアなどの中長期的改善で顧客満足度を向上させるなどが挙げられる。
ツールだけでなく文化も育てよう
New Relicは、クラウドベースの可観測性プラットフォームを提供している。クラウド上のデータベース「NRDB」を中心に、アプリケーションモニタリングを提供する「APM」、ブラウザやアプリケーションをモニタリングする製品群、外形監視サービスの「Synthetics」、ポータルの「New Relic ONE」でデジタルビジネスの監視および改善を支援する。国内では、SansanやGA technologies、VOYAGE GROUPのZucksなどが導入している。
大谷氏は、APMのポータルから遅延や外部通信の状況が可視化される様子をデモで紹介。どのアプリケーションで、どんなメソッドが何回動作し、どれくらいの時間がかかっているかなど、掘り下げてデータを参照できることを見せた。
だが、こうしたツールがあれば最終ステップのデータ駆動へとひとっ飛びに進み、パフォーマンスが改善されるわけではないと大谷氏は警告する。
「ツールだけでパフォーマンスが上がるということはない。だけど、ツールを変えれば運用は変わる。ある人によれば、運用が変われば文化が変わるという。その新しい文化が自社プロダクトを育てることになる。こうした改善を今後も支援していきたい」(大谷氏)
お問い合わせ
New Relic株式会社