絞り込み検索
キーワードで探す
カテゴリで探す
サービスで探す
業種で探す
トレンドで探す
キーワードで探す
カテゴリで探す
サービスで探す
業種で探す
トレンドで探す
2022.7.29技術ブログ

クラウド時代のシステム運用をリードするSRE

クラウドを活用したシステム運用には特有の難しさや課題が存在するが、その課題を解決してサービスの価値を向上するのがSREだ。NTTデータの大規模なサービス開発においてSRE(Site Reliability Engineering)が活躍している事例や、xOps/Hyperautomationといった技術を活用したSREの進化の可能性を紹介する。

目次

クラウドを活用した運用の難しさ

DXの推進において、パブリッククラウドをはじめとしたクラウドの活用は欠かせない要素となっており、すでにクラウド上で多くのITシステムの運用が開始されています。運用の現場でも、ハードウェアやミドルウェアの管理をアウトソースできるというメリットを体感している方も多いのではないでしょうか。
一方で、クラウドのメリットを享受しようとすると、その分従来のオンプレミスのシステムにはない難しさが発生するのも事実です。オンデマンドにリソースの追加や削除ができるため運用対象が増減する、様々なサービスをボタン一つで簡単に利用できるため構成が複雑になりがち、といった影響があります。

図1:クラウド活用における運用の変化

図1:クラウド活用における運用の変化

その結果、信頼性の確保、セキュリティ対策、コスト管理などにおいて様々な課題が生じます。特に、マルチクラウドやハイブリッドクラウドで各クラウドのいいところ取りができる構成を採用し、DevOpsでアジリティ高くサービスをリリースしていく、といった理想を追い求めると、安定したシステム運用を継続するのは至難の業です。

図2:クラウドを活用したシステム運用の悩み

図2:クラウドを活用したシステム運用の悩み

重要度の高まるSRE

クラウド運用の悩みを解決する一つの方法として、SREの重要度が高まっています。SREとは、Googleが提唱したシステム管理とサービス運用に対するアプローチで、システムの信頼性に焦点をおいて行動の基礎となる原則や方法論を定めたものです。また、その方法論を実行する役割やエンジニアをSREと呼ぶこともあります。Gartner®のレポート(※1)によると「DevOpsの取り組みにSREの原則を使用している、または使用を検討している組織は89%に達する」という調査結果があるほど活用されています。
SREは、モニタリング、緊急対応、変更管理、キャパシティプランニング、プロビジョニングといった多岐にわたる項目を推進することを期待されますが、システム運用にソフトウェアエンジニアリングを活用していることが特徴で、例えば以下のような活動を通じて信頼性を確保します。

  • サービスレベル指標(SLI)を定め、サービスレベル目標(SLO)を達成しているか測定し、適切なサービスレベルが維持されていることを確認する。目標が未達もしくは過剰なサービスレベルとなっている場合は、改善のアクションを推進する。
  • トイルと呼ばれる、繰り返し実行される自動化可能な手作業を測定し、トイルに割かれる時間が一人当たり50%未満に抑えられているか確認する。トイルの割合が50%を超える場合は、自動化などによりトイルの割合を減らし、50%以上はイノベーションの創出にかかわる時間を確保する。
  • ポストモーテム(事後検証)として、発生したインシデントの内容を文章として記録し、再発防止のアクションを仕組みとして整理し、チーム内で共有する文化を定着させる。
(※1)

出典:Gartner, Inc., Assessing Site Reliability Engineering (SRE) Principles for Building a Reliability-Focused Culture, Venkat Rayapudi, Gregg Siegfried, 28 January 2021

SREが活躍している事例

NTTデータでもSREが活躍する事例が数多く出てきています。特に、Digital CAFIS(※2)のように大規模で高い信頼性が求められるケースでは、欠かせない存在となっていると言えるでしょう。Digital CAFISでは、まさに「マルチクラウドやハイブリッドクラウドで各クラウドのいいところ取りができる構成を採用し、DevOpsでアジリティ高くサービスをリリースしていく」といった事を実現しているのですが、SREチームがサービスの信頼性確保に大きく貢献しています。
そういった大規模な開発では、SREを実践できる人財を集約し育成しつつ、チームとしてプロジェクト全体をリードできるような体制を作ることが重要です。まずは、共通的なインフラを整備するチームと同じまたは近しいチームとしてSREチームを組成して、プロジェクトにおけるルールや仕組みを整備します。その後、SREチームのメンバが各サービスの開発チームに参画して、サービスごとに信頼性を確保できるように導きます。

