見出し画像

サーバ用OSは何を選ぶ?どんな基準で選定をする?

おはようございます、こんにちは、こんばんは、イプリオの中の人エンジニア1号です。今回はサーバを建てる際に何を選定基準としてOSを選べばいいか?という点についてお話ができればと思います。

一般普及率割合

まずはサーバ用と限定せず、市場全体で各OSがどのように普及してるかシェア率で調べてみましょう。2024年3月の時点で以下のようになっています。

  • Android: 43.44%

  • Windows: 27.48%

  • iOS: 18.19%

  • OS X: 5.56%

  • Unknown: 2.56%

  • Linux: 1.55%

一般普及率割合

Operating System Market Share Worldwide | Statcounter Global Stats

改めてスマートフォンがどれだけ世界で使われているのか実感する数字ですね。日本では圧倒的に強いiOSは20%弱となっていますが、Apple社のハード(iPhone)のみで展開しているということを考えると凄まじい数字だと思います。

サーバ用途割合

では、実際サーバとして利用されているOSのシェア率がどのようになっているのか見ていきます。

  • Windows: 72.1%

  • Linux: 13.6%

サーバ用途割合

Global server share by OS 2018-2019 | Statista

こちらは情報が少し古く2019年時点でのものです。ただ2024年までの間でこの差が縮むことはあれどひっくり返ることはないでしょう。基本的にはWindowsが全体の7割程度を占めていると捉えて良いと思います。
更にLinuxに絞った場合、どのディストリビューションが使われているかも深堀りしていきましょう。

  • Ubuntu: 24.8%

  • Debian: 13.4%

  • CentOS: 5.7%

  • Red Hat: 0.4%

  • AlmaLinux: 0.3%

  • Gentoo: 0.3%

  • Fedora: 0.1%

  • SuSE: 0.1%

Historical trends in the usage statistics of Linux subcategories, April 2024 (w3techs.com)

ディストリビューション割合

こちらのデータは2024年4月と最新になりますが、Website向けと用途を限定したものとなります。こう調べてみて思うのは、統括的な集計情報って割と手に入らないですね…。
エンジニアをやっている方なら肌感覚で「Ubuntuが多く使われている」というのは実感できていると思いますが、上記シェアがそのまま全体的な割合とは捉えないほうがいいでしょう。それこそ基幹サーバ向けになれば商用UNIX等が強くなってくると思います。とはいえDebian系が今一番多く使われているのは間違いなさそうです。
※今回は汎用OSに絞った話になりますので、組み込み系OSは除外しています。

セキュリティ的な観点

サーバOSを選ぶ際にセキュリティリスクを考慮することは非常に重要です。

  1. セキュリティ対策が充実しているか:OSが定期的なセキュリティアップデートを提供しているか、またそれらがどれだけ迅速に行われるかを確認します。

  2. サポート体制:OSのサポートがどれだけ手厚いか、問題発生時に迅速な対応を受けられるかも重要な要素です。

  3. 実績と信頼性:広く使用されており、信頼性が高いと評価されているOSを選ぶことが望ましいです。

  4. セキュリティ機能:ファイアウォールや侵入検知システム(IDS)、侵入防止システム(IPS)など、組み込まれているセキュリティ機能の有無もチェックします。

  5. コンプライアンス:規制や業界の標準に準拠しているかどうかも確認する必要があります。

  6. パフォーマンスと安定性:セキュリティだけでなく、システムのパフォーマンスや安定性も重要です。負荷が高い環境でも安定して動作するOSを選びましょう。

エンジニア1号の各OS所感

現場レベルで構築経験があり、かつ上記ランキングでも上位に位置するWindows、Redhat系、Debian系に絞って実際の所感を書いていきます。

Windowsサーバ系

IISを使ってwebサーバとして使ったりもできますが、基本的にはイントラ用のサーバとして手を出すことが多いです、大体が認証サーバやファイルサーバ系ですね。Active Directoryを使いたい場合は一択になる感じです、LDAPで同じことをやろうとすると結構手間もかかるので…。

設定に関しては基本的にGUIでやる上、画面構成が慣れ親しんだものではあるので馴染みやすいとは思います。ただPowerShellを使うことになると完全に別の知識と技術が必要なことになるのと、GUIの方が逆に分かりづらい(個人的な意見)ところもあります。

