工学としてのSRE再訪 - SRE NEXT 2024登壇後記

この記事では、2024年8月3-4日に開催されたSRE NEXT 2024 IN TOKYOでの自分の講演概要とパネルディスカッションに加えて、セッションでは語りきれなかった話と、登壇を終えての後記、最後にSRE NEXT全体の感想を記します。

SRE NEXT 2024では、公募セッション「工学としてのSRE再訪」と題して講演しました。それだけでなく、2日目のパネルディスカッション「SREの技術トレンド2024」にもお声がけいただき登壇しました。SRE NEXTの初回の基調講演から数えて4回目の登壇で皆勤賞を達成しました。

「工学としてのSRE再訪」

2024年8月16日追記:本講演でベストスピーカー賞をいただきました。投票いただいた皆様ありがとうございました。 (表紙スライドの背景画像は京都のあるコーヒーショップのエスプレッソマシンを撮ったものです。コーヒーは技芸と工学の両者の側面があるため、適任かと思って選びました。)

SRE NEXT 2020の基調講演は、ちょうど博士課程の入学試験を控えているタイミングで内容を用意したので、今思えば当時の博士課程の研究計画に寄りすぎていたように思います。初回のしかもオープニングの基調講演なので、SRE分野の総論と、アカデミックの背景を生かしたSREの工学的側面を本来は提示したかったです。しかし、当時はそれを語るには力不足でした。そこから、4年半もの間、博士課程で研究を続けてきて、学術がSREの実務にどんな役に立つのかを常に自分に問いかけていました。その答えの一部が今回の講演に含まれています。SREを工学としてみることをフランクに表現すると、@rrreeeyyyくんがWSA研究会で話をしてくれた「エンジニアリングをちゃんとやる」エンジニアリングをちゃんとやる あるいは 人類の平和 について / wsa02-rrreeeyyy - Speaker Deckことでもあります。

概要

SREは、国内のテックコミュニティではあまり意識されてはいないものの、"Engineering"の学術的側面である「工学」として成熟してきた側面を持ちます。とはいえ、SRE分野には、工学的に解けるはずのオープンチャレンジ(未解決課題の解決)がまだまだ残されているはずです。そのため、オープンチャレンジをコミュニティとして議論していく土台を作りたいと考えました。そこで、この講演では、SREの工学的性質を、自身の経験、歴史、他の学術分野との接続を踏まえることで、明らかにします。

講演の第一章では、まず技芸と工学を対比させ、(システム)工学について自分が思う特徴を整理しました。p.12のスライドは好評だったように思います。これは実際に前職はてなでの最後に論文を書きながら考え、さくらインターネット研究所に参画した最初のころに考えていた構造です。事業管理の文脈で言うところのギャップ分析(As-Is/To-Beとも呼ばれる)やコーチングなど様々な文脈で同等の構造が紹介されるため、目新しいものではないと感じる人も多いでしょう。しかし、工学としてはこの構造の各要素が「客観的」であることが重要です。客観的とは定量的・定性的*1であったり、数学・統計学・自然科学の法則、各種論文に基づいていることなどが挙げられます。

第二章では、システム管理の工学化への精神が垣間見れるような歴史的文献の一説を紹介しました。書籍「ウェブオペレーション」の「ウェブオペレーションは技芸であり、科学ではない」、SRE本のMark Burgessによる序文、ソフトウェア信頼性工学の振り返り論文、かつてシステム管理には研究的なことも科学的なこともおもしろいことも何もないと言われてしまったUSENIX LISAの35年の振り返り記事、運用に関する論文がいかに多いかを示すMorning Paper on Operabilityなどです。

第三章では、工学的思考でアプローチできそうな、SREのオープンチャレンジの例を6個挙げました。身近な未解決課題として、「オオカミ少年アラート問題」「トレースデータがほとんど参照されない問題」「インシデント対応の改善ができない問題」、根本への問いとして「SLOっていろんな意思決定に使えるのでは?」「インシデント対応がソフトウェアで扱えていない問題」「SLOからシステムアーキテクチャを導出できるはず?」を挙げました。ここで挙げたことはあくまで、自分が考えたごく一例であり、今現場でSREに取り組んでいるエンジニアのほうがより良いチャレンジを発見できるのではないかと思います。

第四章は、問題だと思っていない問題に目を向けるために、箱の外を探す試みです。この第四章がこの講演のなかで最も準備に苦慮しました。できるかぎりエンジニアに身近に感じてもらいたかったので、最終的には、SREconを箱の外と内を接続するための媒介とすることにしました。SREconの過去プログラムにすべて目を通し、学術的背景のあるトークをすべて列挙し、その中からピックアップして、講演用のストーリーを練りました。Gray Failureなどの障害パターンを分類する論文を前提とするトーク、レジリエンス工学、システム工学、認知心理学、人類学などを実際に修めているあるいはその分野の大家が発表しているトークなどです。p.46のスライドにこれらから得られる示唆をまとめています。結論としては、Human-Computer EngineeringあるいはSociotechnologyとしてのSREの発展の可能性を感じます。