図3:大規模システムにおけるSREの実践例

図3:大規模システムにおけるSREの実践例

NTTデータにおける今後の取り組み(xOps/Hyperautomation)

NTTデータでは、クラウド活用の現場において、SREが以下の取り組みを主導し、システムを常に健全な状態に保つことを目指しています。

  • クラウド運用に関する様々な課題や、システムの健全性を、常に観測できるようにする。
  • 自動化や標準化を中心とした運用改善により、課題へ迅速に対応し、技術負債の継続的な解消を行う。

これにより、イノベーションを生み出すための作業の割合やOpex(事業運営費)を最適な状態に保ち、新規ビジネスへの投資へとシフトすることで、システム価値、アジリティ、信頼性の向上に寄与していきます。

図4:SREによるクラウド運用の目指す姿

図4:SREによるクラウド運用の目指す姿

今後は、クラウド運用の増加に伴いSREへのニーズが増加することが予想されます。NTTデータでは、求められる人財像の定義と、体系的な育成プログラムの整備により、SREとして活躍できる人財を拡大していきます。また、xOps/HyperautomationというテーマでSREが活用する武器の開発と展開にも積極的に取り組み、自動化や標準化による運用改善をさらに加速させます。

図5:今後の展開イメージ

図5:今後の展開イメージ

xOpsとは、運用時に発生する様々な課題を解決するために、可視化と改善を行うための標準化されたプロセスと、それを実行するためのツールを定義したものです。以下に、注目しているOpsについていくつかご紹介します。

(1)DevOps

リードタイムを短縮させることによりビジネス価値を向上させることを主な目的としています。DevOpsを実現するための方法のひとつがSREとも言える、SREの基本となるOpsです。SREより古くから存在しており、NTTデータでもすでに様々な取り組みが行われています。

(2)FinOps

従量課金で変動要素の大きいパブリッククラウドのコストを中心に、可視化と見直しのサイクルを回し、提供価値にみあった状態にすること目的としています。FinOps Foundation(※3)という団体が存在し、基本となる考え方などを整備しています。

(3)AIOps(AI for IT Operations)

システム運用で収集したビッグデータとAIを組み合わせて、運用業務の自動化や効率化を行うことを目的としています。多岐にわたるユースケースが考えられますが、例えば、従来の監視ツールから得たデータを活用して、障害の予兆検知や根本原因分析を支援するといったケースがあげられます。

(4)SecOps/DevSecOps

サービスにおけるセキュリティリスク、影響範囲、対応状況の可視化や、セキュリティパッチ適用といった対策の自動化により、日々発生する新たな脆弱性などを含めたセキュリティリスクに速やかに対応することを目的としています。DevOpsのプロセスにセキュリティ対策を組み込んで、DevSecOpsとしてアプリケーション開発段階からセキュリティ対策を実施することもできます。

Hyperautomationは、RPAだけでなく、プロセスマイニング、iBPMS(インテリジェント・ビジネスプロセスマネジメント・システム)など様々な技術を駆使して、自動化に関するあらゆる手順(発見、分析、設計、自動化、測定、モニタリング、再評価)を自動化するものです。xOpsで標準化したシステム運用の改善プロセスのさらなる自動化を目指します。

(※3)FinOps Foundation

https://www.finops.org/

まとめ

今後も更に拡大することが予測されるクラウドの活用において、クラウドのメリットを享受しつつ安定したシステム運用を継続するためには、SREの重要度が更に高まっていくことが予想されます。
NTTデータはSREに対応できる人財の拡大や、xOps/Hyperautomationによる更なる運用改善を通じて、システムのアジリティや信頼性を高めることで、お客さまが提供するサービスの価値を継続的に向上していきます。

お問い合わせ