共通化をしない理由
最近共通化に厳しいおじさんと化してきている
主にインフラと設定まわり
アプリは事情が異なるのであんまり強く出てないが、傾向としてはある
自己認識としては安易な共通化に厳しいおじさんである
昔はお前のような共通化したら便利じゃんおじさんだったが、膝に矢を受けてしまってな……
特に、なんか便利だしとりあえず同じにしとくか……みたいなものに厳しい
たとえばサーバにはとりあえずVim入れとくとか
たとえばWebアプリサーバとバッチサーバは似たようなものが動くし同じパッケージ入れとくかとか
ベースイメージは軽いしとりあえずalpineを選んでおくかとか
たとえば雑にselinuxを切っておくとか
なにがいやか
意図しない抜け道を用意することになる
たとえばアプリサーバの設定変更は必ずAnsibleを経由するというルールがあるとする
このとき、ルールを厳格に適用するためにアプリサーバにはエディタは入っていないとうれしい
共通イメージ部分にエディタが入っていると、ルールの適用が難しくなる
一部に更新をかけたいだけなのに、全体に影響がでる
WebアプリサーバのPHPを8.2.xに更新したい
バッチサーバのPHPバージョンは検証が終わっていないので8.1.xのままにしておきたい
でもアプリサーバ用の共通設定に組み込んでしまっているので、同時に更新されてしまう
特定サーバにだけ反映すればいいじゃん?
そういう運用になるってことは共通化失敗してるってことじゃない?
どうしたいのか
共通化はもうちょっと詳細な部分でやりたい
それっぽいのでヨシ! はやめよう
同じReactのアプリなのでモノレポヨシ!
全部Amazon Linux 2なのでアプリ部分以外全部同じでヨシ!
etcetc
だいたいヨシではない
お前はどうしてるのか
共通化してる
~/.ssh/authorized_keys
共通化してない
それ以外