云開發(fā)誕生的市場背景
云開發(fā)是一個(gè)已經(jīng)存在了很多年的概念,但在過去未能真正成為主流。然而,由于云和軟件即服務(wù)的宏觀趨勢的結(jié)合,以及技術(shù)的進(jìn)步,如容器技術(shù)Docker和Kubernetes,云開發(fā)現(xiàn)在有機(jī)會最終成為基于云的應(yīng)用程序的新標(biāo)準(zhǔn)開發(fā)。
在過去的幾年里,軟件世界發(fā)生了很多變化,使得云開發(fā)變得更加順理成章和簡單:使用云來運(yùn)行軟件已經(jīng)成為常態(tài)。
另外在國家政治發(fā)展層面上:
(1)社會轉(zhuǎn)型:出口型向內(nèi)需型社會轉(zhuǎn)型,如何滿足人民大眾日益增長并不斷個(gè)性化的需要是一項(xiàng)嚴(yán)峻的挑戰(zhàn)。
(2)產(chǎn)業(yè)升級:制造型向服務(wù)型、創(chuàng)新型的轉(zhuǎn)變。
(3)政策支持:十二五規(guī)劃對物聯(lián)網(wǎng)、三網(wǎng)融合、移動互聯(lián)網(wǎng)以及云計(jì)算戰(zhàn)略的大力支持。
云開發(fā)的出現(xiàn)到底是為了什么?
總的來說,條件已經(jīng)變得更好了,使用云開發(fā)比以往任何時(shí)候都更容易?,F(xiàn)在的問題是企業(yè)IT和移動開發(fā)者為什么要這么做。
新的合作可能性和標(biāo)準(zhǔn)化:由于標(biāo)準(zhǔn)化,很容易在團(tuán)隊(duì)中復(fù)制bug并相互支持。甚至可以讓同事直接訪問你的云環(huán)境來修復(fù)某些內(nèi)容或分享你的工作成果。這可以帶來更多的團(tuán)隊(duì)合作,形成一種新的團(tuán)隊(duì)合作形式,每個(gè)人都可以貢獻(xiàn)自己的力量。
生活在DevOps文化中:在云中直接開發(fā)針對云的軟件非常有意義,因?yàn)樵趹?yīng)用程序的整個(gè)生命周期中始終使用非常類似的環(huán)境。
開發(fā)門檻更低,效率更高:提供一個(gè)數(shù)據(jù)接口容易,實(shí)現(xiàn)一個(gè)功能也容易,難的是解決數(shù)據(jù)的并發(fā)性,負(fù)載均衡,數(shù)據(jù)庫吞吐量等難題,而這些恰恰是影響數(shù)據(jù)響應(yīng)速度的關(guān)鍵點(diǎn)。
而能否以快、以優(yōu)、以穩(wěn)制勝恰恰是當(dāng)今企業(yè)發(fā)展的關(guān)鍵,也是大家都不可避免要面對和解決的問題。
云開發(fā)適合哪些應(yīng)用場景
云計(jì)算主要有SaaS、PaaS、IaaS三種模式,那么云計(jì)算都有哪些具體的應(yīng)用場景呢?
著名MOOC在線學(xué)習(xí)平臺,提供在線課程,擁有超過300類課程。通過使用云計(jì)算技術(shù),可處理每個(gè)月大約1/2PB級的大流量,支撐每年超過300萬學(xué)生學(xué)習(xí)及交流。
菜鳥云倉,「云倉」是利用云計(jì)算技術(shù)的現(xiàn)代化智能倉庫,能夠運(yùn)用大數(shù)據(jù)迅速揀貨、配送,并且降低物流成本??梢哉f「云倉」是提升配送效率、支撐雙十一物流的最大功臣。
富士通以Azure云作為現(xiàn)有數(shù)據(jù)中心的快速IT擴(kuò)展,設(shè)計(jì)、部署和管理一個(gè)兩全其美的混合基礎(chǔ)設(shè)施。
現(xiàn)在基本上流行的聯(lián)網(wǎng)殺毒軟件都運(yùn)用了云計(jì)算技術(shù),例如小紅傘(Avira)、小A(Avast)、金山云、瑞星安全云等。
Azure云.Net5站點(diǎn)
Windows Azure是微軟基于云計(jì)算的操作系統(tǒng),現(xiàn)在更名為“Microsoft Azure”,和Azure Services Platform一樣,是微軟“軟件和服務(wù)”技術(shù)的名稱。Windows Azure的主要目標(biāo)是為開發(fā)者提供一個(gè)平臺,幫助開發(fā)可運(yùn)行在云服務(wù)器、數(shù)據(jù)中心、Web和PC上的應(yīng)用程序。云計(jì)算的開發(fā)者能使用微軟全球數(shù)據(jù)中心的儲存、計(jì)算能力和網(wǎng)絡(luò)基礎(chǔ)服務(wù)。
自2008年10月發(fā)行以來,還是取得了不錯(cuò)的成效的。web項(xiàng)目部署在微軟Azure上面有很多辦法,這里就不一一列舉了。
擴(kuò)展-H5的部署
在自學(xué)web開發(fā)游戲開發(fā)的路上,最有成就感的時(shí)刻就是將自己的小游戲做出來分享給朋友試玩,原生的游戲開可以打包分享,小游戲上線流程又長,那H5小游戲該怎么分享呢?
高伸縮性分布式系統(tǒng)方案
分布式架構(gòu)云平臺在充分分析IT技術(shù)發(fā)展趨勢,遵循集中化、標(biāo)準(zhǔn)化、集成化、可靠化和可擴(kuò)展化的設(shè)計(jì)原則,以價(jià)值創(chuàng)造為使命,以規(guī)范化、一體化、智能化的云平臺為支撐,實(shí)現(xiàn)信息的透明共享、業(yè)務(wù)的敏捷協(xié)同、管控及時(shí)、決策科學(xué)為設(shè)計(jì)目標(biāo),選擇傳統(tǒng)成熟的J2EE、SOA、應(yīng)用集成和BI信息技術(shù)和新一代的云計(jì)算、大數(shù)據(jù)、移動應(yīng)用信息技術(shù)相結(jié)合的技術(shù)路線。
高并發(fā)/高性能設(shè)計(jì)
高性能的架構(gòu)是以用戶為中心,提供快速的網(wǎng)頁訪問體驗(yàn),主要參數(shù)有較短的響應(yīng)時(shí)間、較大的并發(fā)處理能力、較高的吞吐量與穩(wěn)定的性能參數(shù)。
前端優(yōu)化:網(wǎng)站業(yè)務(wù)邏輯之前的部分。
瀏覽器優(yōu)化:減少HTTP請求數(shù),使用瀏覽器緩存,啟用壓縮,CSS JS位置,JS異步,減少Cookie傳輸;CDN加速,反向代理。
應(yīng)用層優(yōu)化:處理網(wǎng)站業(yè)務(wù)的服務(wù)器。使用緩存,異步,集群。
代碼優(yōu)化:合理的架構(gòu),多線程,資源復(fù)用(對象池,線程池等),良好的數(shù)據(jù)結(jié)構(gòu),JVM調(diào)優(yōu),單例,Cache等。
存儲優(yōu)化:緩存、固態(tài)硬盤、光纖傳輸、優(yōu)化讀寫、磁盤冗余、分布式存儲(HDFS)、NoSQL等。
高可用/高可靠設(shè)計(jì)
如何提高可用性,就是需要迫切解決的問題。首先,需要從架構(gòu)級別考慮,在規(guī)劃的時(shí)候,就考慮可用性。
行業(yè)內(nèi)一般用幾個(gè)9表示可用性指標(biāo),比如四個(gè)9(99.99),一年內(nèi)允許的不可用時(shí)間是53分鐘。
應(yīng)用層:一般設(shè)計(jì)為無狀態(tài)的,對于每次請求,使用哪一臺服務(wù)器處理是沒有影響的。一般使用負(fù)載均衡技術(shù)(需要解決Session同步問題)實(shí)現(xiàn)高可用。
服務(wù)層:負(fù)載均衡,分級管理,快速失?。ǔ瑫r(shí)設(shè)置),異步調(diào)用,服務(wù)降級,冪等設(shè)計(jì)等。
數(shù)據(jù)層:冗余備份(冷,熱備[同步,異步],溫備),失效轉(zhuǎn)移(確認(rèn),轉(zhuǎn)移,恢復(fù))。
架構(gòu)體系和設(shè)備分析
系統(tǒng)架構(gòu)是一個(gè)比較大的話題,以一個(gè)什么樣的思路或是方法進(jìn)行切入很重要。系統(tǒng)架構(gòu)的脈絡(luò)可以讓我們很好地了解系統(tǒng)架構(gòu)的整體概況,也可以幫助我們建立有效的個(gè)人架構(gòu)知識體系。
本章課程從系統(tǒng)訪問鏈路為切入點(diǎn),圍繞訪問鏈路的方方面面,包括基礎(chǔ)設(shè)施、分層架構(gòu)、分割架構(gòu)、系統(tǒng)保障、技術(shù)平臺生態(tài)圈等幾個(gè)方面進(jìn)行展開,力求展現(xiàn)出一套相對比較完整的系統(tǒng)架構(gòu)體系,同時(shí)結(jié)合自身經(jīng)驗(yàn),介紹具體落地的方案和技術(shù),希望能夠給讀者帶來一些收獲。
云具體應(yīng)用場景解析
云計(jì)算有總體成本低、服務(wù)好、環(huán)保等特點(diǎn),使得由傳統(tǒng)IT向云計(jì)算轉(zhuǎn)變的總體趨勢不變。據(jù)信通院2015年調(diào)查數(shù)據(jù)顯示,企業(yè)對公共云和專有云的使用比例未來均有所上升。具體云計(jì)算主流技術(shù)呈現(xiàn)迅速迭代的趨勢,技術(shù)快速迭代對社會整體有利,但對企業(yè)本身是一種挑戰(zhàn)。因此,對企業(yè)來說,云計(jì)算帶來的是IT關(guān)注點(diǎn)的不斷改變,而并非去IT。