脆弱性も多く出てはきますが、深刻なものはパッチ提供も比較的早いです。
Editionによってできることに制限もあり、基本全て有償なのでコストが高めになるのは注意が必要です。

Redhat、CentOS&Fedora系(互換バイナリ含む)

商用であるRedhatとその互換OSであるフリーのCentOS、Fedora等があります。

CentOS系は基本Redhatと一対一なのでそのまま技術と知識が応用できるのが強みです。上記データだとUbuntu、Debianの方がシェアが大きいですが、日本に限ればRedhat系の方が案件も数も多いため、日本語ベースで調査がしやすいという利点もあります。
CentOS本家はStream移行でゴタゴタがありましたが、今は互換バイナリ関係が台頭してきたことで落ち着いている印象です。個人利用なら何でもいいとは思いますが、法人利用であれば基本RockyかAlmaが運営面、サポート面で安牌かと思われます。

パッチ提供はディストリビューションによってポリシーが異なるので注意が必要です。Fedora(と現公式Stream)はパッケージも多く更新も頻繁ですがその分安定性に欠けます。上記のRockyやAlmaは本家Redhatの後に降りてくるので少しラグがあります(そこまで遅くはありませんが)。
LTSのサポート期限にも違いがあるので長期運用を見据えているのかどうかは検討した上で選ばなければなりません。

コミュニティベースで動いているもの、企業ベースで動いているもの、中身が同じバイナリでもディストリビューションによって違いはあるのでそれも含めて「RedHat系なら何を使うか」と一歩踏み込んだところでの選定も必要になります。

また、コスト面に関しては、本家Redhatはライセンス料もそれなりに高額なため、Windowsに比べて安価になるかと言われれば特別そんなこともありません。

Debian、Ubuntu系

DebianはオープンコミュニティベースのOSで、歴史も古く信頼性も高いです。
RedHatとはまた違うパッケージ管理方式を採用していますが、使い勝手の差にそこまで困ることもないと思います。
安定性を重視した考えで開発が進められており、技術的にすでに確立したサービスを運用したいのであればUbuntuよりDebianの方がよいかもしれません。

Ubuntuは割とクライアント用として環境が作られている側面が強いですが、ちゃんとUbuntu Server OSがあり定評もあります。
Debianベースなのでそちらに理解があるならコマンド体系やパッケージ管理にもそこまで困らないのは強みになるでしょう。
安定性よりも先進性を重視しているOSではありますが、シビアにパフォーマンスを見る場面でなければ十分安定もしていると思います。

提供パッケージ数も多く、Redhat系と比較しても倍近く差があります。Openstack等CentOSでは利用できないものも多くあるため、AI関係を活用したい等であればUbuntuが適した選択になるでしょう。WindowsのWSLで標準で使えたり、元々Dockerをいち早く取り入れたりという動きもあってかシェアが加速している印象があります。

これだけ普及しているOSですから基本的に調査はしやすいです、気になることや詰まったことがあっても英語日本語問わず調べれば何かしら答えが見つかります。

総合的な話

「結局何が良いんだろう?」という疑問に対しては「条件と状況を見て適切に判断しましょう」としか言えない話にはなりますが、目的のサービスが動かせるから何でもいいや、はまた別の問題が発生する可能性が高いです。

実際に運用をするとなると、保守や引き継ぎのしやすさや、チームで対応するときの技術情報の共有の利便性等も選定の基準に含まれてくると思います。今の時代に公開用WebサーバでSolarisを使って古いバージョンのApacheをソースからコンパイルしてインストールする、なんてことはなかなか限定された条件でなければやらないでしょうし、ユーザー管理をするのに頑張ってOpenLDAP等OSSで構築するより、最初からActiveDirectoryで作ってしまったほうがトータルコストが下がったり後々の技術共有もしやすかったりします。

最適な選択、に必要な条件として業界全体の動向チェックもしておいたほうが良いですね、という当たり前の結論としてこのコラムを閉じさせていただこうと思います。

株式会社イプリオのエンジニアズです! ネットワークやサーバに関わること。お客さまのインターネットでのビジネスを支えるコラムを連載していきます!