http://mvc.tw
http://mvc.tw
公司的系統上雲之後,怎麼和放在自己家一樣,流量破100個就掛了?雲端不是很威的嗎?
最近公司有大案子進來,流量預計會破1,000,000,你給我想個辦法讓系統能
承載得了。
http://mvc.tw
雲上有什麼?• 虛擬機器
• App Service (Web, API, Logic and Mobile)
• Cloud Service
• Mobile Service
• ...
• 儲存體 (Storage + SQL + NoSQL)
• 網路服務 (DNS, VPN, ...)
• 應用程式服務 (Service Bus, Access Control)
• 資料分析 (Stream Analytics, HDInsight)
• 機器學習 (Machine Learning)
http://mvc.tw
只用 Infrastructure 的理由• 快。
• 不用花時間改 code。
• 不用花精神思考架構。
• 老闆要求的。
• 沒人有這樣的能力。
• IT不用再學額外的東西。
• ...
http://mvc.tw
控制權移轉的優點• 專注在本業 (軟體服務) 上。
• 不需要太多的 MIS/IT 人員。
• 能充份運用雲端的大量資源及雲端的各種服務。
• 由雲端自己處理運算能量的配置 (Scalability) 以及容錯 (SLA)。
• 成本大幅降低。• Infrastructure 需要較多 MIS/IT 人員
• Platform 不需要
http://mvc.tw
LOCAL VS. CLOUD
本地
• 享有完整的控制權。
• 愛怎麼做就怎麼做。
• 資料全存在本地。
• 成本相對較高。
• 需要額外人力。
雲端
• 有限的控制權。
• 依照標準操作。
• 資料放在人家那裡 (有安全認證)。
• 成本相對低廉。
• 不需額外人力。
• Dev/Ops 技能需要。
http://mvc.tw
Infrastructure vs. Platform
INFRASTRUCTURE
• 享有大部份的控制權。
• 愛怎麼做就怎麼做。
• 成本相對較高
• 軟體授權
• 備援機器需要的空間。
• 額外的組態 (ex: SQL AlwaysOn Service)
• 需要額外人力。
PLATFORM
• 少部份的控制權。
• 依照標準操作。
• 成本相對低廉
• 省下軟體授權
• 省下 HA 組態所需的成本
• 不需額外人力。
• 好工具就能解決一切。
http://mvc.tw
http://mvc.tw
http://mvc.tw
改善集中的程度• 將狀態管理移到 Azure Storage, Redis Cache 或是
SQL Database。
• 減少使用 Session 的程度。
• 減少特定服務或機器的使用。
• 減少機器間的耦合度。
• 加入中間層傳遞訊息。
http://mvc.tw
強化分散的程度• 應用程式要能獨立運作。
• 以利切割。
• 應用程式各元件的職責不能太重 (例如 Web 應用程式應切出前端和後端,配置到不同的運算單元內)。• 有助於 Scalable 的配置。
• 元件之間以訊息服務 (messaging service) 來傳遞訊息。• 切斷機器間的耦合。
• 加入容錯的機制 (Error Transient)• 網路的瞬斷是會發生的。
• 應用程式不能因為小問題就中斷。
• 不要認為雲端上的虛擬機器永遠不會當機
http://mvc.tw
應用程式更新• 使用預備環境 (Staging Environment)
• 版本變化大時。
• 後端資料有大幅異動時。
• 需時短,但成本較高。
• 使用逐步更新• 版本變化小時。
• 後端資料不會異動或少量異動時。
• 需要較長時間。
• 服務更新應極力降低服務中斷的可能性。
http://mvc.tw
http://mvc.tw
http://skilltree.my
http://demoshop.tw http://www.hexdigits.com https://fb.me/studyazure
http://cacafly.com
主辦單位
合作伙伴
協辦單位
http://mvc.tw
• 本投影片所包含的商標與文字皆屬原著作者所有。• 本投影片使用的圖片皆從網路搜尋。• 本著作係採用姓名標示-非商業性-相同方式分享 3.0 台灣 (中華民國) 授權條款授權。
謝謝各位