正義とは何か

Infrabbitでのこのサイトは、とりあえず個人事業始める際に、なんか凝ったことするのもめんどくさいし、それを延々仕事の傍らメンテナンスし続けるという苦行を成し遂げられる気が全然しなかった、という理由からWordpressで適当に構築したフロントとなっています。

なんだかんだで、とりあえず自動アップデートさせておけばだいたいは問題ないのと、最悪アップデートでサイトが止まっても、「止まっただけで済む」という点が大きいですね。

さて、そんな適当極まりないサイトなんですが、Aurora Engine Version 2からVersion 3にはよせぇ、とAWSさんからせっつかれたため、おもむろにインプレースアップグレードぶちかまして8.0系へと移行しました。

それはよかったんですが、思い付きで移行したため、つい数か月前にdb.t3.microでRI買ってたのを完全に忘れてました(バカ

おかげで数万円の無駄金がががが。かといって今更db.t3.microの何か立ち上げたところで使い道もないですし、そのままどぶにでも捨てておくことにします。

※Aurora Engine 3はmediumサイズ以上

で、もう無駄金使っちゃったんだからいっそもっと散財しようぜーといういい加減な理由から、さらにムダ金を使うことにします。

まずやったのは、とりあえずdb.t4g.mediumで移行したので、これのRIを買う。smallに比べると高いねぇw

次に、AWSさんが単一インスタンスなんじゃぼけぇーってうるさいので、リーダーを追加しましょうそうしましょう。当然Aurora Engine Version 3なので、既存のdb.t3.smallのRIは全く活用できません。同じ活用できないなら、いっそのことAurora Serverless v2動かすことにしましょう。

というわけで、基本のライターにdb.t4g.mediumを充てておき、リーダーとしてAurora Serverless v2をスケーリングアクトとして導入。せっかくなんでフェールオーバー噛ませて、実際にServerlessがライターに昇格して読み書きできるところまで確認。動作するのは知ってたけど、動かすとやっぱりとっても気持ち悪いw

なんかもうとても気持ち悪い何かなんですが、まあAutoScalingだってフリートで適当にスポットインスタンス引っ張ってこれるわけだし、そう考えればまあ延長線上だよね。気持ち悪いけど。

せっかくなんでさらにHyperDBで負荷分散させよう。と思ってHyperDBを入れてみたんですが、これがいろいろエラーを起こす。まあエラー自体はHyperDBの掲示板見れば直し方書いてあるんですが、問題ははて、これを手直しするのはそもそも正義なのか。と思い直して導入を避けました。

現行バージョンに合わないならプルリクだしてマージしてもらえよ、と思ったんです。

でも見てみりゃあ更新が二年前、動作確認している最後のバージョンは6.0.9、これ、メンテナがもう活動してなくないか?
php8.0互換のとこまではやってるっぽいけど、なんとなくプラグインページの様子からは「活動している感」が感じられない。さすがに使うのは怖い。別に、動かなくなるとかが怖いわけじゃなくて、ほったらかしにしにくいのが怖いのと、なんやかんやWordpressのアップデートの都度なにかしらの修正をwp-configとかに入れ込んでいく必要が出てくるのが想像にたやすく、ちょっと採用したくない。

その結果生まれたものをアンインストールするなりのときに完全になかったことにできるのか、あるいは影響範囲を正しく見積もれる状態と言えるか。

インスタンス+AuroraServerlessの持つ「技術的な気持ち悪さ」ではなく、こういった「なんかエタったけどコミュニティの人々によってなんか生かされ続けている」という気持ち悪さ。いや、コミュニティを悪く言う意図はなくて、それ自体はとても良いことなのだけど、それによってゾンビみたいに生かされてしまっている(ように見える)プロジェクト、というのはなんというか、気持ちが悪いのだ。座りが悪い、というか。なんか落ち着かない、というか。

かつてのDelegateだったりのように、もうプロジェクトとしては傍から見れば死んでいるのに、使う人たちがいるからその人たちによって生かされているようなプロダクト。そんな風に見える。

こんなもん、こんな姿で生かしていくくらいなら、本体が分散DBに対応しろよ。今時Symfonyとかのフレームワークだって対応しているのに。Wordpress自体はスクラッチで書かれているから、なんか過去のしがらみの影響で捨てられないものが多いんだろうけれども。

WordPress2とかまっさらで作れば全然変わるんだろうけどねぇ。

OSSとしてはコミュニティによって脈々と息をしている、というのも正義なんだろうけど、これはOSSの正義で利用者側の正義じゃねぇんだよなぁ、と。別にそれで何かが変わるわけではないのだけれど、アーキテクトとしてなんやかや設計する場面において、関係者全員の正義を満たす、なんてのはそもそも無理筋なケースが多いわけで、誰の正義を正義と定めてしまうのか、というのはとても重いなぁ、と改めて感じた次第。まあ常々思ってはいることだけど、改めてみると、やはりその決定を下す、というのは重いことだなぁと思ってしまう。

お仕事で設計のいろはを上流工程に進みたい、なんて言ってる子に叩き込んだりもするのだけど、何度説明しても全体俯瞰せず簡単にピンポイントの「やり方」だの「細かい作業順」だのにフォーカスして関係者全員やシステム全体を見ない、とか、抽象で大枠を組めなくて具体に落ちやすい。

と、いうのを、なんとなく見てた米山議員vsひろゆきの議論なんかを見ても思ってしまったりもした。最近(?)のひろゆきってわりと抽象で語れないんだなぁ、というのを感じる。具体の極論に落とし込んで、全体議論を煙に巻こうとしているように見えるんだよね。これは論破って言わないよなぁ、なんて思いながら。昔はここまでひどくなかった気がするんだけど、最近のひろゆきの弁論は見てて心底痛々しい。

自分も年を取ってきているから、どんどんそういう風になっていくんだろう。恐ろしいことだとも思う。思考が固着してしまい、固まって、うまく動かなくなっていくんだろう。それはとても怖いことだし、頭脳労働者としての死だよなぁ、と思う以上、いま、動かせるだけ脳みそを動かして、脳細胞の老化を少しでも遅らせる努力をするのが、頭脳労働者としての最低限の社会に対する義務なのだ、と心に刻んで生きていきたい。