(商業炒作之前的) 雲端運算簡史 -- SaaS 篇 (最早的雲端技術/架構/應用)
By HUNG Chao-Kuei on Sunday, October 17 2010, 21:22 - Permalink
(通常技術文貼在 「玩具烏托邦」; 不過雲端實在炒作得太兇了, 連某些資訊教授都被騙得團團轉, 所以貼在這個部落格, 幫助多一點人保持清醒, 避免上當。)
雲端並不是新技術。 雲端技術始於 1969 年左右。 購買昂貴的雲端方案之前, 應先了解雲端技術的歷史, 以免被過度的商業炒作欺騙, 不只花冤枉錢﹑ 浪費資訊人力, 甚至還將自己單位的資料鎖入封閉的雲端。 本文簡介一些成熟﹑ 免費﹑ 自主的雲端 SaaS 方案, 作為企業/學校/組織採購更昂貴雲端產品之前的實驗建議, 並作為比較用的低標準。
Telnet 是最早的 SaaS (Software as a Service)。 從 1969 年開始發展, 在 1983 年最終版定稿。 它等於是文字版的 VNC (下詳)。 像我習於用文字瀏覽器 lynx 上網﹑ 用文字工具 mutt (過去用 pine 和 elm) 收信﹑ 用文字編輯器 vim 編輯文書檔﹑ ...。 對於我們這些習於使用文字工具完成絕大多數工作的人而言, telnet 就是不折不扣, 將整個桌面 所有應用軟體 放在遠端伺服器的最強大雲端工具。
有鑑於 telnet 安全性不足, Tatu Ylönen 在 1995 年研發了全程加密的 ssh。 較後來版本的 ssh 具有 X Forwarding 功能, 甚至連雲端上執行的任何 圖形介面應用軟體 也可以傳回本地顯示, 所以 使用 ssh -X 連線的用戶, 就是最早﹑ 最全面的 SaaS 用戶。 時至今日, 沒有任何一項更新的雲端技術, 在技術本質上超越 ssh -X; 唯一的差別, 是方便性與控制細節的多寡。 例如: 透過 ssh -X 編輯同一個文字檔, 其實就是 wiki; 古代的 write 與 talk 指令, 其實就是最陽春的即時通, 而當時即時通的用法, 多半是登入遠端主機再對話, 所以也是 SaaS。 當然新的 SaaS 有很多新的功能, 例如 可用以部分取代微軟 Office 文書軟體的 wiki, 具有歷史記錄﹑ 版本比對﹑ 用戶自我註冊等等額外功能。 但是這並不表示 wiki 在技術本質上超越 ssh -X。 任何可以用複雜雲端技術實現的功能, 原則上也都可以寫一個 "本地版" 的應用軟體, 再透過 ssh -X 將之雲端化, 達到相同的效果。 筆者認為: 導入雲端運算的最重大意義, 在於 web 2.0 共筆工作文化 ; 但是如果貴單位並不特別在乎雲端技術在 "工作文化" 層面的重大優點, 也不想處理 "改變 工作文化" 的巨大挑戰, 那麼用最簡單的免費 ssh -X 來實現 SaaS 的雲端應用, 除了省錢省力之外, 還有很多好處:
- 這是最成熟﹑ 應用軟體最豐富的 SaaS 雲端技術 -- 每一套既有的應用軟體, 都可以變成 ssh -X 所提供的 SaaS 服務, 不必重新發明輪子;
- 可以完全採用既有的﹑ 熟悉的檔案格式封存資料, 對於資料的永久保存, 有完整的自主性;
- 很容易用簡單的 scripting 語言 替既有的 SaaS 軟體擴充功能﹑ 甚至混搭 (mashup);
- 如果真的需要開發新應用, 那麼既有的 API 就是 PaaS, 程式設計師不必浪費時間學習未經網路大量測試的﹑ 專屬於特定廠商的﹑ 新的 API。
Ssh -X 的使用方式, 對於各種版本的 Linux﹑ BSD﹑ Mac OSX 等等作業系統的用戶, 都很方便; 但對於 Windows 用戶而言, 則必須在本地機加裝 X Window Server (沒錯, 在地端的是 X server; 在雲端的才是 X client) -- 例如 Xming X Server。 發展於 1999 年的 VNC 則可以直接讓 Windows﹑ Linux﹑ MacOS 用戶, 不分作業系統, 任意使用彼此的桌面。 (當然是說: 如果提供對方密碼的話) 若考慮安全性, 應該透過 ssh tunnel 使用 VNC。 也有一些 SaaS 應用架構於 VNC 之上, 例如廣播教學工具 iTalc。 至於從 Windows 上開始發展的類似功能, 最早出現於 1998 年的 RDP。
[2011/05/03 新增] 把遠端伺服器所提供的服務, 透過網路搬到桌面上來, 這種做法隨著 PXE 網路開機技術的出現, 而演化成 (從儲存裝置的角度來看) 最徹底的雲端運算 -- 無硬碟電腦。 一整間教室的電腦可以沒有硬碟; 透過網路開機後, 從作業系統核心到應用軟體, 所有的程式碼全部都從雲端的伺服器載入。 Linux Terminal Server Project 適用於運算能力較低的電腦教室, 屬於 thin client 的配置; 由臺灣國網中心研發, 獲得多項國際獎項的 DRBL 企鵝龍 則配合臺灣的情境, 使用雲端的儲存資源及本地端的記憶體與運算能力, 屬於 fat client 的配置。
到了 www 時代, 真正具有 web 2.0 文化及共創共享效果的 SaaS 雲端技術, 除了 wiki 之外, 最廣泛使用的便是 1990 年代末期出現的 Content Management Systems 了。 請拿這三個字, 加上 comparison, 上網搜尋。 諸如 Xoops﹑ Joomla﹑ Drupal 等等, 各自都提供了許多便利的雲端應用。 還記得有一陣子 「所有應用系統改採 web 化」 的年代嗎? 當初若採用這些現成的 SaaS 方案來架設企業/組織的私有雲, 實現討論區、 電子報、 檔案分享、 ... 等等功能, 不僅自主﹑ 省錢, 而且:
- 用戶族群廣大, 資訊安全較自行開發的資訊系統更有保障;
- 無障礙﹑ 無歧視;
- 若是對外的網頁, 有助於 網頁行銷;
- 有豐富的擴充套件 (plugins 或 extensions 或 modules) 可以模組化地增加訂位、 庫存、 廣告、 ... 等等核心系統原本所欠缺的新功能;
- 直接整合人事系統﹑ 採購系統﹑ 公告系統﹑ ⅩⅩ系統﹑ ... 每位員工只需要單一帳號密碼 (可用存取權限控管);
- 學一次, 到處通用, 不必叫員工學一大堆使用習慣不同的系統。
請參觀一下世界各地採用上述 CMS 的知名網站 (例如用 「Joomla sites」 可以搜尋到使用 Joomla 的成功案例) , 再對照一下採用昂貴複雜專屬軟體﹑ 耗費大量人力所製作出來的 自殘網站 -- 例如造成敝校 無法處理的內傷 的公文線上簽核系統﹑ 造成全國各大學資訊教授 對於資訊安全漏洞避不敢談 的 「指定特定版本 IE 」 的校內網站。 對於 2002 年左右 (xoops 等系統逐漸成熟時) 之後所開發的 web 系統而言, 如果當初選擇開發工具時, 能夠放下 非理性的品牌忠誠度, 改用上述的 CMS 取代昂貴複雜的專屬工具, 今天就不至於在 IE 市佔率逐漸下滑 的背景之下, 被迫持續 拋售自身點閱率, 犧牲自己拯救微軟 了。 以歷史為殷鑑, 您可以了解: 為什麼真正懂技術﹑ 懂得 SEO 的人, 要採用這些自由軟體架設 SaaS 雲端服務。 免費, 只是一個給外行人看的最淺顯的優點而已。
在商業炒作之前早就已經廣泛使用的其他重要雲端工具還有很多, 例如:
- 檔案分享: Sun 於 1984 年開始研發的 nfs﹑ 微軟 1990 年代修改自 IBM 所研發的 smb (就是網路芳鄰啦; 不過無法跨網域, 算是不太及格的雲端產品)
- 收發信件: 各家 web mail 服務
- 文件編輯: 各家 wiki 服務﹑ google doc﹑ ...
- 簡報具有行銷 (個人或組織) 的功能, 通常沒有隱私疑慮, 最適合雲端化
- 線上地圖﹑ 線上翻譯﹑ 線上相簿﹑ ...
上述 SaaS 的雲端配置, 每一種都支援所有作業系統的客戶端 (client)。 也就是說, 不論用戶使用 windows﹑ linux﹑ MacOS, 都可使用上述雲端服務。 為什麼這一點很重要? 理由和上述的 web 化歷史很像: 雖然今天多數人用的是 windows, 但沒有人敢說五年後的主流作業系統是什麼。 隨著 微軟潰堤 的態勢越來越明顯, 最聰明的做法既不是直接丟棄 windows, 更不是完全忽略其他作業系統, 而是照顧 所有作業系統的客戶端。 這樣的雲端方案, 將有助於組織/企業本身緩步擺脫 「內建不尊重用戶的盜版警察」 的作業系統, 將有助於與國際潮流接軌。
此外, 上述 SaaS 的雲端配置, 多數都可以找到自由軟體的伺服器端 (server) 工具。 (其中大概只有線上地圖很難用自由軟體方案取代; 至於用 wiki 取代 google doc 則需要犧牲一點排版美觀) 就連微軟的 rdp, 也有 xrdp 伺服器端方案。 為什麼這一點很重要? 因為專屬的雲端方案, 會遇到複雜昂貴的連線人數授權計價問題; 而自由軟體則完全沒有這個問題。 沒錯, 有些自由軟體的雲端廠商, 也會收取服務費用 (當然, 要不然就不叫廠商了); 但你可以確定的是, 售權費這部分一定省下來 。 如果要花錢使用他人架設的雲端服務, 錢應該花在 可擴充性 (scalability) 與穩固性 (reliability) 上面, 而不應該花在購買新的軟體上面。
最後, 近年來才開始流行的社交工具: twitter﹑ plurk﹑ facebook, 這些也都是 SaaS 雲端。 從這些工具的特性, 或許你可以看出我不斷重複的這句話的意思: 雲端的重點在於改變 工作文化, 而不在於導入複雜昂貴的工具。 從來沒考慮過如何使用這些工具 (或更古老的工具 -- blog) 行銷自身的單位, 真的可以不必花冤枉錢盲目追逐雲端熱潮。
本文所介紹的 SaaS 雲端方案, 並不是唯一的﹑ 也不見得是最好的﹑ 最適合貴單位的方案; 本文的用意也不在於否定所有 「收費的公有雲端訂用服務」 或 「收費的私有雲端架設服務」。 那麼為什麼應該要求您的資訊人員認識並深度分析這些既有免費方案? 因為這可以作為導入雲端的低成本實驗, 更可以作為採購昂貴方案之前, 拿來比較的低標準。 如果廠商 (不論是小廠商, 或是雲端資歷不佳的跨國大廠都一樣) 所推銷的雲端方案並沒有比這些方案強很多, 但卻貴很多, 又需要學習很多專屬系統的封閉技術, 那麼消費者就應該提高警覺了。 這時, 您或許更能理解筆者為什麼會認為政府所推動的 「百億雲端 兆元產值」 有相當大的成份其實是砸大錢又傷害國家競爭力的過度商業炒作。
至於 PaaS 的歷史, 請見下一帖: (商業炒作之前的) 雲端運算簡史 -- PaaS 篇
* * * * *
Comments
我不是資訊專業的,不過我也覺得雲端的概念是很早就有了!只是「雲端」只是將概念名詞化而已。
雲端是站在雲端的人為了炒做股票、選票而提出來的。
老師:
我怎麼覺得您所稱之「雲端」,實為「網際網路服務」。在我印象中,雲端要具有「可擴充性」及「穩固性」,也就是說可容許 1 到無限多人(只要資源夠多)的使用者同時使用,而且不在乎服務所依存的硬體故障率。
所以,像我用一台 X86 的機器架了一台 TRAC(trac.edgewall.org) 伺服器,供我們團隊成員開發程式之用,充其量,只算是一種網際網路服務。但 Google Code 所提供的程式開發服務,就可稱之為「雲端運算」,因為它的可擴充性高(不在乎有多少人同時存取)及穩固性強(沒聽說它因為硬碟壞了,導致服務中斷)。
cloud computing is a concept from distributed computing many years ago. Just those IT firms wrapped it.
個人覺得clound computing有幾個重點:
只是目前似乎多數廠商,拿clound computing當商業炒作宣傳,卻往往只有擦到一點邊,甚至最重要的資料安全性與備援都達不到。這樣也可以出來做生意?
http://pingyeh.blogspot.com/2009/10...
http://blogs.zdnet.com/BTL/?p=25777...
個人是覺得,如果說小小的學校內部服務都處理不了,還需要委外雲端託管的話,那電算中心大可以裁掉了。
電算中心也是很辛苦的:
網安/惡意程式會加密躲追緝 拜學生所賜學校淪重災區 http://www.nownews.com/2010/10/21/9...
「學校的 IT 與資訊安全人員必須面對複雜、分散又多樣化的基礎架構,而且必須面對數量龐大、卻又不太遵守安全規定的學生。」
@hoamon: Web Service (網際網路服務) 的確是雲端服務的一種, 沒錯哦。 不過它屬於 PaaS, 是另一篇的話題; 這篇講的都是 SaaS, 不是 Web Services 哦。
另一方面, YChao 和 hoamon 都提到 reliability 與 scalability。 沒錯, 如果我自己懶得架設雲端﹑ 如果我建議自己的單位採用現成的雲端方案, 那必然是因為這兩件事值得花錢。 而不是因為 新的雲端軟體 值得花錢。 不論是這篇所提到的既有技術, 或是某些雲端公司所推的新技術, 底下都需要 YChao 和 hoamon 所提到的這些特性。 這篇在挑戰的, 並不是 reliability 與 scalability 這部分的收費, 而是某些公司所推出的 "新的﹑ 收費的﹑ 可能會綁住消費者的" 上層服務。 謝謝 YChao 和 hoamon, 我已加了一小句進正文。
kntt: > 電算中心也是很辛苦的
哈哈, 看到 kntt 一片佛心的這一句話, 不知道為什麼, 我卻覺得充滿幽默感 :-) 我看到的狀況比較像是: 「學校的 IT 與資訊安全人員必須面對 陳舊、 破敗又單一化的瀏覽器, 而且必須面對 力量龐大、卻又不太遵守民主制度的利益團體 (躲在政府背後操弄教育部實施 「P2P 妖魔化」 愚民政策的利益團體)。
說認真的, 我也覺得大學雲端化, 應該有大部分的東西可以自己做。
誠如洪老師所言,電算中心會面臨「重災區」的問題,主要也是根本選擇錯誤造成的啊!淨是找一堆頭痛醫頭腳痛醫腳的「解決方案」,本質不改變(鼓勵使用安全性佳的作業環境)的話,花再多錢也沒用的。
國科會雲端計畫的 due date 要到了,要提計畫的人一起加油囉
但沒有人敢說五年後的主流作業系統是什麼
> maybe google chrome OS
This post's comments feed