「無責任評論」類別中的所有文章

虎瀾集: 雲端運算的考量點

Thursday, 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 外包公司這一塊來控制成本,或許有成功的機會。

技術文章, 無責任評論 | No comments

虎瀾集: Enterprise Service Bus 的演化之路

Saturday, 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 員工來搞定這些東西,每一様全部都要錢! [...]

技術文章, 無責任評論, 軟體工程 | No comments

PDC 2008: Day 2 Keynote

Wednesday, October 29th, 2008

今天是著名的 PDC keynote marathon,整個早上都是 keynote! 第一段 key note 基本上是 windows 7 的發表會,微軟在會中宣示他們的目標是將 PC、web 以及手機互相整合以構成完整的使用經驗。會場上微軟花了很多時間展示 Windows 7 的功能,基本上新加的功能不多 (事實上有些東西在 Vista SP1 中已經有了),微軟也公開宣布 Windows 7 和 Windows Server 2008 與 Vista SP1 的 kernel 是相同的,主要的改進是讓 Windows 跑的更快,消耗的資源更少,看來微軟也深切認識到 Vista 的主要問題在哪裡 比較有意思的展示亮點是 multi-touch 以及家庭網路的部份,某些程式用 multi-touch 來做的確有趣很多,我在聽 key note 時並不覺得 multi-touch 有什麼神奇的,但後來到外面的展示區玩 surface 的時候,發現俄羅斯方塊用手玩的話,真的好玩耶 …
對了,Windows 7 有一個非常酷的功能,它可以直接掛載 VHD,也可以直接開機進 VHD。所以以後系統回復就有新玩法了哇哈哈 [...]

Windows, 技術文章, 會議相關, 無責任評論 | No comments

PDC 2008: Day 1 Key Note

Monday, October 27th, 2008

今天是 PDC 第一天,洛杉磯風和日麗交通混亂一如往常。早上第一場就是 key note 重頭戲,Ray Ozzie 發表了微軟的雲端運算平台 Windows Azure。你可能會覺得奇怪,微軟不是已經有 Windows Live 之類的東西了嗎? 看了 Windows Azure 之後就不覺得奇怪了,這東西才是微軟進軍雲端運算市場的主打,它的 business model 是這樣的:微軟提供一個雲端平台,賣你 subscription,而你則可以將你的 service (當然是在這平台上開發的) 透過微軟的 Azure cloud 發布到網路上運作,service 賺到的錢則是歸你。換句話說,資料中心和基礎建設由微軟包辦,但程式的部份則由你自己處理。這有點像百貨公司的模式,它賣你攤位和基礎設施,而你則可利用它來開自己的店面賺錢。這種營運模式是最近軟體業界最夯的,基本上就是綑綁策略 (stickiness),把客人綁在自家的服務上,有錢客人賺,我分一杯羹是也 …
當然照慣例,微軟的東西必然有的幾個特色,一是和它自己目前的程式或架構 (如 Active Directory) 可以相通,另一個則是可以和它現有的開發系統 (Visual Studio) 相整合。Azure 目前提供的基礎服務包括了.Net、 identity (與 AD 的整合)、CRM、SQL 以及 SharePoint,很明顯地它的目標是替代目前在各企業服役中的商用系統,把這些企業自行建置的系統移植到微軟的雲端運算平台。Key note 中也提供了幾個系統的 demo,不過根據我以前學到的教訓來看,現在來評論這些東西何時會 take off 還言之過早 但可以肯定的是,這東西並不是很簡單地把 word excel 之類的東西弄到網路上就算了。微軟想做的事情是,在網路平台上複製 [...]

Windows, 技術文章, 會議相關, 無責任評論 | No comments

虎瀾集: 第二次瀏覽器戰爭

Thursday, September 4th, 2008

第一次瀏覽器戰爭是以 IE 完勝 Netscape 告終,不過呢,大家看 IE 賺的也夠久了,沒人出來分一杯羹也是很奇怪的事。第二次瀏覽器戰爭,終於在 Google Chrome 面世之後正式打響!
現在牌桌上的玩家還不少,IE, Firefox, Safari, Opera 和 Chrome (是的我直接無視其他廠商,市佔不到 1% 的基本上不用考慮)。我個人不看好 Firefox,畢竟 Firefox 是靠 Google 的錢在燒,等 Chrome 長大翅膀硬了之後,那就要看看有沒有其他金主願意來燒錢,這似乎不太樂觀 (Yahoo 和 AOL 自己都朝不保夕了,想不太出來有什麼有動力的金主)。Opera 那就更不用說了,能活下去就很了不起了,這裡比的是誰家的富爸爸比較猛 …
IE 和 Chrome 有許多驚人的相似處 (如 per process tab),可見聰明人的想法都不會差太多。IE 的問題在於它有許多歷史的包袱,有太多既有的客戶是不能得罪的,所以它在改革上也會比較綁手綁腳。Chrome 目前看起來很不錯,不過呢,Chrome 如果不能在六個月內推出正式版本的話,它要幹掉 IE 就得花很大力氣了。以微軟的能力,一年以內專心修好 IE 出來和 Chrome 對打不是問題,這表示就算 Chrome 功能上有任何的領先,這些領先部份獨跑的時間不會太長,它侵蝕的反而會是 Firefox 的市佔。另外,目前許多廠家都在出貨的機器上裝了 Google Desktop/Toolbar,但他們不願裝 Firefox,不過呢,若裝的是 Google [...]

