投稿日

社員レポート#5 〜 OpsDev エンジニア 〜

みなさまこんにちは、ソラコムの平です。

ソラコムの職種や”中のひと”の実際の姿をみなさまに具体的にお伝えしたく7月より実験的に進めていた社員レポートですが、今回で前半は最後となります。

前半のフィナーレを飾る今回は、外からは最も見えにくい職種の一つである OpsDev エンジニアを特集します。これまでに発表した新規サービスの数やイベント、お客様数の増加スピードなどから、攻めのイメージが強いソラコムですが、これがないとサービスが成り立たないという大事な守りの部分ももちろんあります。それを担っている職種の一つが今回紹介する OpsDev エンジニアです。さて、どんなメンバーがどのように守備を固めているのでしょうか。早速担当の五十嵐に聞いてみたいと思います。

ーash よろしくお願いします。
ソラコム五十嵐(ash)です。どうぞよろしくお願いします。

ーまずはashというニックネームが今まで登場いただいたメンバーと比べると一風変わったように聞こえますが、簡単に説明いただけますか?
(15分後)

ー・・・非常に興味深く面白い話だったのですが、残念ながら今回の趣旨には関係ないので、ばっさりカットさせていただきます。お問い合わせフォーム に要望がきたらまた別の記事にしましょう。
ええ、いきなりのカットですか・・!

ーでは自己紹介含め、担当している職種について簡単に紹介いただけるでしょうか?
十分に自己紹介したつもりですが。。。。。前職では通信キャリアで自社クラウドの開発運用を行っていました。ソラコムでは OpsDev(タイポじゃないです)= 運用に主眼をおいた開発及び、ソラコムのコアシステムの保守を行っています。

ーOpsDev というのは私はソラコムに入ってから初めて聞いたのですが、一般的な用語なのでしょうか?
簡単に言うと Google の SRE(Site Recovery Engineer)に似ていると思います。一方で、ソラコムでは創業当初からエンジニアバックグラウンドを持っている CEO の玉川や CTO の安川が運用の大切さを理解していたため、SRE が一般的なる前から OpsDev というポジションがあって今日もソラコムでは OpsDev という言葉を使っています。OpsDev については安川の資料があるので、こちらも参考にしていただけると幸いです。

report-ash1 (写真:Discovery 2017 SORACOM ブースにて)

ーソラコムの運用開発の特徴について教えてください。
通常の運用というと24時間/365日で輪番を組んでやるというのがあるのですが、これを一般的にやると最低で10人とか必要になります。一方で創業間もないソラコムでは、人数は限られている中で、通信という信頼性が求められるサービスを提供する必要があったため、人に頼らない運用を追求してきました。

ー確かに少ないメンバーで24時間/365日の運用はどうなってるんだろう、とずっと気になっていました。いくつか具体的な方法について紹介していただけますか。
目新しさは無いとは思いますが、徹底的に監視を行い、自動復旧することを心がけています。弊社のサービスはマイクロサービスの集合体なのですが、各サービス単体を再起動してもシステム全体としての整合性が保たれるように全てが設計されています。そのため、監視側は起動順などを気にせずにプロセスの起動/再起動ができるので、自動復旧が容易になっています。また、Design for Failure の思想のもと、システムが最低3重化されているため、基本的に単一故障で OpsDev エンジニアが War Room に集まることはありません。休日や深夜帯に起こった自動復旧しない単一故障であれば、十分に寝て日勤帯に復旧作業に取り掛かります。

一方で緊急時には、全員に通知が行く slack の #andon チャネルでしかるべき対応を行います。ソラコムではいろいろと検討した結果、自社で PagerDuty に似た自社の電話システムで緊急連絡及び、対応可能か否かをダイヤルプッシュで回答できる仕組みが入っています。また slack から例えば、 /telephone kenta とコマンドを送ると弊社 CTO の安川の apple watch に通話することが可能になっているので、気軽にモーニングコールをすることもできます。緊急連絡よりかはミーティングを忘れてる/寝坊?の際の連絡に多く使われているような気もしますが。。。。

ー確かに朝に弱い社員も一定数いますね。(モーニングコール、いいなぁ。。) また、私はオフィスの端においてあるお弁当箱みたいなものが気になるのですが。
言わせてしまったようですいません。Raspberry Pi(通称 RPi タワー)なんですが、システムのブラックボックス監視、要は実際のユーザに合わせた監視を行っています。

report-ash2 (写真:RPi タワー)

