ビジネス/開発/運用のサイロ化を防ぐ、イノベーションと信頼性を両立させる
SREとは? Google Cloudがその基本を説明、JCBも導入/実践経験を紹介
JCB:新規サービス開発プロジェクトの中でSREチームを組成
ゲスト出席したJCB システム本部 デジタルソリューション開発部の笹野真平氏は、同社におけるSREの導入と実践の経験や、そこで達成できたもの、今後の課題などを紹介した。
JCBでは2年半ほど前から、スピード感をもって価値の高い新規サービスを開発するためのプロジェクトを立ち上げている。ここでは「既存の仕組みを使わず“出島戦略”的にゼロベースでスモールスタートする」(笹野氏)方針を掲げ、開発プロセスやリスク管理の手法、開発体制、開発プラットフォームなど、さまざまな側面でこれまでのJCBとは違う動きを行ってきたという。
上述のサービス/アプリケーション開発プラットフォームでは、パブリッククラウドやオープンソースソフトウェアを積極的に活用している。Google Cloudの「Google Kubernetes Engine(GKE)」と「Anthos Service Mesh(Istio)」を中核とした「JCB Digital Enablement Platform(JDEP)」を新たに構築して、ドメイン駆動設計やマイクロサービスアーキテクチャを取り入れたアジリティのあるシステム開発を可能にする開発プラットフォームとした。
また開発体制/人員も急速に拡大している。2年半前のプロジェクト発足時にはアプリ開発チームとプラットフォームチームを合わせて30名ほどの規模だったものが、現在はおよそ20チーム、350名を数えるまでになっている。アプリ開発チームの数が増えるのに応じて、それら全体を支援するプラットフォーム、シスアドミン、QA、SRE、アーキテクチャ、セキュリティの各チームも増強しているという。笹野氏は、このうちSREチームとシスアドミンチームのプロダクトオーナーを務める。
なぜ同プロジェクトではSREを導入したのか。笹野氏は「適切な信頼性の設定/導入」と「適切な信頼性を提供し、サービスに対するお客様の満足度を維持する」という大きな2点を実現するためだと説明する。SREチームの具体的な役割としては、プロジェクト全体に対する信頼性設定にまつわる支援、信頼性維持に必要なエンジニアリングの推進といったものだ。
「発足当初、ビジネスと開発、開発と運用の間の壁という課題感もあり、DevOpsの考え方を取り入れようと考えて取り組みを進めていた。その中で実際にDevOpsを実現するために必要な手法を探っていくとSREが出てきた」(笹野氏)
信頼性の設定:ビジネス部門と一緒に「適切な」信頼性指標を策定
SREチームの1つめの取り組み「信頼性の設定」について、笹野氏は「『適切な』信頼性というところがポイント」だと強調する。前述のグーグル山口氏が指摘した「100%の信頼性目標は誤り」という話とも重なる部分だ。
「従来のJCBの考え方だと、やはり『サービス障害は起こしてはいけないもの』『SLAはひたすら高く持つ(維持する)こと』が前提だった。もちろん基本的にはそうなのだが、われわれが作っていくアプリケーションに関して言えば、ユーザーに満足いただける指標というのはアプリごとに異なり、それぞれに適切なサービスレベルが存在する。そうした前提に立ち、自分たちが作っていくものについては、お客様が本当に必要とする信頼性を考えたうえで、サービスレベルを一から設定していった」(笹野氏)
具体的なSLI/SLOの策定については、ビジネス部門とシステム部門の合同チームで実施したという。笹野氏はこれを「ビジネス部門とシステム部門がバラバラに考えるだけでは、絶対に(合意は)実現できなかった」と語る。エラーバジェットの範囲内とはいえ、サービスレベルの低下をビジネス部門にも許容してもらう必要があるからだ。
SLIやSLOといった考え方をJCBとして初めて導入するタイミングだったため、グーグルにワークショップの実施を依頼し、ビジネス部門とシステム部門の両方が参加するかたちで開催することで社内全体に理解を広めたという。ビジネス部門オーナーの理解が進んだことで、「わたしが見えない部分で、オーナーが頑張って対応を(ビジネス部門内の説得を)してくれたことは多いのではないかと思う」(笹野氏)。
また、策定したSLI/SLOについてはダッシュボードで可視化しており、何かトラブルが生じたときにSLOの値が下がっていないかどうかをチェックするという意識が根付くように重視して対応を進めていると述べた。
信頼性の設定という1つめの目標について、これまでに「ワークショップを通したSRE文化の理解」「既存サービスに対するSLI/SLOの策定」「SLI/SLOの見える化」といったことは達成できたという。一方で、「SLI/SLO策定支援」や「SRE文化の醸成」といったことは今後の課題として残っていると語る。
「まずは、SLI/SLOの策定を自分たちだけでやりきれるようにしようというのが課題の1点目。現状でも、新しいアプリを作る際にはアプリチームとSREチームとでSLI/SLOを定めてはいるものの、まだノウハウの蓄積が少ないパターン、不安な部分などはグーグルにレビューしていただいている。また、このプロジェクトの取り組みを良しとしてもらうには、SRE文化を会社全体に理解してもらう必要がある。そのためには部門を問わず定期的な教育が必要となるので、カリキュラムを内製して自分たちでSREの考え方を社内に広げていく必要がある。これが2点目の課題だ」(笹野氏)