ウォンテッドリーはもともと、SRE やプラットフォームエンジニアリング、DevOps といったプラクティスを仕事の中に取り入れて取り組んでいます。2021年の時点ではある程度整っている状態ではありましたが、一度構築したものを10年20年とそのまま回り続けるかというとそうではなく、運用してみてプラクティス通りではなかったり、足りない部分が出てきたりする。そうした、急ぎではないけれど積もり積もって問題になる課題(いわゆるトイル)を中心にお願いしていて、依頼の中身は、大きく移行・アップグレードの実作業、運用改善・トイルの解消、技術相談・助言の3つに分かれます。
AWS Graviton への移行は、コスト削減が目的でした。各リポジトリで1つずつ対応する必要があり手が足りなかったので、リポジトリ単位で分担して進めてもらいました。結果、インフラコストが2〜3割削減できています。CI も、Travis CI から GitHub Actions へ移行しました。GitHub 内で完結した方が便利だという判断で実作業をお願いしました。監視も、New Relic から Datadog へ移行していて、方針は社内で立て、調査と移行タスクを順番に対応してもらいました。
運用面では、Terraform の改善は数が多かったですね。導入も運用も固まってはいたのですが、たまにエラーになる、CI が遅い、変更に時間がかかる、といった細かい問題を抱えていました。インフラは基本的に全部コードで管理しているので手動操作はいらず、安心だし属人化も防げて、承認フローも効く。しかしエラーが起きると手動で対応しないといけないし、それによって別の問題も起きてしまう。そこを安全なフローに置き換えたり、もともと大きすぎた変更の単位をどんどん小さく切り出して、安全に変更できるようにする作業を担当してもらいました。インシデント対応フローの構築は、当時その仕組み自体がなかったので、整備してもらった上で社内に浸透させました。
相談ごとでも頼っていて、たとえば SLO。データポイントが少ない指標をどう扱えばいいか、といった運用の相談に乗ってもらう。セキュリティ対策についても対応方針や実際に影響を受けるのはどこかを一緒に確認してもらいました。社内でも調べはするのですが、その裏付けが取れるのは心強い。サポート切れが近いコンポーネントの脆弱性についても、危ないので上げた方がいいと先回りして知らせてくれます。いろんな会社を見ている Topotal さんに、世間一般ではこう運用しているという他社の知見を聞けるのも、相談する価値の一つです。