愛(ài)盈利(aiyingli.com)移動(dòng)互聯(lián)網(wǎng)最具影響力的盈利指導(dǎo)網(wǎng)站。定位于服務(wù)移動(dòng)互聯(lián)網(wǎng)創(chuàng)業(yè)者,移動(dòng)盈利指導(dǎo)。我們的目標(biāo)是讓盈利目標(biāo)清晰可見(jiàn)!降低門(mén)檻,讓缺乏經(jīng)驗(yàn)、資金有限的個(gè)人和團(tuán)隊(duì)獲得經(jīng)驗(yàn)和機(jī)會(huì),提高熱情,激發(fā)產(chǎn)品。
導(dǎo)讀
移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)和大數(shù)據(jù)應(yīng)用的快速發(fā)展極大地促進(jìn)了人們對(duì)云計(jì)算的需求。
但是讓?xiě)?yīng)用架構(gòu)擁有良好的可伸縮性和高可用性并非易事,運(yùn)維和管控龐大的基礎(chǔ)架構(gòu)更是極大的挑戰(zhàn)。
近年來(lái),一個(gè)新的架構(gòu)風(fēng)格Serverless成了熱門(mén)話(huà)題。
What is Serverless
Serverless是一種基于互聯(lián)網(wǎng)的技術(shù)架構(gòu)理念。
采用FAAS(Function as a Service)架構(gòu),通過(guò)功能組合來(lái)實(shí)現(xiàn)應(yīng)用程序邏輯。
該架構(gòu)能夠讓開(kāi)發(fā)者在構(gòu)建應(yīng)用的過(guò)程中無(wú)需關(guān)注計(jì)算資源的獲取和運(yùn)維,由平臺(tái)來(lái)按需分配計(jì)算資源并保證應(yīng)用執(zhí)行的SLA,按照調(diào)用次數(shù)進(jìn)行計(jì)費(fèi),有效的節(jié)省應(yīng)用成本。
Serverless與傳統(tǒng)架構(gòu)的異同
傳統(tǒng)的互聯(lián)網(wǎng)應(yīng)用主要采用C/S架構(gòu),服務(wù)器端需長(zhǎng)期維持業(yè)務(wù)進(jìn)程來(lái)處理客戶(hù)端請(qǐng)求。
Serverless架構(gòu)中,應(yīng)用程序?qū)⒒贔AAS架構(gòu)形成多個(gè)相互獨(dú)立的功能組件,并以API服務(wù)的形式提供給用戶(hù)。
同時(shí),服務(wù)器端無(wú)需長(zhǎng)期維持業(yè)務(wù)進(jìn)程,業(yè)務(wù)代碼僅在調(diào)用時(shí)才激活運(yùn)行,當(dāng)響應(yīng)結(jié)束占用資源便會(huì)釋放。
Serverless的優(yōu)勢(shì)
節(jié)約使用成本
服務(wù)根據(jù)用戶(hù)的調(diào)用次數(shù)進(jìn)行計(jì)費(fèi),節(jié)省了使用成本。
同時(shí),用戶(hù)能夠通過(guò)共享網(wǎng)絡(luò)、硬盤(pán)、CPU等計(jì)算資源,在業(yè)務(wù)高峰期通過(guò)彈性擴(kuò)容方式有效的應(yīng)對(duì)業(yè)務(wù)峰值,在業(yè)務(wù)波谷期將資源分享給其他用戶(hù)。
簡(jiǎn)化設(shè)備運(yùn)維
開(kāi)發(fā)人員面對(duì)的將是第三方開(kāi)發(fā)或自定義的API 和URL,底層硬件對(duì)于開(kāi)發(fā)人員透明化了,技術(shù)團(tuán)隊(duì)無(wú)需再關(guān)注運(yùn)維工作,能夠更加專(zhuān)注于應(yīng)用系統(tǒng)開(kāi)發(fā)
提升可維護(hù)性
Serverless架構(gòu)中,應(yīng)用程序?qū)⒄{(diào)用多種第三方功能服務(wù),組成最終的應(yīng)用邏輯。
例如登陸鑒權(quán)服務(wù),云數(shù)據(jù)庫(kù)服務(wù)等第三方服務(wù)在安全性、可用性、性能方面都進(jìn)行了大量?jī)?yōu)化,開(kāi)發(fā)團(tuán)隊(duì)直接集成第三方的服務(wù),能夠有效的降低開(kāi)發(fā)成本,同時(shí)使得應(yīng)用的運(yùn)維過(guò)程變得更加清晰,有效的提升了應(yīng)用的可維護(hù)性。
為什么Serverless適合大數(shù)據(jù)業(yè)務(wù)
大數(shù)據(jù)應(yīng)用相比流程性的應(yīng)用有以下特點(diǎn):
- 流程長(zhǎng),從采集,存儲(chǔ),清洗,關(guān)聯(lián),到分析挖掘,直到變成數(shù)據(jù)服務(wù)
- 邏輯復(fù)雜,大數(shù)據(jù)的價(jià)值就是要關(guān)聯(lián)非常多的維度來(lái)分析
- 不確定性強(qiáng),數(shù)據(jù)的應(yīng)用很多都是探索性質(zhì)的
- 技術(shù)體系復(fù)雜,不存在一個(gè)通用的引擎可以解決所有大數(shù)據(jù)的場(chǎng)景,離線(xiàn)處理,流式處理,在線(xiàn)分析需要使用不同的引擎來(lái)支持
為了更好的應(yīng)對(duì)大數(shù)據(jù)場(chǎng)景下的特點(diǎn),阿里云的大數(shù)據(jù)平臺(tái)——數(shù)加平臺(tái)提供了一些列的Serverless服務(wù),使得數(shù)據(jù)科學(xué)家無(wú)需陷入到復(fù)雜的底層構(gòu)建和運(yùn)維的細(xì)節(jié),提升了數(shù)據(jù)分析的效率。
從用戶(hù)視角來(lái)看,數(shù)加平臺(tái)輸入的是數(shù)據(jù),中間是數(shù)加平臺(tái)提供的serverless服務(wù),最終得到的結(jié)果是智慧的服務(wù)。 數(shù)加平臺(tái)從底層將整個(gè)數(shù)據(jù)應(yīng)用的鏈條全部打通,并提供了一系列的Serverless 服務(wù),從數(shù)據(jù)采集,存儲(chǔ),各種處理,到最終變成數(shù)據(jù)服務(wù)。
用戶(hù)需要做的是開(kāi)發(fā)、配置業(yè)務(wù)相關(guān)的處理邏輯、業(yè)務(wù)規(guī)則和算法等,把所有精力關(guān)注在數(shù)據(jù)價(jià)值的實(shí)現(xiàn)上,而不用關(guān)心底層技術(shù)和運(yùn)維層面的架構(gòu),也不用關(guān)心系統(tǒng)資源管理等。
典型場(chǎng)景
數(shù)據(jù)分析服務(wù)化
按需組合使用各類(lèi)Serverless 的服務(wù),將多種數(shù)據(jù)源集成,清洗轉(zhuǎn)換,關(guān)聯(lián)分析,并以可視化的方式展現(xiàn)數(shù)據(jù)的洞察。過(guò)程中不用關(guān)心任何的物理架構(gòu),也不用關(guān)心各種工具的集成。
數(shù)據(jù)服務(wù)化
指將已有的數(shù)據(jù)通過(guò)Serverless的方式(如API化)提供給使用者,常見(jiàn)的有:氣象數(shù)據(jù)獲取,根據(jù)地理位置獲取對(duì)應(yīng)位置的地點(diǎn)信息,圖像識(shí)別(指能識(shí)別出特定的圖片信息),特征新聞抓取服務(wù)等。
算法服務(wù)化
主要是將輸入的數(shù)據(jù)根據(jù)特定的算法進(jìn)行提煉和運(yùn)算,然后將結(jié)果輸出,如人臉特征值提取,基因計(jì)算,圖像渲染等。
開(kāi)發(fā)者無(wú)需考慮計(jì)算資源,只需將計(jì)算代碼托管到大數(shù)據(jù)平臺(tái)或者通過(guò)API接口調(diào)用大數(shù)據(jù)計(jì)算服務(wù),由服務(wù)商提供計(jì)算資源的調(diào)度,監(jiān)控和維護(hù)工作,能極大的降低運(yùn)維工作量,同時(shí)具有更好的資源彈性伸縮能力。
經(jīng)典實(shí)踐之智慧水務(wù)
利用IoT 套件采集設(shè)備數(shù)據(jù),通過(guò)簡(jiǎn)單的配置即可將數(shù)據(jù)實(shí)時(shí)對(duì)接到大數(shù)據(jù)平臺(tái)的DataHub.驅(qū)動(dòng)以下典型的計(jì)算場(chǎng)景。
- 在流計(jì)算中自定義SQL 對(duì)這些數(shù)據(jù)做實(shí)時(shí)的匯總統(tǒng)計(jì),比如流量的統(tǒng)計(jì)
- 在規(guī)則引擎中配置業(yè)務(wù)規(guī)則,通過(guò)這些規(guī)則對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)分析,判斷設(shè)備的狀態(tài)
- 在規(guī)則引擎中配置異常檢測(cè)的算法對(duì)設(shè)備狀態(tài)進(jìn)行預(yù)測(cè),或者利用時(shí)間序列算法對(duì)管網(wǎng)運(yùn)行狀態(tài)進(jìn)行預(yù)測(cè),底層會(huì)應(yīng)用到Maxcompute 對(duì)歷史數(shù)據(jù)進(jìn)行分析,產(chǎn)出的模型對(duì)接到StreamCompute,進(jìn)而對(duì)新產(chǎn)生的數(shù)據(jù)進(jìn)行實(shí)時(shí)預(yù)測(cè)
這個(gè)案例里面,利用到了大量的大數(shù)據(jù)的能力,離線(xiàn)存儲(chǔ)和計(jì)算,流式計(jì)算,機(jī)器學(xué)習(xí)模型訓(xùn)練,數(shù)據(jù)可視化等等,但對(duì)使用者來(lái)說(shuō),需要做的是流計(jì)算SQL 的開(kāi)發(fā),以及業(yè)務(wù)規(guī)則的配置,以及偏業(yè)務(wù)算法參數(shù)的配置。
而不用去管底層的平臺(tái)要如何搭建,不同引擎之間的數(shù)據(jù)如何流轉(zhuǎn),以及系統(tǒng)的擴(kuò)展性,穩(wěn)定性,更不用關(guān)心要準(zhǔn)備多少的物理資源。
End.
轉(zhuǎn)載請(qǐng)注明來(lái)自36大數(shù)據(jù)(36dsj.com):36大數(shù)據(jù) » 如何在阿里云數(shù)加平臺(tái)實(shí)踐Serverless架構(gòu)?
愛(ài)盈利-運(yùn)營(yíng)小咖秀 始終堅(jiān)持研究分享移動(dòng)互聯(lián)網(wǎng)App數(shù)據(jù)運(yùn)營(yíng)推廣經(jīng)驗(yàn)、策略、全案、渠道等純干貨知識(shí)內(nèi)容;是廣大App運(yùn)營(yíng)從業(yè)者的知識(shí)啟蒙、成長(zhǎng)指導(dǎo)、進(jìn)階學(xué)習(xí)的集聚平臺(tái);
【轉(zhuǎn)載說(shuō)明】  若上述素材出現(xiàn)侵權(quán),請(qǐng)及時(shí)聯(lián)系我們刪除及進(jìn)行處理:[email protected]