弊社ではクラウドを徹底的に使うことが奨励されており、ブラックボックス監視を行うことになった当初、皆さんの家にも普通にある19インチラックを購入して、ラックマウントサーバを使おうと思ったら社内からものすごい拒否反応があって、しょうがないのでハンズオンに利用していた古い Raspberry Pi で監視を始めたのがこのタワーの最初になります。
実は Raspberry Pi で遠隔監視を行いたいというお客様はたくさんいらっしゃって、このタワー開発で培った USB ドングルを差したら自動で起動するするスクリプト、世界中にある RPiタワーの監視スクリプトを更新する方法、ネットワークが切断されたときに自動で復旧する方法など、遠隔監視で重要となる機能の開発と知見を得られることができました。

今日でも SORACOM Air のプランが増える毎に Raspberry Pi が追加されるため、ソラコムサグラダファミリアとも呼ばれ、まだまだ開発チケットが尽きそうにない OpsDev チーム自慢のシステムです。PagerDutyPrometheus が社内のツールの延長でサービスになったように、OpsDev チームで培った知見がサービスにフィードバックされていることもあります。

ーよく言われる開発と運用の壁についてはどうでしょうか。
OpsDev エンジニアと開発エンジニアは基本的に全てが同等で、スキルセットも同じものが求められます。新たなサービスのアーキテクチャ決めには必ず OpsDev チームも参加して、時にはコードレビューや pull request も出します。運用開発のチケットを我々は Aegis と呼んでおり、開発エンジニアも稼働の15%を Aegis チケット割り当てることが求められています。一方で OpsDev エンジニアが作ったサービスもあります。(盾だけに)矛盾という言葉がよく頭に浮かびます。

ーなるほど。サッカーで言うとプレーヤーがゴールも守り、時には点も取りに行くと言うことですね。OpsDev エンジニアはベッケンバウアーみたいですね。
知ってる世代でしたっけ?日本人的には三杉君ですね。

ー・・・・・。
えーと。。。。。気を取り直して。ただ基本的には全員が質の良いコード/システムを提供するというのが根幹にあると思います。流石に毎日電話がなったら、禁句を連発すると思います。先程いくつかの壁をなくす仕組みを紹介しましたが、根幹にあるのは安らかな眠りを提供してくれる安定したシステムの構築にあると思います。

ーどんな人が向いていると思いますか?
詳しくは募集要項を見てもらいたいとは思いますが、経験しているというのは強いと思います。私も今までの人生で、障害の電話がなったので監視システムを見てみたら警告が1000個以上出ていて、ああこれは夢だと思ってそっとパソコンを閉じそうになった経験があり幸いに少しぐらいの問題で動じることがなくなりました。悩みは現状システムが安定しているので、弊社では修羅場を経験できないことですかね。弊社も Netflix の chaosmonkey を日々は走らせられるぐらいのシステムに早く持っていきたいです。

もう一つ大事なのは、問題が発生しないようにするのが仕事なので、認知されることが少くないので、セルフモチベートできる強い心が必要です。未然に障害を防いだ場合は、チーム内でなるべくハイテンションで褒め称え合うので、変な集団と思われていますが、OpsDev チームは You’ll Never Walk Alone の精神でこれからもやっていきます。

ーash の視点から見てソラコムはどんな組織ですか
ソラコムリーダシップステートメントDevelop Dream Team というのがあるのですが、全ての方面でレベルが高く尊敬できるメンバが集まっていると思います。エムバペやメッシ級のプレーヤーが11人いればチャンピオンズリーグでも優勝できると思うので、これからもどんどんエムバペ/メッシを採用して世界一になれたらと思います。

ーキーパーもエムバペ/メッシで良いのでしょうか?
キーパーはクルトワで。

ー最後に、2年後、3年後の ash はどんな仕事をしていると思いますか?
これまでの2、3年が予想できなかった様に、今後の2、3年をイメージするのは非常に難しいですね。よく言われることですが、年齢とともに仕事量は減ってしまうかもしれないですが、経験から最短経路を見付けられる効率化、またこれまでの様に着実に自動化を推進していくので、仕事の絶対量を積み上げていけるのが強みだと思っています。まあ究極的には SWAS ですね。

ーSWAS?????
Sleep Well Admin System です。

ー。。。。。最後はベッドの CM みたいになってしまいましたね。このまま締めちゃって良いでしょうか?
綺麗に締めたつもりですが。。。。。 OpsDev エンジニアも絶賛募集しているので興味がある方は是非応募してください。また10月9日(火)にオープンハウスを行います。こちらもぜひご参加ください。

ーところどころ微妙な空気になりつつも、めげない ash の心の強さ = OpsDev エンジニアの適正というのが垣間見られたインタビューになりました。今日はどうもありがとうございました。
この返しに動揺せず、冷静でいられる asako も適正ありますよ。

ーSWAS が完成したら考えます。
がんばります。

ソラコム asako 平