C# 云、云計算和云優(yōu)化堆棧
開始創(chuàng)建完全或部分運(yùn)行在云上的應(yīng)用程序只是時間問題,不再是“是否創(chuàng)建”,而是“何時創(chuàng)建”。決定程序的哪些組件運(yùn)行在云中、云類型和云服務(wù)模型,需要一些調(diào)查、理解和計劃。對于初學(xué)者,必須清楚什么是云。云只是運(yùn)行在一個數(shù)據(jù)中心的大量商品化計算機(jī)硬件,這個數(shù)據(jù)中心可以運(yùn)行程序,存儲大量數(shù)據(jù)。區(qū)別是彈性,即動態(tài)向上擴(kuò)展的能力(例如增加CPU和內(nèi)存)和/或動態(tài)向外擴(kuò)展的能力(例如增加虛擬服務(wù)器實(shí)例的數(shù)量),而收縮時似乎毫不費(fèi)力。這與當(dāng)前的IT運(yùn)營格局完全不同,在當(dāng)前的IT運(yùn)營格局中,被區(qū)分開來的 計算機(jī)資源在公司的一個領(lǐng)域往往會部分或完全未使用,而在其他領(lǐng)域又嚴(yán)重缺乏計算機(jī)資源。云解決了這個問題:云可以在需要時提供對計算機(jī)資源的訪問,在不需要它們時,就將這些資源提供給別人。對于個人開發(fā)者,云可以用于部署程序,向外界公布。如果程序比較受歡迎,就可以擴(kuò)展它來滿足資源需求;如果程序失敗了,也不必耗費(fèi)太多的金錢和時間來建立專用的計算機(jī)硬件和基礎(chǔ)設(shè)施。
?公共云:公共云是共享云提供商擁有和運(yùn)營的計算機(jī)硬件和基礎(chǔ)設(shè)施,云提供商有Microsoft Azure、 Amazon AWS, Rackspace或IBM Cloud。對于中小企業(yè)而言,如果所管理的客戶和用戶要求不斷波動,這種云類型將非常適合。
?私有云:這是位于現(xiàn)場或外包數(shù)據(jù)中心的專用計算機(jī)硬件和基礎(chǔ)設(shè)施。這種云適用于大公司、必須提供更高級別數(shù)據(jù)安全性的公司以及政府機(jī)構(gòu)。
?混合云:這是公共云和私有云的組合類型,在這種類型中,要選擇IT解決方案的哪些部分在私有云上運(yùn)行,哪些部分在公共云上運(yùn)行。理想的解決方案是在私有云上運(yùn)行對業(yè)務(wù)至關(guān)重要的、需要更高安全級別的程序,在公共云上運(yùn)行不敏感、可能失效的任務(wù)。
?基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a Service, laaS):要從操作系統(tǒng)開始向上負(fù)責(zé)。不負(fù)責(zé)硬件或網(wǎng)絡(luò)設(shè)施;但負(fù)責(zé)操作系統(tǒng)補(bǔ)丁和第三方依賴庫。
?平臺即服務(wù)(Platform as a Service, PaaS}:只負(fù)貴運(yùn)行在所選操作系統(tǒng)上的程序及其依賴項(xiàng)。不負(fù)責(zé)操作系統(tǒng)維護(hù)、硬件或網(wǎng)絡(luò)基礎(chǔ)設(shè)施。
?軟件即服務(wù)(Software as a Service, SaaS):通過互聯(lián)網(wǎng)訪問設(shè)備使用軟件程序或服務(wù)。例如,Office 365、Salesforce- OneDrive或Box,都可通過互聯(lián)網(wǎng)連接在任意位置進(jìn)行訪問,并非只有將軟件安裝在客戶端才能起作用。只需要負(fù)責(zé)運(yùn)行在平臺上的軟件。
總之,云是一個商品化、彈性化的計算機(jī)硬件結(jié)構(gòu),用于運(yùn)行程序。在混合云、公共云或私有云類型中,這些程序運(yùn)行在IaaS、PaaS或SaaS服務(wù)模型上。
云編程就是開發(fā)運(yùn)行在任何云服務(wù)模型上的代碼邏輯。云程序應(yīng)該具有可移植性、可伸縮性和彈性模式,改善程序的性能和穩(wěn)定性。沒有實(shí)現(xiàn)這些可移植性、可伸縮性和彈性模式的程序可運(yùn)行在云中,但某些情況下,諸如硬件故障或網(wǎng)絡(luò)延遲的問題可能導(dǎo)致程序執(zhí)行意外的代碼路徑,并終止。
點(diǎn)擊加載更多評論>>