ROBOT PAYMENT Engineers Blog

株式会社ROBOT PAYMENTのテックブログです

SREとして仕事をしていて最近思うこと


この記事は Qiita の SRE Advent Calendar 2019 7日目に寄せて書きました。

こんにちは。請求管理ロボシステムチームの @trunkatree です。
今回は私の所属するSREチーム(私と @j_untanaka さん)が仕事をしていて最近思うことをまとめてみます。若干フワッとした内容ですが、毎日つづく Advent Calendar の息抜きだと思ってどうかお付き合いください。

目次


前置き

最初に自己紹介がてらチーム体制について注釈させてください。

私たちは「請求管理ロボ」という SaaS を自社で開発運用しています。サービスや基盤の概要はこちらの記事( 請求管理ロボシステム基盤の概要 )をご確認いただければと思いますが、システムはAWSで動いています。

システムチームでは現在10名のエンジニアでスクラムを組んでいて、そのうち8名がdevチーム(開発チーム)、自分を含む残り2名がSREチームです(2019/12/7 現在。絶賛変革中です)。
devチームは主に機能開発を担当し、SREチームはインフラの管理からシステムのパフォーマンス・信頼性・スケーラビリティの向上を目的とした施策の推進、監視・モニタリングなどいろいろやっています。(devチームだっていろいろやってます)

クラウド時代は情報収集が大切

まず1つ目は、

今はクラウドベンダーから便利なサービスがどんどん出てくるので、それを知ってるか知らないかだけでぜんぜん違うよね

ということです。

自分たちでサービスを運用していると、こうしたい、ああだったらいいな、というものが出てきますよね。それを自分たちで開発して実現しようとしても、完成する前にクラウドベンダーからそれを叶えてくれるサービスがリリースされている、というようなことがあったりします。近年ではそのスピードもどんどん早くなってきていて、キャッチアップするだけでもけっこう大変だったりします。

ちょうど AWS の re:Invent が開催されていましたが、怒涛の勢いですよね。

少し前までは自分たちでインフラ構築をしなければならなかったわけですが、今は一定の規模であればマネージドサービスを利用して十分なシステムが構築できるようになりました。

提供されているサービスを積極的に使いつつ、自分たちのささやかな開発リソースは自分たちのプロダクト固有なところに注力して差別化を図ったほうがビジネスへの貢献も大きいでしょう。エンジニアですからすぐにつくりたくなってしまったりしますが、一呼吸置いてそれは本当に自分たちがつくるべきものなのか考えてみるといいと思います。

そのためにはまず知っていることが前提になってきますし、新しく出てくるものは常にキャッチアップして知識をアップデートしていく必要があります。これはエンジニアという職種全体に共通して言えることだとは思いますが、特にSREが担当するような基盤領域はサービス運用コストに大きく影響してくるのでぜひ気をつけていきたいですね。

SaaSに合わせる設計思想

上ではクラウドベンダーから提供されるサービスの活用についての話でしたが、これと同じようなことがSaaSについても言えると思います。

サービスを運用するにあたっては、もちろん監視は必要不可欠ですし、ログの取り扱いなんかも重要です。そんなときにSaaSを利用するケースも多いと思います。例えば、請求管理ロボでいえば Mackerel や New Relic などを利用しています。

よく使われているサービスにはそれだけ使われている理由があるでしょうし、その分野についてよく考えられてつくられていることでしょう(たぶん)。基本的なプラクティスというものはあって、SaaS側ももちろんそれを考慮してつくっていることでしょう。

このようなことを踏まえると、

自分たちのサービスが特殊なことをしているわけでもないのに、SaaSの運用方針・使い方が合わないと感じたら、もしかしたら自分たちが何か変なことをしているのではないか?

と疑ってみる価値はあるかもしれません。
自分たちが変なやり方でシステムを構築したり運用しているがゆえに合わないのかもしれません。

特に明確な理由もなくプラクティスから外れると、それが原因で無用な不都合が生まれそうですよね。 前述のとおりなるべくプロダクト固有のところに注力したいわけですから、それ以外の基本的なところは SaaSに合わせて設計してみる というのも一つのうまい手なのかもしれません。

もちろん世の中のSaaSのすべてが正しいわけではないですし、単純にターゲットが違うということもあります。時代の変化によって合わなくなったということもあるでしょう。そこの見極めはちゃんとする必要があります。そのためにも、自分たちのサービスの特性(どこが一般的でどこが特殊なのか)をしっかり理解しておくことが大切だと思います。プラクティスから外れるときは正しく外れたいものですね。

終わりに

今回は請求管理ロボのSREチームが最近思うことを書いてみました。ポエムですね。

どんどん新しいものが出てきて、それに合わせて仕事の領域もどんどん変わっていきそうです。 ですが、ぜひそこを楽しみながら仕事していきたいですね。

最後までお付き合いいただきありがとうございました。現場からは以上です。