(商業炒作之前的)雲端簡史-SaaS 篇

◎ 本篇文章傳達筆者意見,不代表自由軟體鑄造場電子報立場,回覆意見請見部落格原文網址:https://blog.ofset.org/ckhung/index.php?post/10ac

雲端並不是新技術,雲端技術始於 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 的雲端應用,除了省錢、省力之外,其實還有很多好處:

1.這是最成熟、應用軟體最豐富的 SaaS 雲端技術-每一套既有的應用軟體,都可以變成 ssh -X 所提供的 SaaS 服務,不必重新發明輪子
2.可以完全採用既有的、熟悉的檔案格式封存資料,對於資料的永久保存,有完整的自主性
3.很容易用簡單的 scripting 語言替既有的 SaaS 軟體擴充功能,甚至混搭 (mashup)
4.如果真的需要開發新應用,那麼既有的 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

到了 www 時代,真正具有 web 2.0 文化及共創共享效果的 SaaS 雲端技術,除了 wiki 之外,最廣泛使用的便是 1990 年代末期出現的 Content Management Systems 了。請拿這三個字加上「comparison」上網搜尋。諸如 Xoops、Joomla、Drupal...等,各自都提供了許多便利的雲端應用。還記得有一陣子「所有應用系統改採 web 化」的年代嗎?當初若採用這些現成的 SaaS 方案架設企業/組織的私有雲,不僅自主、省錢,而且:

1.無障礙、無歧視
2.若是對外的網頁,有助於網頁行銷
3.可用擴充套件(plugins 或 extensions)模組化地增加新功能
4.直接整合人事系統、採購系統、公告系統等系統,每位員工只需要單一帳號密碼(可用存取權限控管)
5.學一次,到處通用,不必叫員工學一大堆或使用習慣不同的系統

請參觀一下世界各地採用上述 CMS 的知名網站(可以用「Joomla sites」搜尋到使用 Joomla 的成功案例),再對照一下採用昂貴複雜專屬軟體、耗費大量人力所製作出來的「自殘網站」-例如:造成敝校無法處理的內傷的公文線上簽核系統、造成全國各大學資訊教授對於資訊安全漏洞避不敢談的「指定特定版本 IE」的校內網站。對於 2002 年左右(xoops 等系統逐漸成熟時)之後所開發的 web 系統而言,如果當初選擇開發工具時,能夠放下非理性的品牌忠誠度,改用上述的 CMS 取代昂貴複雜的專屬工具,今天就不至於在 IE 市佔率逐漸下滑的背景之下,被迫持續拋售自身點閱率,犧牲自己拯救微軟了。以歷史為殷鑑,您可以了解:為什麼真正懂技術、懂得 SEO 的人,要採用這些自由軟體架設 SaaS 雲端服務。免費,只是一個給外行人看的最淺顯的優點而已。

在商業炒作之前,早就已經廣泛使用的其他重要雲端工具還有很多,例如:

1.檔案分享:Sun 於 1984 年開始研發的 nfs、微軟 1990 年代修改自 IBM 所研發的 smb(就是網路芳鄰,不過無法跨網域,算是不太及格的雲端產品)
2.收發信件:各家 web mail 提供的服務
3.文件編輯:各家 wiki 提供的服務、google doc、...
4.線上地圖、線上翻譯、線上相簿、...

上述 SaaS 的雲端配置,每一種都支援所有作業系統的客戶端 (client)。也就是說,不論用戶使用 windows、linux、MacOS,都可使用上述雲端服務。為什麼這一點很重要?理由和上述的 web 化歷史很像:雖然今天多數人用的是 windows,但沒有人敢說五年後的主流作業系統是什麼。隨著微軟潰堤的勢態越來越明顯,最聰明的做法既不是直接丟棄 windows,更不是完全忽略其他作業系統,而是照顧所有作業系統的客戶端。這樣的雲端方案,將有助於組織/企業本身緩步擺脫「內建不尊重用戶的盜版警察」的作業系統,將有助於台灣與國際潮流接軌。

此外,上述 SaaS 的雲端配置,多數都可以找到自由軟體的伺服器端 (server) 工具。(其中大概只有線上地圖很難用自由軟體方案取代;至於用 wiki 取代 google doc 則需要犧牲一點排版美觀。)就連微軟的 rdp,也有 xrdp 伺服器端方案。為什麼這一點很重要?因為專屬的雲端方案,會遇到複雜昂貴的連線人數授權計價問題;而自由軟體則完全沒有這個問題。是有些自由軟體的雲端廠商,也會收取服務費用;但你可以確定的是,售權費這部分一定省下來。如果要花錢使用他人架設的雲端服務,錢應該花在可擴充性 (scalability) 與穩固性 (reliability) 上面,而不應該花在購買新的軟體上面。

最後,近年來才開始流行的社交工具:twitter、plurk、facebook,這些也都是 SaaS 雲端。從這些工具的特性,或許你可以看出文章中不斷重複的這句話的意思:雲端的重點在於改變工作文化,而不在於導入複雜昂貴的工具。從來沒考慮過如何使用這些工具(或更古老的工具-blog)行銷自身的單位,真的可以不必花冤枉錢盲目追逐雲端熱潮。

本文所介紹的 SaaS 雲端方案,並不是唯一的、也不見得是最好的、最適合貴單位的方案;本文的用意也不在於否定所有「收費的公有雲端訂用服務」或「收費的私有雲端架設服務」。那麼為什麼應該要求您的資訊人員認識並深度分析這些既有免費方案?因為這可以作為導入雲端的低成本實驗,更可以作為採購昂貴方案之前,拿來比較的低標準。如果廠商(不論是小廠商,或是雲端資歷不佳的跨國大廠都一樣)所推銷的雲端方案並沒有比這些方案強很多,但卻貴很多,又需要學習很多專屬系統的封閉技術,那麼消費者就應該提高警覺了。這時,您或許更能理解筆者為什麼會認為政府所推動的「百億雲端 兆元產值」有相當大的成份其實是砸大錢又傷害國家競爭力的過度商業炒作。


您也許有興趣閱讀以下文章:




自由軟體鑄造場電子報 : 第 161 期 以 mod_evasive 阻擋 D.o.S 攻擊

分類: 自由專欄