在 Tecky Academy 教學中,間中會有同學問:「點解唔用 Microsoft Windows 做 Server?用 Linux 有咩好處?」 誠然,於消費者電腦 (不計算智能電話) 市場中,Windows 有七成市佔率,Mac 佔了一成,Linux 只有可憐的一個百分比。為何在伺服器的市場上,卻是反而 Linux 占有約六成,擁有最大的市場份額呢?
:^(
桌面及手提電腦操作系統市場份額
:^(
伺服器操作系統市場份額
究其原因,是因為 Linux 相對於 Windows,有幾個優勢:
1. Linux穩定性高
穩定性於伺服器中至關重要。因為普通使用者可以重啟電腦,但伺服器重啟代表網上服務中止,如果大家還記得的話,WhatsApp 年中時只是有半小時的伺服器問題,已令大家手足無措,於今日互聯網世代,用戶期望應用程式任 何時候都要保持服務,任何中途停機已不可能獲接受。
大家用過 Windows,都相當清楚 Windows 每隔一陣都須要重啟,以安裝保安更新等,但此類情況於高負載伺服器而言,無異於痴人說夢了。 Linux 不同 Windows,除了安裝新核心以外無須重啟,自然更適合用作伺服器之上。
2. Linux 有須要的軟件
大家可能覺得奇怪,通常對 Linux 的印象是 Linux 總是沒有慣用的軟件: Photoshop、 Microsoft Office 等在 Linux 上都不能運行。但其實在系統管理方面,情況恰恰相反。使用Windows Server,由於沒有套件管理員 (package manager),經常需要於網絡上逐一下載所需的軟件。 但對系統管理者來講,這絕對是一件苦差。由於軟件間不一定相容,結果安裝軟件變成要自己找出最相容的版本,相當浪費時間。
而 Linux 大多數都有良好的套件管理,例如 Debian based Linux 常用的 apt 及 Redhat based Linux 常用的 rpm,兩者都是一兩句 command 就能安裝所需的軟件。舉例,要安裝 NodeJS Runtime,於 Ubuntu 的裝法就正如下圖所示
3. Linux 代碼開源
Windows 的代碼是閉源的,也就是只有 Microsoft 可以更改 Windows 的代碼;然而 Linux 的代碼是開源的,意味著所有人都可以更改及閱覽 Linux 的代碼。 因此如果出現一些難以解決的問題,在無計可施之下,可以自行閱讀代碼解決問題。 加上一些公司甚至乎會 customize 自己的Linux,令其更適合自己公司使用。
4. Linux方便用 Command Line
此點於以前《破除迷思系列:用Command Line 的都是Hacker?》已約略探討過,Linux 繼承自Unix,有相當強的 command line 傳統,因此許多有用的工具都是專為 command line 而設。 Windows 於 command line tools 上的匱乏於 Bash On Ubuntu On Windows 發佈之後有所改善,但始終並非完全與所有 Windows feature 相容。
Mac呢?
與大家普遍所理解的相反,其實 Mac 也有 Server,只是市佔率之低,根本乏善足陳。由於 Mac的核心本身是基於 FreeBSD 所開發,FreeBSD 是一個比 Linux 歷史更久的一個Unix發行版,效能上有時甚至比 Linux 更好。着實 Mac Server 於這情況下,只在一個可有可無的地位。因此在討論 Server operating system 時,Mac 就很容易被忽略了。
超級電腦呢?
如果以上的原因都未能令你信服的話,大家不妨一看超級電腦世界,在超級電腦的世界,Top 500 都是使用 Linux 系統作為 操作系統,箇中原因,自然是因為 Linux 比 Windows 及 Mac 更適合於此等超高效能的情況下運作。
:^(
後話
有人會問 Linux 這樣好,為何沒在桌面/手提電腦市場落地生根,這是一個相當有趣的問題,可以留待下次探討,而如果想簡單一句概括的話, 就是Linux普遍用戶界面都相當慘不忍睹,一般使用者自然不會費神去使用啦。
在 Tecky Academy 教學中,間中會有同學問:「點解唔用 Microsoft Windows 做 Server?用 Linux 有咩好處?」 誠然,於消費者電腦 (不計算智能電話) 市場中,Windows 有七成市佔率,Mac 佔了一成,Linux 只有可憐的一個百分比。為何在伺服器的市場上,卻是反而 Linux 占有約六成,擁有最大的市場份額呢?
桌面及手提電腦操作系統市場份額
伺服器操作系統市場份額
究其原因,是因為 Linux 相對於 Windows,有幾個優勢:
1. Linux穩定性高
穩定性於伺服器中至關重要。因為普通使用者可以重啟電腦,但伺服器重啟代表網上服務中止,如果大家還記得的話,WhatsApp 年中時只是有半小時的伺服器問題,已令大家手足無措,於今日互聯網世代,用戶期望應用程式任 何時候都要保持服務,任何中途停機已不可能獲接受。
大家用過 Windows,都相當清楚 Windows 每隔一陣都須要重啟,以安裝保安更新等,但此類情況於高負載伺服器而言,無異於痴人說夢了。 Linux 不同 Windows,除了安裝新核心以外無須重啟,自然更適合用作伺服器之上。
順帶一提,大家常用的 Router、Switch、甚至乎令你能閱讀這個網站的 ISP Router,大部份都是使用Linux作為操作系統。
2. Linux 有須要的軟件
大家可能覺得奇怪,通常對 Linux 的印象是 Linux 總是沒有慣用的軟件: Photoshop、 Microsoft Office 等在 Linux 上都不能運行。但其實在系統管理方面,情況恰恰相反。使用Windows Server,由於沒有套件管理員 (package manager),經常需要於網絡上逐一下載所需的軟件。 但對系統管理者來講,這絕對是一件苦差。由於軟件間不一定相容,結果安裝軟件變成要自己找出最相容的版本,相當浪費時間。
而 Linux 大多數都有良好的套件管理,例如 Debian based Linux 常用的 apt 及 Redhat based Linux 常用的 rpm,兩者都是一兩句 command 就能安裝所需的軟件。舉例,要安裝 NodeJS Runtime,於 Ubuntu 的裝法就正如下圖所示
然後所有相關的套件都會跟着安裝好,比起要逐個下載,明顯更為便捷。
3. Linux 代碼開源
Windows 的代碼是閉源的,也就是只有 Microsoft 可以更改 Windows 的代碼;然而 Linux 的代碼是開源的,意味著所有人都可以更改及閱覽 Linux 的代碼。 因此如果出現一些難以解決的問題,在無計可施之下,可以自行閱讀代碼解決問題。 加上一些公司甚至乎會 customize 自己的Linux,令其更適合自己公司使用。
Linux代碼開源亦締造了一個良性循環,很多開源軟件開發者都會選擇Linux作為發佈的操作系統,令管理Linux的系統使用者有更大彈性。
4. Linux方便用 Command Line
此點於以前《破除迷思系列:用Command Line 的都是Hacker?》已約略探討過,Linux 繼承自Unix,有相當強的 command line 傳統,因此許多有用的工具都是專為 command line 而設。 Windows 於 command line tools 上的匱乏於 Bash On Ubuntu On Windows 發佈之後有所改善,但始終並非完全與所有 Windows feature 相容。
Mac呢?
與大家普遍所理解的相反,其實 Mac 也有 Server,只是市佔率之低,根本乏善足陳。由於 Mac的核心本身是基於 FreeBSD 所開發,FreeBSD 是一個比 Linux 歷史更久的一個Unix發行版,效能上有時甚至比 Linux 更好。着實 Mac Server 於這情況下,只在一個可有可無的地位。因此在討論 Server operating system 時,Mac 就很容易被忽略了。
超級電腦呢?
如果以上的原因都未能令你信服的話,大家不妨一看超級電腦世界,在超級電腦的世界,Top 500 都是使用 Linux 系統作為 操作系統,箇中原因,自然是因為 Linux 比 Windows 及 Mac 更適合於此等超高效能的情況下運作。
後話
有人會問 Linux 這樣好,為何沒在桌面/手提電腦市場落地生根,這是一個相當有趣的問題,可以留待下次探討,而如果想簡單一句概括的話, 就是Linux普遍用戶界面都相當慘不忍睹,一般使用者自然不會費神去使用啦。
__________________________________________________________
文章出處簡介:
Tecky Academy
[size=2]參考美國矽谷模式,由本地人創辦的香港微學位 coding bootcamp,有意入行的巴絲們,可於三個月內由零成為專業的開發者,唔係教 STEM,唔係求其教下網站,全部打真章!