(p.46)

この講演スライドには、参考文献を大量に含めているため、各トピックをいくらでも深堀りできるように構成しています。さらに、講演中には触れられなかった付録スライドを10枚以上含めていますそちらもぜひご覧ください。アラン・ケイ、経営理論から村上陽一郎、葬送のフリーレンまででてきます。

この講演のプロポーザル文は、https://gist.github.com/yuuki/a4464697b0c7585a9fcfb0905f1b6e06に公開しています。最終セッションのChairs Talkでは、プロポーザルの書き方に関する言及があったことからも、このプロポーザル文も一例として参考にしてもらえればと思います。

Ask the Speaker

Ask the Speakerでは、講演を聴いていただいた熱量のある方々と議論できて大変楽しかったです。これがあるとないとでは登壇者としての満足感が全然違うように思います。SREとはなにかの理解に大変役に立ったと言っていただいたことが多かったです。いただいた質問ははっきりと覚えてないものも多いのですが、はっきりと覚えているのは、「SREとは一言で言うと何か?」です。それは次の付録スライドに答えを示しています。この中でも最も重要な「信頼性を適切な値に制御可能とする」が意味するところは、本来信頼性というのは特定の値を指定可能なパラメータではないが、モニタリング・オブザーバビリティ、インシデント対応、段階的な変更管理などのプラクティスを通じて、あたかも信頼性を指定可能なパラメータであるかのように帰着させることです。

SREの定義(yuuk1版)

またAsk the Speakerでは取り上げなかったものの「SREとは一言で言うと何か?」にはもう一つの回答もあります。漫画「ラーメン才遊記」の最終話では、主要登場人物の芹沢達也が「ラーメンとは…フェイクから真実を生み出そうとする情熱そのものです」とラーメンを定義付けるシーンがあります。もともとジャンクフードとされていたラーメンをいかにしてオリジナルの料理に押し上げるかが本作品では議論されています。これは「フェイク」を「技芸」、「オリジナル」を「工学」とすると、細部は異なるものの、似た構図になりえます。そのため、「SREとは技芸から工学を生み出そうとする情熱そのもの」といえるのかもしれません。*2 参考:一度ラーメンを食べたなら、あなたは歴史のなかにいる

振り返り

今回の講演はSREを自分の視点で総括する壮大なテーマに挑んでしまったために、40分でまとめることには苦労しました。各種文献を単に紹介しているだけにみえる部分もあるかもしれませんが、コミュニティではあまり出回っていない適切な文献を探すことがまず難しいです。また各種文献をつなぎあわせて、自分のオリジナルのストーリーに帰着させることもまた難しいものです。以前からこつこつとObsidianに知識を整理していたことが役に立ちました。発表練習を繰り返し、40分に収まるようにスライドを削りました。また、なぜ話すのかの動機の部分が、直前の週になってもなかなか決まらず、副業先のTopotalでの会議で壁打ちをしてもらい、きれいな形になったように思います。

登壇中は、前回は手元のPCの画面ばかりみてしまっていた反省を踏まえ、今回は会場全体を見回すように話をしたつもりです。そのでせいで、口とマイクの位置がずれて、音がうまく入らないときがあったのは次回の課題ですね。あとはこれまで意識してこなかったこととして、できていたかは怪しいですが「楽しそうに話す」ことを心がけました。

前職の上長であった@wtatsuruさんに懇親会で聞かれたのは、顧客感情を考慮したSLI/SLOについてなにか研究はないか?ということでした。自分が知る限りはありません。SREの信頼性はサービスの機能が快適に利用できなかったことに対する不便には考慮しますが、例えば不便ではなかったとしてもトラブルが起きていることに対する悪感情*3についてはCREの範疇かもしれません。SREをSociotechnologyとしてみたときに今後の重要なオープンチャレンジになっていくように思います。

最後に、この講演に言及していただいた感想ブログ記事です。ありがとうございました。

DSC04145

(Photo by SRE NEXT Staff, Thanks.)

パネルディスカッション「SREの技術トレンド2024」

10年来のエンジニア友人である@rrreeeyyyくん@deeeetくんと一緒に登壇しました。立ち見がでるほどの盛況で、これだけの密度の中で登壇することは過去あったかどうか、というところです。モデレーターであるかつひささんによる、開始前と直後の掴みや、パネルで議論する上での前提、会場からのQ&Aを含めた時間管理などの回しが素晴らしかったです。パネル終了時に盛り上がったし良かったんじゃないかなと手応えを得ました。

