DEVOPS

レジリエンスを強化する基盤としてのSplunk

レジリエンス(Resilience)というキーワードが昨今注目されています。

あまり馴染みのない単語かと思います。ラテン語の「resilire(跳ね返る)」に由来し、日本語に訳すと意味は「弾力、回復力」になります。

レジリエンスは「周りの環境が変化しても組織の機能をすばやく回復させ、変化に適応して成長する能力」を指します。更にデジタルシステムの観点で言えば「サービス提供を中断させる可能性のある事象を予防し、対応し、迅速に回復する能力」となります。

他にも様々な定義方法はありますが、根本的な考え方としては以下の通りです。

  • 問題が起こることは避けられないものとする
  • 問題が発生した場合にいかに迅速に自動または手動で復旧できるかを重要視する

デジタルシステムに弾力、回復力を持たせるということです。そのためにはシステム自体のレジリエンスと運用のレジリエンスの両面を考慮する必要があります。この点については後ほど見ていきます。

背景

このようなレジリエンスの考え方は以前からもありましたが、昨今は以下のような理由により重要性が増しています。

  • システムの複雑性

マルチクラウド、ハイブリッドクラウドを使用し、またマイクロサービスへの移行により複雑性が増大し、もはやシステム全体像を一人の人間が把握するのは不可能になっています。

  • 天候異常

台風による通信網断や、記録的な熱波によりデータセンター内の空調機器が故障しクラウドサービスが使用できなくなった、など天候による障害が増加しています。

  • 政治的、経済的な不安定さ

国際情勢により昨日まで使えていた海外のサービスが使えなくなる、という可能性もあります。また、為替の変動により海外サービスの予算が削減するということも考えられます。

  • パンデミック

言わずもがなですが、働き方の変化、離職による人材不足、感染による欠員の他、サプライチェーンの問題など様々な影響がでています。

その他にも様々な要因が考えられます。

当然、障害を起こさないようにする、ということは相変わらず重要ですが、現在あるいは将来に渡り、それだけでは済まない状況であるということは否定できません。

業界の動向

レジリエンスは特に金融で着目されています。

例えば金融庁発行「金融機関のシステム障害に関する 分析レポート」では、以下の記述があります。

「障害の未然防止にとどまらず、障害発生時の業務の早期復旧や顧客影響の軽減につなげていく対応が重要となる中、実効性のある組織横断的なシステムリスク管理態勢の整備や高度化に取り組む必要性は引き続き高い状況にある。」

同レポートではバーゼル銀行監督委員会による「オペレーショナル・レジリエンスのための諸原則」のレポートに言及しており、「オペレーショナル・レジリエンスへの取組みが今後加速することが予想される」としています。

レジリエンスを強化する目的

当然、主な目的の一つは「システム可用性向上」です。この目的には裏側に色々な考えが含まれています。

  • 顧客満足度の向上、維持

ITシステムのビジネスへの貢献度は増加する一方です。いかに信頼性の高い、またユーザーエクスペリエンスの高いシステムを維持するかは顧客満足度と直結します。

  • イノベーションの促進

IT人材が不足する中でいかにコアビジネスに貴重な人材を割り当てるか、という、これも重要な観点です。

システムの障害対応、トラブルシューティングに追われる組織と、追われない組織、どちらがイノベーションを多く行えるかは言うまでもないと思います。

レジリエンスを強化するには?

デジタルシステムのレジリエンスをもう少し分解すると、システム、開発・リリース・運用、セキュリティ対策に分けられます。これらは個別に存在するものではなく、お互いに相互作用があるものです。

強化のためには具体的には例えば以下のような要素が考えられます。

  • システムの可用性:冗長化、コンテナによる仮想化、バックアップなど
  • アプリケーションアーキテクチャ:マイクロサービスなど
  • 開発プロセス:レジリエンスを高めるデザインパターン、DevSecOpsなど
  • 組織、運用体制:SREの実践、コンティンジェンシープラン・トラブルシューティング改善、適切なチェンジマネジメントなど
  • 監視:オブザーバビリティ、モダンSOC(高度な脅威検出と対応自動化)など

