アクセンチュアが考える、クラウド&マイクロサービス時代のエンタープライズ実録SRE
マイクロサービス化、アジャイル開発の普及でSREのニーズが高まる
アクセンチュア株式会社 テクノロジー コンサルティング本部
インテリジェント クラウド イネーブラー グループ
アソシエイト・ディレクター 小田原 宏光氏
なぜ今、SREが注目されているのか。小田原氏はその背景にある2つの変化を挙げる。1つは、マイクロサービスの浸透である。
一昔前であれば、スライド左側のようにいわゆるモノリシック、一枚岩の巨大で強固な基幹システムを構築するのが一般的であった。しかし、このような構成では素早いビジネスニーズの変化に対応することが難しくなってきた。
そこで近年、各システムをサービス単位で切り出し、それぞれを組み合わせるマイクロサービス的な手法や構成がトレンドになっており、当然のごとくクラウドネイティブソリューションが採用されている。
小田原氏自身、マイクロサービス構成の案件が増えていると感じるとともに、現にいま携わっているプロジェクトもマイクロサービス案件だと明かす。「リリースを細かい単位でできるなど、メリットを感じている」とも語る。
2つ目は開発手法の変化だ。ウォーターフォール型でオンプレミスの場合は、インフラの変更が容易でなく、リリースまでに数年は要するという特徴があった。対して、アジャイル開発であれば、数カ月でサービスインを実現するケースもある。
一方で、本番運用してからの信頼性が100%ではないことや、サービスイン後の環境維持を継続する自社の技術力が必要とされるケースも出てきた。いざ取り組もうと思っても、
マイクロサービスが複数あることで、エラー時の調査が大変など、さまざまな疑問や不安を抱えているのが実情である。
SREにより“ワクワクする進化”の世界観を実現する
一般的にSREは「Site Reliability Engineering」と呼ばれる。一方、アクセンチュアでは Sの部分がサービスとなり、「Service Reliability Engineering」と定義している。
ITサービスマネジメントの領域も含めた、全ライフサイクルにわたり、ITのサービス・品質・効率を追求するからだ。以下スライドのように、一般的なSREよりも対応領域がより広いことが分かる。当然、苦労も多いそうで、次のように本音を話した。
「ITサービスマネジメントの領域は幅広く、突き詰めることは高い山を登るのと同じように、正直、厳しい道のりでもあります」(小田原氏)
このような厳しい道のりを乗り越えるアクセンチュアの推進するSREとは、最終的なビジョンであるBX(ビジネス・オブ・エクスペリエンス)を向上させることだ。
実現のためにはミッションであるDDX(デリバリーDX)を実現することだと、小田原氏は強調する。
従来の運用では、サービスイン後はシステムの形も担当者の作業内容もなるべく変えずに、コストを抑えることが掲げられていたが、これからは運用フェーズとなってからも、システムは改善・進化を続けていく取組みが必要となる。
それはある意味「開発フェーズ」と「運用フェーズ」の違いがない状態とも言えるパラダイムシフトだ。しかし、「だからこそ仕事に対するやりがいや担当者の存在感が増す、“ワクワク”する世界観だ」と、小田原氏は語っている。
DatadogやSlackなど、SREを実現するためのツールを活用
小田原氏は、実際にSREを実現し、推進するためのシステムについて、全体のアーキテクチャならびに各ツール群についても説明を行った。核となるのはスライドでも中心に位置する「オブザーバビリティ(可観測性)」に関するツール群だ。
以下スライド左側①の領域、AWSやGCPの状態をオブザーバビリティツール群が監視、トラブルを見つけると右側の領域へ自動で通達する。通達の際はインシデントのレベルにより、チケット発行、架電、Slack通知が行なわれる。
トラブル対応が終わった事象は、これまた自動でシステムの上部、自動実行基盤に障害内容ならびに処理対応のログをアップする。
オブザーバビリティの詳細については、Datadogを使ったケースで紹介した。監視の流れならびにアクションは先述したとおり。バグトラッキングなどを行うJira、インシデントを通報するPagerDutyといったツールを導入していることが分かる。
ダッシュボードを活用することも重要であり、重点項目をピックアップし、いつでも誰でも状況が見えるようにしておく姿勢が必要だ。
「ダッシュボードを作ったら終わりではなく、常に状態を定期的にチェックすることが重要です」(小田原氏)
障害対応はどうしても割り込み業務になってしまうため、スケジュール通りに進めることが難しい。漏れなく柔軟に日々のタスクを推進するためには、チケット管理が重要となる。小田原氏は、チケット管理について、それぞれ具体的な管理ポイントを説明していった。
インシデント管理では、既存インシデントとの紐づけ、根本原因の分析と再発防止策について精査する。リリース/本番作業管理では、事前の準備検証作業の完全可視化などを行う。
作業WBS(work breakdown structure)管理では、ガントチャート、カンバン、アジャイル・スクラム(スプリント)などを導入する。
一方で、このような管理体制を整備しても、対応が難しくなるケースが出てくるのが実情だと小田原氏。以下のように、それぞれの対応策も合わせて紹介された。
インシデントが大量に発生しているケースでは、一つひとつの障害を真摯に整理分類し確認するとともに、そもそもとして機能の本番リリース前の段階でしっかりテストを行い障害を潰しこむ対策を講じる。
リリース/本番作業管理においては、承認行為自体が形骸化しているケースもありがちだが、そのような場合は改めてプロセスを見直す議論を行う。
作業WBS管理では、事象の優先度によりタスクが目まぐるしく変わるが、それ自体は防ぎようがない。リマインドを打つなど、作業漏れが発生しない工夫や取り組みが必要だ。
システムに携わるメンバーコミュニケーションは、Slackを活用したChatOpsで行う。
「アプリとインフラ、お客様とベンダーなど、担当領域や企業で分け隔てることなく、関わるすべてのメンバーがSlackを介して、リアルタイムでコミュニケーションすることがポイントです」(小田原氏)
小田原氏は、実際にアラートが発生した場合の事象も紹介した。障害レベルによりチャネルを用意しておき、発生した内容により担当チャネルに振り分けられると同時に、自動でエラーの詳細が記載されたスレッドが立ち上がる。
その後、Datadogのダッシュボードを確認しつつ、関係者にメンションして、障害対応を進めていく。障害が解決しチャットがクローズすると、ServiceNowに自動連携し、やり取りがログとして残ることで、今後の対応ナレッジとして活かされる。
ツール群の最後で小田原氏は、Infrastructure as Code(以下、IaC)の重要性についても触れた。以下スライド右側の「意義」である。
災害発生やオペレーションミスの可能性をゼロにすることはできない。その際、コード化されていればトラブルからの振り返りや打ち手の対策が素早く取れるし、場合によっては再構築することも、同じく素早く行うことができる。
また開発・テスト・本番といった異なるフェーズ環境の整合性を取る際にも、コード化されていればスムーズである。
「手作業はできるだけなくし、コード化する。ミスが減り、効率化されることはもちろんですが、本番システムのデプロイの完全自動化を実現するためには、大前提の取り組みだといえます」(小田原氏)
人や組織のマインドセット、カルチャーの変革も必要
一方でSREは、これまで紹介してきたようなツールを使い、特定の手法を使えば必ず実現できるというものではない。プリンシパル(原則)に基づき、各人が必要なスキルを磨くとともに、チーム全体でのマインドセットの醸成や、運営アプローチが重要だからだと、アクセンチュアにおける定義(理解)を述べた。
また、マインドセットでは、チーム内の心理的安全性を担保する、全員がリーダーの意識を持つ、必要なホウレンソウやチケット管理は惜しまない、といった要素が紹介された。
運営アプローチでは先の話にも重なるが、作業タスクのチケット管理を徹底すること。ハードスキルも必要とはなってくるが、これらをうまく醸成することで、SREは実現していくと小田原氏は語っている。
関連するエピソードとして、小田原氏はクライアントとのSlackでのやり取りを紹介した。当初、クライアントの責任者に頻繁にメンションするケースが散見されたため、社内のメンバーと協議し、「責任者の方の忙しさを考慮してコミュニケーションしよう」と決めて、やり取りを行っていた。この内容はクライアントにもオープンにしていた。
すると、クライアントの責任者から「気にしなくていい。相談を遠慮してしまうことで皆さんの仕事が非効率になるのは避けたい。言うかどうか迷ったらまずはまずは声をかけてほしい」との声が返ってきたという。
「これはSlackというツールの使い方の話ではありません。日々、同じ釜の飯を食うといった意識で、SREの実現に向かってアクションしてきた。このような共通のマインドセットを通じて醸成したコミュニケーションがあったからこそであり、SREを推進する上でのポイントだと強く感じています」(小田原氏)
以前は、技術革新や実際の刷新スピードのタイミングが今ほど速くはなかった。そのため、特定技術に精通するベテランと呼ばれる専門家や達人が存在し、重宝されていた。
一方で現在は、Kubernetes、サービスメッシュ、クラウドなど、次々と新しい技術が登場し、有用サイクルが短いケースも少なくない。そのため、ベースとなるITスキルはもちろん重要だが、このような新しい技術に興味を持ち、積極的に学ぶことが重要だ。
かつ、技術は多岐にわたるため、全ての技術要素を押さえた一人の達人が生まれることは難しい。他の技術の専門家と連携をしっかりと行うことができる人物が求められていると、小田原氏。実際、クラウド領域でCNCF(Cloud Native Computing Foundation)が出しているリソースマップには、1000を超えるソフトウェアが並んでいることも合わせて語られた。
自ら学ぶ姿勢が大事である一方、アクセンチュアではスキルアップモデルを構築し、個人ならびにクライアントのスキル醸成の支援も行う。その際には対象となるメンバーとしっかりとコミュニケーションを行い、キャリア思考なども把握。一人ひとりにフィットしたモデルを提供していく。
セッションでは、以下スライドのような一例が紹介された。最初のステップでは、資料や動画をベースに理解を深める。次のステップでは、学ぶ範囲を拡大する。その後は実際に学んだツールやシステムに触れ、本番環境にもトライする。これらのステップを踏まえスキルアップした上で、計画立案を担うリーダーにステップアップしていく。
小田原氏は改めて、自動化の実現に徹底的にこだわる姿勢を強調した。
実現のためには既存の業務ルールにとらわれることなく、現在行っているプロセスが果たして本当に必要なのかどうかを見極めることが重要だ。自動化はもちろんだが、必要ない場合にはプロセスを廃止することも視野に入れなければならない。
小田原氏は次のように総括し、セッションをまとめた。
「エンタープライズ領域のSREは、組織の規模が大きくなればなるほど苦労も多く、組織改革も必要など、一筋縄ではいきません。言うは易く行うは難しの典型です。目の前の事象を一つひとつ、真摯な姿勢で紐解いていくアクションを継続していくことが、結果としてSREの実践であり真髄だと考えています」(小田原氏)