パネルでは、Platform EngineeringとAIに話題が偏ったようにも思いますが、正直SRE関連の要素技術として、SRE全体のトレンドと言えるほどの新規のものってそれ以外に思いつきません。すでによく知られた要素技術の各論として話せることはたくさんあり、それはそれで面白い話になると思いますが、それをトレンドとしてまとめるのは困難でしょう。

SREのトレンドを自分なりに総括します。10年代後半から順に、日本国内では、Blamelessやリスクを受容する文化醸成、トイルの削減、SLI/SLOの設計と運用、オブザーバビリティの実装、インシデント対応の組織化といった順で進んできたと感じています。インシデント対応が長らく手つかずでしたが、昨年あたりから国内でのインシデント対応関連のイベントが増えてきています。一方で、最近のSREconのプログラムリストを眺めていても、新規の流行トピックがあるわけではなく、新しい展開を模索している最中のようにも感じます。

また分野そのものの理解も進みました。SRE、共通基盤開発、ITインフラの区別が付きづらかった状況が、ここ2年ほどで共通基盤がPlatform Engineeringとして確立されてきたことから、逆にSREが何であるかも整理されてきたように感じます。

4D8A4678

(Photo by SRE NEXT Staff, Thanks.)

聴講者として

自分の登壇や登壇後のAsk the Speaker、廊下やブースで雑談していたりする時間がほとんどだったので、他の講演にはほとんど聴けませんでした。その中でも、Day2のオープニングの基調講演「宇宙科学研究所の探査機運用システムにおけるSREのプラクティスの導入と月着陸実証機SLIMでの利用」が大変興味深かったです。半年前のSLIMの着陸ライブで「特殊QL画面」と呼ばれていたものをどうやって構築したかのお話でした https://www.youtube.com/live/Udh6kvjZYC8?si=urQpVAd0vTKfS4_Z&t=3739。基本的には、IoTデバイスから取得するようなデータをGrafanaに送って表示しているだけではありますが、SREのモニタリングと比べると、可視性や広報目的でのかっこいい画面であることを非常に重視されている印象を持ちました。

Ask the Speakerでは、講演者であるJAXAの中平さんに、贅沢にも1on1で様々な質問をさせていただきました。宇宙との通信になるため、利用可能なネットワーク帯域幅が少ないため、分散トレースのようなデータ量が多くなるシグナルは使いにくいといったことを伺いました。また、以前登壇されたGrafanaConでは、Grafanaでこんな可視化ができるのかといった驚きがあったようです。類似の取り組みをされている会社はSPACE Xになるようです*4

SRE NEXT全体の感想

SRE NEXTには毎回参加していますが、今回は特に新規の企画が多かったように感じました。なんといっても、Ask the Speakerが充実しており、登壇者としても聴講者としても楽しめました。Abema Towersの11Fのスポンサーブースでは、テーブルと座席が多数ある開かれたスペースでゆっくりすることができました。サイバーエージェントさんありがとうございます。まごつきやすい受付の手続きや登壇前後のサポートが手厚く、信頼性の高い運営はさすがだと思いました。

ところで、自分の講演で、Human-Computer Engineeringとしての発展について言及しておきながら、分散システムの信頼性を技術的に深堀りする議論をしたい気持ちもあります。昨今では、メガクラウドベンダーの技術により、アプリケーションの設計に問題があっても、ワークロードに対してスケール可能となってしまう、結果的にコストが跳ね上がっているケースをプライベートで耳にしたりします。このようなデータ指向アプリケーション設計の議論もSRE NEXTに含まれるとおもしろいかもしれません。

むすび

SRE NEXTでの直近2回の講演では、SRE分野とアカデミックを近づけるための総論話をしてきました。SRE NEXT初回の基調講演のやり直しもできたので、来年は、特定の技術手法を深く掘りさげる話をしたいと思っています。あるいは、SRE分野で博士号をとることをテーマに話をしてもいいかもしれません。あと少しなんだから博士号をさっさと取れという声も聴こえてきます。

SRE NEXTはプロポーザルの応募数も100件を超え、参加者もオンライン含めて1000人を超えるなかで、年々クオリティを高めている素晴らしいカンファレンスです。来年の開催もすでに決定しており、今後もSRE NEXTが存続してくれることをうれしく思います。スタッフの皆様、スポンサーの皆様、スピーカーの皆様、参加者の皆様、本当にありがとうございました。

IMG_2601

(Photo by yuuk1)

*1:質的研究という言葉があるように、必ずしも量で示す必要はなく、いろんな人がみて納得する程度に対象について深く論理的に記述されていればよいと考えます

*2:この作品がおもしろいのは、次のシリーズである「ラーメン再遊記」で、オリジナル(本物)となったジャンルは過渡期と比べて型にはまった退屈さを感じるとあり、 再びジャンクフードであるインスタント麺に着目する話があるところですね。

*3:この顧客感情は平たくいうと「けしからん」ということかもしれません

*4:https://grafana.com/blog/2016/01/19/grafana-its-rocket-science/