November 27th, 2008
前一篇虎瀾文章中提到了為什麼要用 ESB 和雲端運算的根本原因 (對啦就是萬惡 cost down),不過呢,Tony 大神很久以前就開示過:「理想是美麗的,現實是殘酷的」。想當年 CORBA 也是吹得天花亂墜,結果一樣成了歷史的塵埃,這不過是眾多失敗技術中的一個小小例子而已。現在讓我們來想一想,新的雲端運算技術到底有什麼風險。
最基本的風險在於基礎假設,每台終端都可以連上雲端。這表示企業仍須布建基礎網路架構、防火牆、multi-homing 等等今日 IT 所做的網路基礎設施。一般來講,我們很難精算出 IT 的成本結構有多少趴數是由網路基礎設備所貢獻的。另外,只要電腦連上網路,就一定會有資安的問題,目前企業用資安軟體仍是基於傳統的 Windows AD 架構為多,這表示企業仍然必須養護或外包相關的配套措施,基於以上兩點,用雲端運算所能節省的長期成本必須打個折扣,因為企業只是少裝幾個機架而已,基本的設施依然無法擺脫。真正可以節省又有實惠的部份反而是對外的網站,因為雲端資料中心的水管比較大隻
第二個風險是開發的風險,雲端運算太新了,開發模式以及配套的 tool chain 其實都處於摸索的階段,以風險管控的角度來看,開雲端運算的專案風險要比已經成熟的 multi-tier 或 client-server 類專案要高的多,它的成本預算勢必也會比較高。如果這個成本高到可以抵銷軟體 life cycle 內的維護成本時,除了讓開發的人練功學經驗之外,對企業本身並沒有顯著的益處。
其他還有一些小型的技術上的風險,例如大樹招大風,敢招惹大型資料中心的黑客不是超級菜鳥就是超級高手
資料安控 (開玩笑,連歐巴馬的通聯紀錄都有人敢看了,你覺得你家的財報不會有人想看嗎?) 還有些在分析階段就可以大致找出來的東西。但這些小風險和前面兩者比起來,算是在初期就可以規劃或掌控的事情 (SLA 總不是寫好看的唄?)
我個人認為,最重要的還是如何降低基礎設施的成本,不然仍然無法提供足夠的動力吸引企業轉移現有的系統。若由 SI 業者或 IT 外包公司和雲端業者及電信業者整合,一條鞭搞定所有問題,那這個商業模式的問題就轉化成如何在 SI 業者或 IT 外包公司這一塊來控制成本,或許有成功的機會。
技術文章, 無責任評論 |
November 15th, 2008
在某窩上有鳥友問到 ESB 這個東西,剛好最近比較閒可以來講點訐古,大家就湊和著看看吧。故事是從一家小不拉幾的銀行開始的,我們姑且就稱它為斯摩銀行好了。斯摩銀行小本經營,分行只開了 8 個,台幣系統這種大傢伙當然還是乖乖的去交 IBM 稅吧,沒人會因為用了 IBM 而被炒魷魚的。最近景氣不好,個金的貸款逾期的很多。直接包給外面的催收公司嘛,他們的趴數要的實在有點高,而且據說對企業形象不好。所以呢,摳門的老闆想要自己弄個催收的功能,每個行員每天撥一個小時的時間去打電話,但是 IBM 催收模組好貴,那就試試看 PC-based 的催收系統好了。
催收系統是很簡單的系統,資料從台幣主機撈下來,秀在行員的螢幕上讓他們去打電話,行員記一下通話摘要,系統要自動 follow 客戶有沒有履行承諾,沒有的話要做一些必要的措施。夠簡單了吧? 不過是個簡單的資料庫加上流程處理,還有一點 UI,這很久以前就有人做,用 client-server 就可以解決了,後台跑資料庫,流程處理切開,一半在資料庫跑批次,一半在前台 VB 寫的軟體中內建流程,一塊小蛋糕沒什麼大學問的。
解法好像可行,它的成本夠低嗎? 讓我們來想一想。資料庫軟體是按 seat 來收錢的 (呃,至少我那個美好的年代是如此),八個分行加總行至少 100 個 user,這個 license 好貴啊。VB 軟體要灌在 100 台電腦上,雖然說可以拗廠商來裝機,但是裝機的時候行員一定去打茫的,隱性人事成本很高。如果軟體有 bug,全部 100 台都得 patch 過,又是個打茫的好藉口,對摳門的斯摩銀行老闆而言,這似乎不是什麼高明的主意。另外要是資料不小心給他有點多,好像現有的網路流量不夠用要再想辦法升級,這又是一筆開銷啊。
所以聰明的廠商想出了一個好辦法: multi-tier 架構,名字聴起來夠威,應該是不錯的。我們架個中介軟體,把所有資料存取集中,所以資料庫 license 可以買便宜一點的。架個網站,把前台的程式做成網頁,所以行員只要知道網址,直接用瀏覽器就可以開始工作了,不必裝機,不讓他們有打茫的藉口。最後想辦法把工作流程通通集中放到 application server 上,再把 app server、web server 和 DB server 通通串好,搞定收工走路有風。
不過呢,時機實在太壞了,有沒有辦法再省錢一點? 斯摩銀行的本業是玩錢不是玩電腦耶,你看看,為了養這個催收系統,我們要有自己的機房,要買一堆設備和軟體,要花錢布建專線網路,要養一批專門的 IT 員工來搞定這些東西,每一様全部都要錢! 有沒有辦法不要花這個錢呢?
聰明的廠商又想出了一個好辦法: 雲端運算加 Enterprise Service Bus,聽起來就很後現代高科技的樣子。廠商提供包套的服務: 包資料中心、包設備軟體、包網路流量、包 IT 人員。斯摩銀行只要付月租費,並根據 ESB 的規格來寫作工作流程和網頁,網址搬過去馬上就會好,然後就可以把自己養的設備賣掉,網路專線退租改接 DSL,IT 部門裁員順便美化一下財報。聽起來很讚,算起來比整個催收業務外包,或是自己養催收系統都划算,這生意做的過。唯一的缺點就是做好之後很難換廠商 … 嗯,這好像不算是缺點,斯摩銀行本來就付不起換廠商的錢 …
故事說完了。真理只有一個: cost-down 萬歲!
技術文章, 無責任評論, 軟體工程 |
November 1st, 2008
其實這是昨天的事了,連續四天早上七點起床,睌上還要整理東西到一兩點,所以昨天老年人我撐不住,補個覺先了哇哈哈
第四天沒有 keynote,展示的廠商也撤了,大部份的人都被論壇吸引走了,不過今年我倒是不想聽論壇,因為根據以往的經驗,論壇打的高空要兩三年才會實現,而且一般而言會修正不少 :p 我跑了幾個 session,CLR 4.0 的那一場很有意思,基本上 CLR 4.0 有三大走向:和現有的程式可以更好地合作,安裝和執行的效能加強,增加許多除錯的支援。這些都是我四年前寫 C# 程式的時候遇到的大麻煩,微軟終於願意面對問題並解決它們了,這也代表它終於收到了阿宅們的怨念啊啊啊啊啊 ~~~
咳,回題,另外還聽了關於 XAML 的一場。XAML 一般給人的印象是拿來寫 UI 用的,但其實它可做的事情很多,目前它已經將觸角延伸到 Workflow Foundation 以及 Open Document Format。小弟在前文中提到,若能整合 C# 的 compiler as service 與 Visual Studio 的 UML 功能,微軟就能弄出一個可做出 web application 的 4GL,而微軟在 PDC 中推出的 OSLO model language,以及擴展後的 XAML 語言,很明顯地這是為了微軟的戰略目標而服務:這不只是可做出 web app 的 4GL,是做出在 Windows Azure 上跑的 web app 的 4GL!
最後一場 session 我跑去聽如何在 Windows 7 下做出有效率的 service。微軟在 Windows 7 中提供了 Trigger-Start 這種 service 型態,因此若 service 只是為了因應某些特定事件而存在的話 (例如插入 USB 裝置),可以改用這種方式,就不必浪費記憶體和 thread 了。這種改進據我們的經驗是相當有效的,前提是寫 service 的人必須要修改程式才行,這可能要等 Windows 7 上市後數年才能普及了。
Windows, 技術文章, 會議相關 |
October 29th, 2008
今天跑的 session 多半屬於展示型的,可寫的東西不多,反而是看 recorded session 有心得。我看的是C# 語言的未來,講師當然是 Anders Hejlsberg。我想在這裡聊一些我覺得很重要的東西
- Hejlsberg 提到程式語言的趨勢將會是 declarative、dynamic 以及 concurrent,除了 concurrent 之外,其他都是為了因應 web 應用而來的。以 C# 作為 .Net 旗艦語言的身份來講,這樣的演化是非常合理的,但這並不代表這是通則。我個人認為在學校中仍應教授 procedural 語言,但可加入 functional、declarative 與 dynamic 語言的訓練,像我們以前只學 procedural 會變得太過狹隘。
- 因為硬體在 single core performance 已然遇到瓶頸,所以 concurrent programming 將會是 multi-core 大潮下不得不然的趨勢。但是以目前的技術來看,無法很有效率地處理 heap object concurrency,這對 Java 或 C# 這種有 automatic memory management 的語言是不利的。因此在選用工具的時候,要特別注意這個陷阱,C# 在這方面的開發成本未必低於 C++。
- 微軟自己應該也嘗到 version hell 的苦果了,因此不但是 CLR,連 C# 和 Windows 7 的 OS loader 都做了不少修正來處理 side-by-side 以及 COM Interop 相關的問題,這應該可以有效的降低 managed process 實際耗用的 working set,也可以讓開發和安裝變的容易些。
- C# compiler 將會用 managed code 重寫,並讓它的內部結構變的更透明。這除了可以達成 dynamic programming 之外,事實上還有不少文章可做的。Visual Studio team 在 2010 的版本中推出許多與 UML 整合的功能,所以這也很有可能與整個 WWF 相結合,做出真正的 4GL 語言。替代 JavaScript 倒是不太可行,畢竟還得考慮瀏覽器的相容性。
C++/C#, Windows, 技術文章, 會議相關 |
October 29th, 2008
今天的 keynote 主角是 Microsoft Research,一開始有一段影片介紹微軟研究院。主講者是非常有名的大師 Rick Rashid,啥? 沒聽過? 那 mach kernel 聽過吧? NeXT 和 OS X 聽過吧? 他老兄就是 mach kernel 的發明人,至今仍有部份的 source code 仍用於 OS X kernel。
Keynote 主要在介紹微軟研究院以及他們在做些什麼,對於大部份參加 PDC 的師程工來講,算是很少接觸的,因為大部份的參加者都是黑手黨 … 呃 … 是專心做系統很少做研究的阿宅,所以這些東西實際上和 PDC 的聽眾是有點距離的。Keynote 大致介紹了微軟研究院的規模和現況,然後是他們的 sensor network 的展示,presentation 並沒有很好,感覺口味不夠重氣氛沒有 high,場子的冷氣好像太強以至於阿宅們想要閃人去吃早點了,幸好後面的 world telescope、boku 和 surface 的展示夠炫,大部份的阿宅有醒來好好看一下。
我個人對天文學是沒什麼興趣,不過那個 world telescope 實在有夠炫,迷天文的朋友一定要裝一套來玩,非常神奇! Boku 是一套 XBox 上的益智遊戲,是用來教小朋友程式設計觀念的,貌似很好玩的樣子,明年會上市大家就拭目以待吧。Surface 其實不是什麼新觀念,但他們做了些有趣的東西出來,有興趣的同學請自己上網看吧
技術文章, 會議相關 |
October 29th, 2008
這幾天真是累的夠嗆,據醫師同學的說法,人累的時候記憶力會減退,所以有些碎碎念的東西還是先寫一寫免的忘記好了。會場最有趣的現象是一堆 MacBook,對,你沒看錯,MacBook,連微軟的員工自己帶的 notebook 也有 MacBook。我覺得很有趣,去搭訕之後才知道,大家對 PC notebook 的製作工藝已經不爽很久了。所以呢,雖來來參加 PDC 的大部份是靠寫 Windows 程式維生,為了美觀和爽度還是很多人買 MacBook 來 boot camp。我稍微做了一個不太正式的統計,會場大約有 5% 的 MacBook。另外還有看到有牛人在 MacBook 上灌 Windows Vista,只可惜他老兄沒空被搭訕,不然應該好好討教一下。
至於手機嘛,那就不用提了,三分之一以上是 iPhone。我漸漸有點理解為什麼 Windows Mobile 不在 PDC 中出現了哇哈哈 … 今天下午 Windows Mobile 的攤子終於擺出來了,我去試玩了一些手機,果然 iPhone 紅是有道理的,攤位上的手機幾乎每一隻都比 iPhone 遜! 不過呢,HTC 鑽石機太多人排隊玩沒玩到,暫時不列入評論 :p 其他像三爽和裸雞的觸控手機,只有一個字可以形容:鳥 ~~~
更新: 抽空去玩了一下各種 Windows Mobile 手機,果然賣輸 iPhone 是有原因滴。索愛的 x1 真是慢的誇張到一整個不行,相較之下三爽的就快多了 (雖然三爽的感覺起來只有 iPhone 一半的速度)。我也玩了一下鑽石機和 Touch Pro,鑽石機的反應速度不錯,但是 e-mail 功能實在不好用,這應該是 Windows Mobile 或是 Office 界面上的問題了。Touch Pro 那一台不曉得出了什麼問題,龜的一塌糊塗,和索愛的有拼。我也玩過 iPhone,說真的,這些 WM 的機子真的是比不上 iPhone …
以下是對第二天某些 session 的不滿 …
今天去聽 Home Server 的 session,拜託,現在都快 2009 年了,還在玩家電和窗戶的 automation 啊? 這些東西如果要 automate,靠 IP 是不行的,光 wireless 晶片的成本,加上煩死人的網路設定,還不如下注賭 wireless USB 算了。另一個覺得很鳥的 session 是講 concurrency coordination runtime (CCR) 與 decentralized software services (DSS) 的,這一場就是 speaker 的問題了。誰鳥你有哪些大客戶用啊? 要講不是不行,一張 slide 就可以了,他老兄放了至少十張講這些 marketing material,聽不下去就只好閃人了。老大,這是 PDC,不是 sales summit,你走錯地方了吧?
隨筆雜文 |