こんにちは。hokanにSREとして10月に入社した、躑井です。
大企業でSIerとして9年半勤めた後、思い切ってスタートアップに転職しました。前回、こちらの記事で転職のきっかけについて紹介しましたが、今回は渾身の、重要性が高まっているSREの業務の概要とhokanでのSREの役割とその魅力についてを紹介します。あくまでもhokanにおける解釈となっていることを予めご了承ください。
僕の簡単な自己紹介
同志社大学の電気工学科卒業後、大手企業にてSIerとして9年半働く。同期がhokanに入社し、そこでの活躍ぶりをみて、興味がわく。相談されて提案した、認証基盤の構想が自分の提案通りに2週間で実装されたことに驚く。そして、ここなら活躍できるかもしれないと魅力を感じ、これまでの安定生活を投げ出して、hokanに2021年10月に入社。
SREの仕事って何??
ご存知の方も多いと思いますが、SREという言葉はGoogleが提唱したエンジニアの役割です。システムの信頼につながる安定運用を担うことに重きをおいた業務です。一般的なコーディングスキルは必要となりますが、インフラやクラウド、セキュリティにまつわる知識も大切になってきます。
簡単に言うとSREの役割は大きく3つあり、
① サービスの安定性維持
② パフォーマンスの向上
③ インシデントの管理
といえます。
システムは開発すれば終わり、ではなく、そこからがSREの仕事です。常にサービス提供に問題のない状態を維持し続けられるようにシステムの管理を行うことが業務です。また、何かトラブルが発生したときに、対応をする担当でもあります。そのために、モニタリングやインフラの基盤構築などを実装しています。
高度なセキュリティが求められるhokanのSRE
ここで、hokanのSREの業務をご紹介します。一口にSREといっても、会社の状況や他チームの構成により細かい業務は異なります。まず、hokanではあえて、開発チームと切り離して、チームを作っています。僕は立ち上げとして入社し、リーダーの高畠さんと2名で構築しています。(2022年1月現在)SREがチームとして存在しているのはシリーズAの規模のスタートアップではなかなか珍しいと思っていますが、取り扱うデータの量や繊細さ、有用性、そして何よりお客様に安心・安全に使っていただくためには必要不可欠な体制です。もちろん、タスク専任にすることで、お互いにそれぞれのことに全力を注げます。後回しにしがちな業務にしっかりコストと時間を割いて品質管理しているのは企業として働く側も安心できます。また、こちら側に提案や方向性を委ねてくれるーー大手ではなかなかできない魅力的な経験です。
現在はチームの立ち上げ期ということもあり、下記内容を実施中です。GoogleのSREチームのレベルチェックリストを参考に、鋭意取り組んでいるところです。
① サービスの安定性維持
→システム基盤をより安定的に提供できるように構築中
ECS化の対応
監視項目の整備、追加
認証機能の拡充、更新
インシデントレポートやポストモーテムの追加
② パフォーマンスの向上
リファクタリング(既存コードを見直し、修正する作業)
スロークエリやレスポンス速度の計測、改善
③ システムの変更内容管理
既存環境のIaC(Infrastructure as Code)化の実施
hokanは保険の加入情報という繊細な情報を扱っていることもあり、システムの監視やセキュリティに関連する機能については、早い段階から強固な実装を心がけています。例えば、認証機能であれば、攻撃者からの侵入を困難にさせる二要素認証などの機能実装はもちろんのこと、何度もログインを試みるような不審な挙動を監視し、管理者に通知するような機能も実装しています。この機能により、セキュリティ向上はもちろんのこと、ログイン出来ずに困っている方を検知し、対応することができるので利便性向上にも貢献しています。これはCREチームやCSチームといった、明確に役割を分担している他のチームが存在し、彼らと密な連携が出来ているおかげで滞りなく実施出来ています。
(前回の写真の続きです。苦し紛れのモノボケを優しい高畠さんに付き合ってもらっています)
お客様から遠いようで近い存在、SREの魅力って何?
では僕自身が考えるSREの魅力ですが、皆が使っているシステムの自動化と安定稼働を推進し支えられる、という縁の下の力持ち感です。安定稼働とだけ聞くとルーティンワークを想像するかもしれませんが、3年後・5年後の組織の状態からブレイクダウンし、最新技術も常に取り入れながらチームとしての土台を作る作業にはクリエイティビティが求められることもあり、とても魅力的だと感じています。また関わる技術も幅広く、解決手段を自由に創造し、対応するところにやりがいを感じます。構築と運用という二足のわらじで成長できる環境は、めちゃくちゃ自身のスキルアップにもつながっていると感じています。
ちなみに、SREの業務はお客様と直接対面でお話する機会はまずありません。しかし、何か問題が発生したときにお客様の状況を理解し、解明が求められるエンジニアです。問題にはあらゆる要素が絡み合っているため、ログや状況を細かく確認していきます。
例えば、何らかの理由によりログインできなくなるなど、昨日までできていたことがいきなりできなくなると、信頼性を大きく損ねることにつながります。前述の通り、あらゆる要素が絡み合っているので、ログを紐解いていかないと、「この事象だからこれ!」とすぐにわかるものではありません。ケーススタディで色々な事象を学び、他のお客様で起きないような策を構築していくのは常に新しい発見があるので、刺激的で面白いです。一方で、僕たちチームが失敗をしてしまうと大変なことになるかもしれない。そんな危機感も常に隣り合わせではあります。こういった過程でどれだけお客様に活用いただいているか、システムの細かい挙動がお客様に影響を与えているかを感じることができ、自身の使命感や責任感も育っていきます。急成長しているシステムですので、正直何が起きるかわかりません。ただ、そんな山や谷も最小限の高低差にできるように、日々向き合っています。
そして、より良い基盤を作るために、AWSなどの日々進化している新しいサービスを率先して使っていけます。エンジニアとして新しい技術が試せるのはわくわくしますし、その技術により、事前に察知して、改善しておくことで大規模な障害を阻止できたりすると、達成感を感じます。この一連に”わかる!”とうなずける方には特に、仲間になってほしいですね。
ニッチでも個々のスキルを活かせる可能性が無限大なSRE
ここまで読んでくださった方は、”SRE興味あるけど、自分のこれまでの業務がニッチだから活かせるかわからない”という方もいらっしゃると思います。僕は前職で携わっていたこともあり、入社して初めて担当したシステムは認証基盤でした。認証基盤というとピンとこない方もいると思いますが、システムに入るべき人を判別し適切に権限を与えたり、疑わしいアクセスなどを検知し対応するような、システムの門番のような、とてもニッチな機能です。一般に、複数のシステムを同時に管理するような大規模環境で整備されることが多いですが、hokanでは将来を見据えて今の規模から整理をはじめました。”こんな知名度が低めな知識がここで活かせるとは・・・”と思ったのは言うまでもありません。ここまで、SREはインフラ全般を見るような紹介をしてきましたが、見る範囲が広いからこそ、超専門スキルを活かせる機会があるんです!
渾身のnoteを読んでくださり、ありがとうございます。正直なところ手探りでSREについて構築しているので完璧ではありません。安定運用に乗せるための試行錯誤を実施している状況ですので、新しい情報をキャッチしてきてくれる方を切実に探しています!!良いアイディアや提案は取り入れたいですし、hokanの託すというバリューも、体現していこうと思っています。アンテナを張り巡らせてくれる方は大歓迎です。
最後に僕のある日のスケジュールをご紹介します。
9:30 始業
11:00 Daily scrumエンジニア朝礼(オンライン)
12:00 昼休憩
14:00 週次の定例(オフラインorオンラインで交流会:今後の方針や今月の動きなどを共有する場)
19:30 終業
・打ち合わせ以外の時間は、基本的にスラックベースでほかチーム(CS・CRE)からのシステムに関する問い合わせに随時返答
・IaCのためのコードを書いている
・新しいメンバーが入ってくるときにはオフラインの親睦会を実施(状況に応じて)
これを読んで、SREの分野に興味を持たれた方、hokanなら自分の技術が活かせるかな?と思った方、ぜひ一緒にSREを盛り上げ、認知を拡大していきましょう!