云開發(fā)誕生的市場(chǎng)背景
云開發(fā)是一個(gè)已經(jīng)存在了很多年的概念,但在過去未能真正成為主流。然而,由于云和軟件即服務(wù)的宏觀趨勢(shì)的結(jié)合,以及技術(shù)的進(jìn)步,如容器技術(shù)Docker和Kubernetes,云開發(fā)現(xiàn)在有機(jī)會(huì)最終成為基于云的應(yīng)用程序的新標(biāo)準(zhǔn)開發(fā)。
在過去的幾年里,軟件世界發(fā)生了很多變化,使得云開發(fā)變得更加順理成章和簡(jiǎn)單:使用云來運(yùn)行軟件已經(jīng)成為常態(tài)。
另外在國家政治發(fā)展層面上:
(1)社會(huì)轉(zhuǎn)型:出口型向內(nèi)需型社會(huì)轉(zhuǎn)型,如何滿足人民大眾日益增長(zhǎng)并不斷個(gè)性化的需要是一項(xiàng)嚴(yán)峻的挑戰(zhàn)。
(2)產(chǎn)業(yè)升級(jí):制造型向服務(wù)型、創(chuàng)新型的轉(zhuǎn)變。
(3)政策支持:十二五規(guī)劃對(duì)物聯(lián)網(wǎng)、三網(wǎng)融合、移動(dòng)互聯(lián)網(wǎng)以及云計(jì)算戰(zhàn)略的大力支持。
云開發(fā)的出現(xiàn)到底是為了什么?
總的來說,條件已經(jīng)變得更好了,使用云開發(fā)比以往任何時(shí)候都更容易。現(xiàn)在的問題是企業(yè)IT和移動(dòng)開發(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ā)針對(duì)云的軟件非常有意義,因?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)鍵,也是大家都不可避免要面對(duì)和解決的問題。
云開發(fā)適合哪些應(yīng)用場(chǎng)景
云計(jì)算主要有SaaS、PaaS、IaaS三種模式,那么云計(jì)算都有哪些具體的應(yīng)用場(chǎng)景呢?
著名MOOC在線學(xué)習(xí)平臺(tái),提供在線課程,擁有超過300類課程。通過使用云計(jì)算技術(shù),可處理每個(gè)月大約1/2PB級(jí)的大流量,支撐每年超過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è)平臺(tái),幫助開發(fā)可運(yùn)行在云服務(wù)器、數(shù)據(jù)中心、Web和PC上的應(yīng)用程序。云計(jì)算的開發(fā)者能使用微軟全球數(shù)據(jù)中心的儲(chǔ)存、計(jì)算能力和網(wǎng)絡(luò)基礎(chǔ)服務(wù)。
自2008年10月發(fā)行以來,還是取得了不錯(cuò)的成效的。web項(xiàng)目部署在微軟Azure上面有很多辦法,這里就不一一列舉了。
擴(kuò)展-H5的部署
在自學(xué)web開發(fā)游戲開發(fā)的路上,最有成就感的時(shí)刻就是將自己的小游戲做出來分享給朋友試玩,原生的游戲開可以打包分享,小游戲上線流程又長(zhǎng),那H5小游戲該怎么分享呢?
高伸縮性分布式系統(tǒng)方案
分布式架構(gòu)云平臺(tái)在充分分析IT技術(shù)發(fā)展趨勢(shì),遵循集中化、標(biāo)準(zhǔn)化、集成化、可靠化和可擴(kuò)展化的設(shè)計(jì)原則,以價(jià)值創(chuàng)造為使命,以規(guī)范化、一體化、智能化的云平臺(tái)為支撐,實(shí)現(xiàn)信息的透明共享、業(yè)務(wù)的敏捷協(xié)同、管控及時(shí)、決策科學(xué)為設(shè)計(jì)目標(biāo),選擇傳統(tǒng)成熟的J2EE、SOA、應(yīng)用集成和BI信息技術(shù)和新一代的云計(jì)算、大數(shù)據(jù)、移動(dòng)應(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請(qǐng)求數(shù),使用瀏覽器緩存,啟用壓縮,CSS JS位置,JS異步,減少Cookie傳輸;CDN加速,反向代理。
應(yīng)用層優(yōu)化:處理網(wǎng)站業(yè)務(wù)的服務(wù)器。使用緩存,異步,集群。
代碼優(yōu)化:合理的架構(gòu),多線程,資源復(fù)用(對(duì)象池,線程池等),良好的數(shù)據(jù)結(jié)構(gòu),JVM調(diào)優(yōu),單例,Cache等。
存儲(chǔ)優(yōu)化:緩存、固態(tài)硬盤、光纖傳輸、優(yōu)化讀寫、磁盤冗余、分布式存儲(chǔ)(HDFS)、NoSQL等。
高可用/高可靠設(shè)計(jì)
如何提高可用性,就是需要迫切解決的問題。首先,需要從架構(gòu)級(jí)別考慮,在規(guī)劃的時(shí)候,就考慮可用性。
行業(yè)內(nèi)一般用幾個(gè)9表示可用性指標(biāo),比如四個(gè)9(99.99),一年內(nèi)允許的不可用時(shí)間是53分鐘。
應(yīng)用層:一般設(shè)計(jì)為無狀態(tài)的,對(duì)于每次請(qǐng)求,使用哪一臺(tái)服務(wù)器處理是沒有影響的。一般使用負(fù)載均衡技術(shù)(需要解決Session同步問題)實(shí)現(xiàn)高可用。
服務(wù)層:負(fù)載均衡,分級(jí)管理,快速失敗(超時(shí)設(shè)置),異步調(diào)用,服務(wù)降級(jí),冪等設(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)知識(shí)體系。
本章課程從系統(tǒng)訪問鏈路為切入點(diǎn),圍繞訪問鏈路的方方面面,包括基礎(chǔ)設(shè)施、分層架構(gòu)、分割架構(gòu)、系統(tǒng)保障、技術(shù)平臺(tái)生態(tài)圈等幾個(gè)方面進(jìn)行展開,力求展現(xiàn)出一套相對(duì)比較完整的系統(tǒng)架構(gòu)體系,同時(shí)結(jié)合自身經(jīng)驗(yàn),介紹具體落地的方案和技術(shù),希望能夠給讀者帶來一些收獲。
云具體應(yīng)用場(chǎng)景解析
云計(jì)算有總體成本低、服務(wù)好、環(huán)保等特點(diǎn),使得由傳統(tǒng)IT向云計(jì)算轉(zhuǎn)變的總體趨勢(shì)不變。據(jù)信通院2015年調(diào)查數(shù)據(jù)顯示,企業(yè)對(duì)公共云和專有云的使用比例未來均有所上升。具體云計(jì)算主流技術(shù)呈現(xiàn)迅速迭代的趨勢(shì),技術(shù)快速迭代對(duì)社會(huì)整體有利,但對(duì)企業(yè)本身是一種挑戰(zhàn)。因此,對(duì)企業(yè)來說,云計(jì)算帶來的是IT關(guān)注點(diǎn)的不斷改變,而并非去IT。