部分的にはBCP(事業継続計画)と近いと思われるかもしれません。確かに似ている個所は多く、また密接に関係するものです。

大きな違いは、BCPは緊急事態が発生したときのビジネス継続のためのプロセス・手順であり、レジリエンスはより持続的に環境の変化に対応し長期的な成長を可能にする能力です。

レジリエンスの一つにBCPが重要であるという見方もできます。

Splunkはどのように役に立つか

組織はデジタルシステムのレジリエンスを実現するためにIT、DevOps、セキュリティの各分野でレジリエンスを確保する必要があります。しかし、私たちは多くの組織でこれがサイロ化している状況を見てきました。

SplunkはIT、DevOps、セキュリティのためのクラス最高のツールを提供するだけでなく、すべての関連データをまとめて、組織がビジネス全体で可視化できるようにすることで、レジリエンスを強化します。これにより、組織は問題を迅速に発見し、修正することができるため、MTTDとMTTRを加速することができます。また、下流の依存関係を把握できるため、問題発生時の衝撃を吸収しやすくなり、システムの稼働を維持することができます。つまり、組織は、何かを壊すことなく、柔軟性と迅速さをもってデジタルトランスフォーメーションプロジェクトを推進することができるのです。

Splunkのレジリエンス

特にIT、DevOpsの観点では「オブザーバビリティ(可観測性)」によりレジリエンス強化をご支援します。

オブザーバビリティとは「システムの出力を調査することによって内部の状態を測定する能力」です。なかなか抽象的な表現で分かりづらいかもしれませんが、より平易な表現では「システムにどんな奇妙で想定外のことが起きても理解し説明できる能力」です。

他のブログ記事でも多くご紹介していますので是非ご覧になってください。

これまではシステム健全性の可視化に対しては「モニタリング」をしてきました。

これとの違いは、モニタリングは「問題が起きると知っていることを注視」するものでした。例えばプロセス監視などが当てはまります。「(原因が何であれ)プロセスXがダウンする」可能性があることは知っているので、ちゃんとチェックしておこう、というものです。

ただし、冒頭に申し上げた通り、システムはより複雑になり、テクノロジー以外のリスクも高まり「知っていること」以外にも様々なことが発生し得ます。

例えばマイクロサービスとなると数十、数百のサービス間で通信を行い一つのITサービスを提供するわけですが、組み合わせが数百、数千以上になるトランザクションのどこで問題が発生するか予測できませんし、もしくは不具合や仕様変更により想定外のサービス間でのトランザクションが発生してしまうかもしれません。

オブザーバビリティは、そのような予期せぬ事象を発見し、その根本原因を調査するための能力です。

モニタリングとオブザーバビリティは別ではなく、オブザーバビリティを行うための要素としてモニタリングが内包されているイメージです。

Splunkのレジリエンス

この能力により、ユーザーは満足にサービスを使えているか、インフラ、アプリは正常に稼働しているか、していないとしたらどこで何が起こっているかをユーザー視点からアプリ、インフラまでエンド・ツー・エンドで可視化することで、チームは迅速にアクションすることができます。

また、近年注目を集めるSRE(Site Reliability Engineering)というキーワードを聞いたことがあるかと思います。インフラ、アプリを統合して管理しシステムの安定稼働を担う役割のことを指します。そのような役割であるが故、SREにはオブザーバビリティは必須です。

オブザーバビリティは、予期せぬ事象が増加し続ける現代において、認識能力を高め、適切な対応を迅速に行えるようにする、つまりレジリエンスを高めるための強力な武器となります。

ご関心のある方は是非弊社ソリューション Splunk Observabilityページをご参照ください。

山村 悟史
Posted by

山村 悟史

データに翻弄されることなく価値を引き出すSplunkのData-to-Everythingの思想に共感し2020年Splunk Services Japan合同会社入社。現在は幅広いお客様へSplunkとは?を知って頂くためプリセールス活動として提案、検証、ワークショップなどを実施。
入社前は主にITサービスマネジメントプラットフォーム構築、データセンタ管理などを経験。

TAGS
Show All Tags
Show Less Tags