UbuntuとCentOSどっちがいいの?正しいサーバOSの選び方

サーバOSを選定する上で一番大切なことは何か、それはもちろん安定性とセキュリティである。それも将来に渡ってのということになる。

セキュリティに関しては、万が一OSにセキュリティホールが見つかったとしても、それが世界で最も使われているOSでオープンソースであればすぐにパッチが用意され重要アップデートを自動更新する設定(Ubuntu においてもインストール後に設定するのが定石)によってすぐに適用される。

では将来にわたっての安定性とはなにか、これは今世界中の特にオープンソースコミッタ達の間で最も使われているものなのかどうか、世界中の企業のサーバで使われているものなのかどうか。これが将来にわたっての安定性を左右するということにつながる。OSのトレンドが変わればそのとき乗り換えばいいという人がいるかもしれない。

ただし、もしOSを乗り換えなければならない時にあなたのサービスが巨大なユーザーを抱えていたらどうだろうか。OSの再インストールしなければならないサーバーは一体何台になっているだろうか。
そしてテストしなければならない規模は?OSの入れ替えによってモジュールごとのバージョンも微妙に変わってくるので、その時に書き換えなければならないソースコードは一体どのくらいで、結果どのくらいのコストと時間がかかるだろうか。そして、あなたが使っているOSのシェアが下がってから移行するまでの間のセキュリティは大丈夫だろうか

つまり、サーバOSはシェアの多いものがいい。さらにいえば将来的にシェアが多いもの、これがわかるのであればこれを使うに越したことはない。
何かライブラリをインストールして使おうとした時もおそらくインストールドキュメントは最もシェアのあるOSに向けて書かれているはずだ。

では、今シェアが多く将来的にシェアが多いOSとはなんなのかということを調べていこうと思う。
Ubuntuにはデスクトップバージョンがあり、これによって統計数値に影響が出る可能性があるのですべての検索語句に「サーバ」「server」という複合キーワードをつけています。

英語で検索をしない日本人によるGoogle検索ボリュームの比較

まずは日本国内での比較。

日本国内は CentOS > Ubuntu になっている。そしてそのシェアはかなり均衡している。これだけを見るとこれからシェアがどうなっていくのか予想するのは難しい。
そう、これが国内のエンジニアの見解と一致している。

CentOSのメリット
デファクトスタンダード

経験者が多い。上の人にUbuntuと言っても知らない。
本番サーバでUbuntuは見かけたことがない。
医療系では見たことありますが、バージョンアップ費で稼いでいる図式なので、そういった側面ではいいでしょう。
Q.「本番サーバ」でUbuntuとCentOSどっち使えばいいの?A.CentOSです。

※2015/09/27 追記 リンク先の記事を非難しているわけではなく、「デファクトスタンダード」の部分が私の周りでよく聞く日本人エンジニアの声とも一致しているので引用してます。

日本からの英語検索によるGoogle検索ボリュームの比較

一方、国内でも英語を常用している(エンジニアスキルも高い)人たちの比較。

反転してUbuntu > CentOS になっている。ここで誰もが最初の考えがおかしいということに気づくのだが、狭い国内の範囲でしかものを考えない非英語圏エンジニアにはそもそもこのデータが見えてこない

事の真相:世界での検索ボリューム

では、世界に検索範囲を広げるとどうなるのか。

結果は、Ubuntu >> CentOS
圧倒的な差をつけて世界で一番使われているサーバーOSがUbuntu だということ、さらにすぐにはシェアがひっくり返らないということがこのグラフから分かる。

ここまで見てきたのはあくまでGoogleトレンドの検索ボリュームだったので、他にもこれを裏付けするデータとして2011年に企業で使われているOSがRHEL=CentOS からUbuntu にシェアが移ったという有名な記事などを参考にしてほしい。
Ubuntu vs RHEL in enterprise computing

2013年のQ&AでUbuntu CentOS7 を比較した記事では、実際にDropbox, Quora, the Obama campaign, SamsungなどはEC2+Ubuntu で動いていると書かれている。これもひとつの判断基準になるだろう。
What Linux server should I go for: Ubuntu or CentOS?

私がこの記事を書いたのは、何も英語ができないエンジニアを愚弄するためではない。エンジニアたるもの広い視野を持ち、未来を見据えて、自分の関わる人々がハッピーになるような選択をして仕事してほしいからだ。
世界のエンジニアリングに日本のエンジニアリングが少しでも近づくことを願って。


追記:
「どうして、Ubuntuがそんなに支持されるほどすごいんですか?」という質問をもらったのでこちらでお答えしておきます。

Ubuntuのサポートやトレーニングプログラムを有償で実施して収益化しつつ、開発者やコミュニティーリーダーをUbuntuプロジェクトに送り込むことで開発を促進しているカノニカルがすごいです。これによってUbuntuは無償でも企業のサポートを安定して得られるのでここまでのクオリティが維持されてます。
http://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%8E%E3%83%8B%E3%82%AB%E3%83%AB