パソラーです

https://twitter.com/pasora

SRE こそビジネスロジックを理解するべき

SRE という職種はまぁまぁ新しいものであるので、いきなり SRE を名乗ってビジネスキャリアがスタートするようなことはまだまだ少ないように思う。
自分が観測できる限りではあるが、

  • 元 Dev
  • 元 DevOps
  • Ops

の中でも Ops 色が強い人が多い気がする。
(ちなみにそれぞれの定義はせずに「かつてそう名乗っていた」程度にしておく。なんなら SRE の定義についても最近頭を悩まされている。)

そんな中で元 Dev であった自分が思うに、ビジネスロジックを理解している(理解しようとしている) SRE は稀な気がする。
また言葉の定義みたいな話になってしまうが、ここで言うビジネスロジックはもちろんソースコードに落とし込まれるような複雑なアレもあるが、ほとんど
そもそもそのサービスがどうやってマネタイズをしているのか
に集約されると思う。

ビジネスサイドは当然売上を上げ、コストを下げることに大きな目的を置いている。

拡大するサービスの規模に十分追いつくために、スケーラビリティを担保したアーキテクチャにするというのは当然なのだが、
だからといってコストをかけまくるわけにはいかず、限られたリソースで何ができるかが勝負になる。

この変化の激しい業界では突然どこかの会社と提携したり、突然 SNS でバズって流行り始めたり、突然どこかの大統領なり官房長官なりの発言に左右されたりすることも少なくない。

例えば「A 社と提携し、A 社の B というサービスと連携するようになる」場合、
ビジネスサイドの立場になれば何を狙いとして提携したのか、ユーザはサービスの何を利用するようになるのか、
A 社に対して自社は何を対価として提供することになるのか (=会社間の契約なのでユーザに直接影響しなくても SLA が高くなる傾向にある)
を判断し、必要な対策を取る準備をしなければならない。場合によってはすぐに対策を取る。

自らのサービスが置かれている状況が変わったときにシステムに対して何が起こり得るのか、どこに対策を行うべきなのか、極論プレスリリースの情報だけで推察できることは非常に重要である
それは普段いかに開発側(可能であればビジネス側)とコミュニケーションを取っているか(情報をキャッチしているか)、システムの各コンポーネントの役割を理解できているか、
不確実性(外部経済、外部不経済と呼んだら良いのだろうか)と向き合っているかが問われる。
単にインフラ技術に詳しいだけではハッキリ言って足りない。

それらを踏まえると、「稼働率99.99%」が単なる数字では無くなってくる。
2020年は SLI がどういう意味を持つのかを理解し、定義し、可視化し、SLO / SLA を決めることができるかどうかが課題だと思っている。