[閒聊] 談雲端運算的一些謬誤思維 (轉貼)

看板Cloud作者 (法拉魚)時間11年前 (2013/07/29 10:54), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
談雲端運算的一些謬誤思維 (轉貼) http://ruddyblog.wordpress.com/2013/07/26/ 遇到客戶(IT部門)辛苦的在比較該選擇那個廠商所提供的雲端解決方案最合用。我能作 的就是提供了一些雲端供應商的比較資料( Cloud Server Performance: A Comparative Analysis of 5 Large Cloud IaaS Providers | Cloud Spectator ),以及自己的一些個 感想: 請用不同的思維方式看雲端 這或許要怪雲端的廣告太誇張(這年頭還真找不到不誇張的廣告),過度強調的功能容易 造成即便是專業的工程人員也會產生的一些個誤解。其實大部份廣告上所喧染的功能都是 需要經過程式設計的,並不是如廣告用詞那般的讓人們容易誤以為跑在雲端上的程式就能 夠完全的自動化了。例如:我們以雲端大家耳熟能詳的四大優點來看: 1. 用不完的CPU power 2. 無限的記憶體空間 3. 無需管理人員的維護作業 4. 沒有地區限制,無時無刻都存在的雲端服務 真是這樣的嗎?這些個條例説明當然是千真萬確的,只是背後要再加上程式設計人員適當 的努力及實踐,以及在正確的架構下運行,這些迷人的功能自然都能成真。 一些認知上的謬誤 話說從Microsoft 的 windows azure誕生至今也已經有三個年頭了,但國内不論是IT部門 或是一般工程師,卻對雲端的應用仍存在許多的誤解,我們就試著來説一下: 對專案屬性的正確理解才是王道:好的程式設計師跟不好的程式設計師的差異就在於正確 的理解能力,身為programmer要時時修正自己的觀念才能更上一層樓。話說回來,要不寫 出糟糕的程式,就必須要有正確的觀念。雲端撰寫程式跟既有的程式撰寫方式是有許多不 同之處的,或許你已經習慣將本地執行良好的程式直接安裝在VM裡頭,只待上傳完成就搞 定了,如果你這麼想,但那就很難去發揮雲端的效益了!請看以下的誤解… 誤解一、雲端的硬體是不會失敗的? 錯!它會失敗的。即使是在雲端上一貨櫃一貨櫃的機房也有故障的機會,也需要定期或不 定期的維修,停下來,或是為了更新軟體或是修補bug不得不停。所以在架構的設計上, 千萬不要把雲端想成是不會故障的機器,相反地;它提供了你龐大且簡易的方式來處理這 些故障的情境(身為程式設計師的你必須把它考慮進去),讓你對客戶所提供的服務不會 因此而中斷,平白的損失了信譽。 誤解二、 雲端有用不完的記憶體,效能不足時增加記憶體就成了! 錯!vm 最大可以到127G, 你可以選最小的: Extra Small(XS)配一顆1.0GHz 的 CPU,RAM 為768MB,本地端儲存體為20GB,這是最省的。那最大的呢?Extra Large(XL) 有8 顆 1.6GHz的CPU,RAM 14GB 及高達2040GB的儲存體大小。明顯的它不是無限的,所以 你是必須精打細算細細思量一個符合客戶工作形態的架構,來確實發揮記憶體的容量。 彈性的運用Scale out: 我們常常會在資料庫運算力不足時,就採用加RAM的方式來解決這 個問題(這招真是好用,完全無需害怕會出新狀況),但scale up不是萬靈丹,其時它們 還是有大小限制的,這時候該考慮的就不是scale up,而是scale out. 誤解三、幾乎所有的雲端供應商都保證提供大於99.9%以上的使用率,所以我們也能夠提 供給客戶這樣的擔保。 重視High available 能夠持續提供客戶服務是絕對重要的,但相對於客戶的業務需求, 它是否是絕對必要的呢?!它跟你即將付出的高成本是否是成正比嗎? 要探討這個問題,首先你必須先弄清楚你的雲端服務確實有必要擁有99.9%的需求嗎?因 為,除非你是單一的系統,完全沒有協作的上、下層,否則在幾個一同協作的複合環境下 ,你很容易因為其它系統的效能而失去達成99.9%的availability(例如: 三個99.9%的 系統成串聯方式的架構時,試想你還會有99.9%的產值嗎? 串聯的效能實質上將只有99.7% 的availability)。 Bicycle 誤解四、雲端具有scaling的能力,但這不代表你把程式port到雲端,它就具有scaling的 能力了,你必須透過架構設計才成,程式不會因為在雲端的機器上執行就自動具有這種能 力的。 誤解五、Move everything to cloud, 對嗎?! 又回到公有雲和私有雲孰對孰非的話題,這當然是不切實際且又耗時的行為。目前的趨勢 則是走向 hybrid cloud 的解決方案才是王道,可以在不浪費既有資源的情形下又能享受 到雲端的便利性。 正確的架構才能發揮雲端的功能 當我們去存去一個網站而遇到lag的情形時,我們經常會説:「他們一定沒有採用雲端的 solution,才會發生這種現象。」但這句話合理嗎?試問,即便把程式搬到了雲端,lag 的現象就會自動消失嗎?結論是當然不會,而正確的説法應該是它的架構設計不足以支撐 它被存取的數量,也就是scaling 設計沒作好(話說回來,廠商很少會為了瞬間的流量願 意花錢花心思去提升web site 及程式的scaling能力的,所以程式設計之初即已經註定要 暴表了,所以好的程式設計便成了關鍵之鑰)。此刻,國內雲端還在緩慢的成長階段,程 式師要先有正確的雲端思維才能設計出符合預期的架構。這一點比起在考慮選擇Windows Azure 或Amazon 或其它雲端供應商的考量,要重要太多了! 怎樣的架構才是正確的雲端架構呢? 別擔心,這是有跡可循的,我們下回再談~ -- $love = false; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.161.120
文章代碼(AID): #1HzTbr7v (Cloud)
文章代碼(AID): #1HzTbr7v (Cloud)