無責任評論 | No comments

虎瀾集: 今夜您要選擇什麼?

Friday, August 8th, 2008

線上遇到學弟,他現在正為要選哪種方案來做他的專案很苦惱。其實這問題說難也不難,因為答案很清楚,出來賺錢嘛,選擇獲利最高 (通常也等同於成本最低) 的開發方式就對了,真正麻煩的是怎麼去算獲利。
以我學弟的例子而言,他的狀況是客戶開預算案,他們公司承包,這種最好算:
    獲利 = 工程款 - 開發成本 - 維護成本 - 固定成本
算這種東西的時候,工時是最多專案經理拿來算成本的工具,不過呢,它只代表小小的一部份成本而已。如果今天做的東西驗收不過的話,工時少只代表虧的少,所以選擇的第一要件就是要確保你可以用它做出你想要的東西。以他的情況來講,大部份的 team member 只會 Java 和 PHP,所以在程式語言上,他沒什麼選擇,若是 Java 加上 PHP 都做不出他要的東西,那最好的選擇就是閃人先。
接下來是平台,平台直接影響固定成本,所以很多老闆看見你用微軟的方案會直接否決,因為帳面上這些是要付錢的。不過呢,若這個平台可以幫助你減少開發成本和維護成本,那最好還是精算一下再決定比較好。以我學弟的情形,他的客戶的 SA 熟 Windows 和 Solaris,不過他的團隊除了他之外沒人碰過 Solaris,這種情形下很容易可以算出來用 Windows 的成本會比較低些,因為可以買比較便宜一點的 x86 伺服器,而且不必付出讓團隊去熟悉 Solaris 的工時成本。兩個最主要的東西決定下來,CM (Configuration Management) 的主軸也就定了,接下來就是用需求訪談得來的情報去擬定整個 project 的 execution plan,那就是他自己的事了哇哈哈 …
對了,為什麼不用 Linux 呢? Linux 和 Solaris 的差異不至於大到太誇張啊? 這是好問題,去問你客戶的 SA 要不要幫 Linux 掛保證,如果他不要,那就是你要掛保證了,客戶給的錢足不足以讓你去兼做維護 OS 的事,那就是你自己要衡量了。你老闆愛出嘴炮反微軟挺 Linux,那叫他自己去和對方的 [...]

技術文章, 無責任評論, 軟體工程 | Comments Off

虎瀾集: 要學什麼程式語言?

Thursday, July 31st, 2008

今天剛好被問到這個問題,覺得還頗有趣的,不過我還是秉持一貫的壞習慣反問回去: 那你學過哪些程式語言? 為什麼? 這位年輕小伙子回答的也蠻誠實的,他回答說學校教什麼就學什麼了,騙學分咩,只是他很迷惘以後要學什麼程式語言可以在工作上幫助他。
我想這個問題其實很多人都有,但很可惜的是,並沒有什麼標準答案。程式設計經過數十年的發展,現在已經分工很細,每樣工作有每樣工作的專業,這是理由之一。另一個我想的到的理由是: 每個人想做的工作不一樣,而使用什麼程式語言來開發軟體,大部份是由上司決定好了,所以對資淺的工程師來講,你會什麼語言就大概確定你可以找哪些工作。若你很清楚你想做哪些工作,那咕狗或 104 大神應該很快可以幫你決定你要會哪些語言。
對於一般還搞不清楚自己想要什麼的同學們來講,那就比較麻煩些了 把一種語言/平台練到爐火純青是絕對必要的,至於這個語言是 C++、C# 還是 Java,這個平台是某個 OS 還是 WWW,那就見仁見智了。這裡要先釐清一個觀念: 程式語言和平台無關,但能不能用程式語言做出有商業價值的東西,那就和平台有關了。例如你可以說你 C++ 觀念很強,virtual inheritance 什麼的都弄的很清楚,但這並不表示老闆要的東西你一定可以做的出來,你做的東西必然和你所在的平台有關。繞了一圈回到原點: 程式設計經過數十年的發展,現在已經分工很細,每樣工作有每樣工作的專業,所以決定自己想要做什麼東西是很重要的。
當然時間夠的話,精擅多個領域/語言/平台也不是沒可能,至少我看過不少這樣的怪物,但他們投入的精力和偏執也是遠超常人 所以說,要學什麼程式語言呢? 找一個可以餵飽你的好好學好是基本,能精通多少種其他的語言就是為你自己的職場生涯買幾份額外的保險。我個人的建議是吃飯會用到的語言 (如 C++/C#/Java) 拿來精通,和 scripting 有關的語言 (如 perl 或 python) 學一點防身,剩下的精力拿去學平台,這樣會比較有效率一點。

技術文章, 無責任評論 | 1 comment

目前位置:Arthur Hsu's Blogz - 無責任評論

舊文索引

站內管理