CentOSの怪
この文章は2017年当時、疑問に感じていたことを振り返る意味で書いています。時代遅れの話で、現代においては、まったく役に立ちません。というか、むしろ役に立ってほしくないです。
「そういう事もあったね」と思う人以外は、読むだけ時間の無駄なのでブラウザバック推奨です。
プライベートではUbuntu一択だった
自分はつい最近までプライベートで使用するサーバーのOSは、2009年頃から歴史的にUbuntuを採用していた。CentOSにする選択肢もあったが、使ってみるとインストールされるパッケージのバージョンが古く、わざわざ自分でリポジトリを登録して運用することに違和感を感じたためである。
また、Ubuntuの場合、比較的新しいバージョンのソフトが公式リポジトリにあり、nginxなどの設定も割と最初からある程度チューニングされており扱いやすかったというのもある。
業務で出会ったCentOS信仰
ところが、業務ではなぜかCentOSを使うことが多かった。aptコマンドに慣れているのでrpmコマンドを覚えるのはめんどくさかった。しかも、aptitudeみたいなグラフィカルなUIもなかった。
なんでCentOSを選ぶのかときいても、「信頼性がある」とか「Debian系は怪しい」とかよくわからない理由で選ばれていたようだった。当時の段階で世界シェアの過半数はDebian系だったにも関わらず…だ。
安定性重視なのにRemi前提という矛盾
エンタープライズ向けなので安定性重視というのはわかる。問題なのは、安定性を重視しているのに、不安定版のリポジトリであるRemiを使う前提だったことである。この時点で本末転倒ではないか?1
例えるならば、牛丼屋で牛丼肉なしを頼んだり、真空管アンプでハイレゾ音楽を聴く2ようなものである。
考えてみると、この手の安定性を重視しているのに非合理的かつ無意味にするような事例は枚挙にいとまがない。
データベースも一つとっても、脳死でMariaDBじゃなくMySQL使ったり、どう考えてもスキーマなんて使わないであろうPostgreSQLを使うパターンが多かった。3
しかも、CentOS7になってデフォルトのDBがMariaDBになったにも関わらず、わざわざアンインストールしてMySQLを入れるような体たらくである。公式が用意している安定性の答えに反するようなマネをしているのに、本当に安定性の意味を理解しているのだろうか?
というか、CentOSである意味って何か?
サポート切れCentOS6の実例
他にも次に入った会社で、別会社のサーバー管理を任されたきは驚かされた。日本有数の住宅メーカーのサーバーなのに、なんと、サポート期限が切れてから1年以上経過しているCentOS6が使われており、コンソールトップにはその旨の警告文が表示される体たらくだったのだ。
そもそも、複数の外の会社が、本社内のサーバーにSSHで入れるようにしているという意識の時点で相当アレだが。
「危険なのでアップグレードしましょうよ」と言っても、全然聞き入れてもらえない。いや、もうコンソールログに赤文字で「サポート期限切れですよ」って出ているじゃないですか!
聞いてみると、「複数の会社でそのサーバーを共有しており、その他に影響するのでできない」とのこと。しかも、ユーザ分離はされていたもののWebrootは共通のものにアクセスするよう前提なっていた。
オイオイオイ。
もはや、エンタープライズって何? ってレベルである。いつ壊れてもおかしくない。
案の定、程なくしてその大手住宅メーカーのサーバーはクラッシュを起こしたが、その後について自分が知ることはなかった。
そういう技術的合理性のない技術選定をさせられる割に、ここが壊れるとバックエンド、フロントエンド全体が吹き飛ぶぐらい責任が重大なところが嫌だったので、インフラエンジニアだけはやりたくないと思ったものである。
今は、AWSなりGCPなりAzureなりでIaaS化が進み、クラウド運営会社がこの手の責任を持っているので、需要に対して過剰な技術選定の問題は別にしても、この手の問題は起きないと思いたいが、実際のところはどうなのだろうか?
コメントを求む。
-
サーバーにCentOSをインストールして一番最初にやることはSELinuxを無効化することだったのは言うまでもない。 ↩
-
サウンドエンジニアの立場からすると、ハイレゾ音楽というのは、「mp3などで不可逆圧縮せずにスタジオレベルの正確な音をリスナーに送る」というものである。しかし、真空管アンプは結局のところ、音を歪ませることで聴きやすい音にしている。(特にジャズベースはより温かみが出るし、クラシック音楽を聴くと空気感がぜんぜん違う。)結局のところ、作者の意図とは裏腹に、オリジナルの音を劣化させていることは間違いないので、「真空管アンプが高音質」だと喜ぶのは、本質がわかってないのに脳死でありがたがる、エンタープライズのそれと同じだと思う。
ちなみに自分は、自分好みに音をカスタマイズする行為を否定しているわけじゃないのであしからず。 ↩ -
そもそも論として、BtoB向けで一日のPVが1000に満たないのに、本当にPostgreSQL、MySQLが必要な案件なのか甚だ疑問である。絶対Sqliteの方がパフォーマンス高い。
バックアップや復旧も複雑なSSHコマンドを入れることもなく、sqliteファイル一つの入れ替えだけで済むので管理も楽である。 ↩