摘要:年月,騰訊云宣布推出總價值超過億元的小程序云開發(fā)資源扶持計劃,對超過一百萬個小程序開發(fā)者提供免費資源扶持,全面助力開發(fā)者打造優(yōu)秀小程序。
『 作為一個不斷發(fā)展的新興技術, Serverless 熱度的制高點已然到來?!?/p>
或許,Google Trends 所顯示的 3 年猛增 20 倍的“ Serverless ” 搜索量,可以佐證 Serverless 在整個行業(yè)中的火爆程度。
不僅如此,據(jù) KBV 研究公司新發(fā)布的《全球 Serverless 架構市場》及 RightScale 云服務狀況報告 2018 版顯示,全球 Serverless 架構的市場滲透率已超 75%,市場規(guī)模預計到 2024 年將達到 140 億美元,并將在預測期內(nèi)以 23.4% 的年復合增長率增長。
作為一種云原生的架構,Serverless 與 BaaS、FaaS 之間有何“愛恨情仇”?冤家路窄卻能完美解決前后端聯(lián)調(diào)等開發(fā)痛點,解決方案又是如何?相較于傳統(tǒng)開發(fā)模式,基于“無服務開發(fā)”理念的小程序·云開發(fā)模式又“新”在何處,有何利好?下面我們從 Serverless 的架構演進來具體分析。
『 Serverless 架構詳解 』
在過去的十幾年里 (2006 年誕生 IaaS),云計算的進程從物理機演進到 IaaS,再到 PaaS,已經(jīng)將應用程序的運行環(huán)境和通用組件,越來越多地交給云服務商。Serverless 進一步將主機管理、操作系統(tǒng)管理、資源分配、擴展、甚至應用邏輯的整個組件,都交付給云服務商,在成本和運營效率方面獲得了顯著的提升。
作為一種云原生的架構,Serverless 使得開發(fā)者在開發(fā)應用時不需部署、配置和管理傳統(tǒng)服務器,轉而依賴于第三方服務,將代碼托管到云端平臺。
目前,業(yè)界并沒有給出明確的定義,而是把其分成兩種類型,分別為「 Backend as a Service 」 和 「 Functions as a Service 」。換一種開發(fā)者更熟知的表達方式看,也就是「 后端即服務(BaaS)」和「 功能即服務(FaaS)」。
Serverless=BaaS+FaaS?聽著很高深,其實很好理解。
「 BaaS 」是將應用開發(fā)中所有后端的需求,通過統(tǒng)一的云平臺來解決,讓開發(fā)者無需再編寫和管理所有服務端組件。BaaS 使開發(fā)者無需編寫完整的邏輯組件,但需要將應用程序與云服務商提供的特定接口和模型集成。
而「 FaaS 」是把函數(shù)作為一個線上服務、遠程計算服務,可以通過 API、郵件、IoT 等執(zhí)行。FaaS 是一種構建和部署服務端軟件的新方式,面向部署單個的函數(shù)或者操作,是一種新的運行代碼的托管環(huán)境。FaaS 本質(zhì)上是事件驅(qū)動的,優(yōu)化了函數(shù)運行時的資源使用,它的目標是在運行的時候才消費資源。
從表面上看,BaaS 和 FaaS 是兩碼事——前者是把應用中的各個部分完全外包出去,后者是一種新的運行代碼的托管環(huán)境。
那么,為什么要把它們都劃歸為 Serverless 呢?
關鍵在于,它們都不需要開發(fā)者管理自己的服務器主機或者服務器進程。Serverless 并非是無服務器,它仍然涉及服務器,只是這個服務器在云上。實際上,這是一種使用服務的新方法,在很多情況下,它比自己去買服務器更為劃算,而且加快了項目上線的時間,降低了開發(fā)、維護、擴展的復雜性。
Serverless 技術的崛起不但讓開發(fā)者無需過多考慮服務器問題,并且完美地解決前后端聯(lián)調(diào)等開發(fā)痛點,作為一種全新的架構,Serverless 可謂是云計算發(fā)展演化的必然結果。
『 傳統(tǒng)開發(fā)痛點解析及解法 』
“Serverless 所提供的接口,簡化了云計算的編程,其代表了程序員生產(chǎn)力的又一次的變革,一如編程語言從匯編時代演變?yōu)楦呒壵Z言時代。” 2019 年,伯克利在《將云中的編程變得簡單:伯克利視角下的 Serverless 計算》中的犀利語句也論斷了 Serverless 云時代主宰般的地位。
此前,云計算服務并沒有從根本上改變設計應用程序的方式。
例如,當使用 Docker 這樣的工具時,開發(fā)者在應用程序周圍放置了一個更薄的“盒子”,但它仍然是一個盒子,邏輯架構不會發(fā)生顯著的變化。再比如,在云中托管 MySQL 實例時,開發(fā)者仍需考慮工作負載所需的虛擬機資源,以及故障切換等問題。
現(xiàn)如今,這種情況在 Serverless 面前,迎刃而解。甚至在前后端分離與聯(lián)調(diào)所產(chǎn)生的一系列權責、溝通與調(diào)試等開發(fā)痛點上,Serverless 也能從以下 5 個維度完美解決:
? 按需計費。不同于 IaaS/PaaS 預先分配計算資源的計費方式,Serverless 按請求次數(shù)及運行時間計費,一方面可以最大程度利用資源,另一方面真正的按需計費可以降低開發(fā)者的資源成本,開發(fā)者只需要為函數(shù)實際執(zhí)行所消耗的資源付費,即用即付;
? 高效率。在 Serverless 的架構中,用戶操作的是服務化的組件,如存儲服務、授權服務等,縮短了開發(fā)周期,降低了開發(fā)難度,且避免了由基礎設施產(chǎn)生的延遲;
? 綠色計算。在 Serverless 架構下,服務商提供細力度的計算能力,最大限度地滿足開發(fā)的實時需求,資源利用率將大幅度提升;
? 高擴展。Serverless 架構的橫向擴展是完全自動、有彈性的,且由服務提供者所管理;
? 無需運維。運維的發(fā)展經(jīng)歷了人肉運維、自動化運維、DevOps 和 AIOps 等階段,而 Serverless 帶來一種新的運維模式。在這種模式下,開發(fā)者只需要關心業(yè)務本身,無需運維。
正因開發(fā)痛點重重,在想要突破傳統(tǒng)開發(fā)模式,探索新型開發(fā)方案的過程中,開發(fā)者借助 Serverless 技術架構,基于“無服務開發(fā)”理念創(chuàng)造出了一種新型開發(fā)模式——小程序·云開發(fā)。
小程序·云開發(fā),是微信與騰訊云聯(lián)合開發(fā)的原生 Serverless 云服務,它集成了微信公眾平臺及騰訊云兩個核心業(yè)務的技術能力,免鑒權、免后端配置和運維、一切圍繞 API 和 SDK 為核心。
以云調(diào)用功能為例,只要在小程序端觸發(fā)云函數(shù),便將經(jīng)過微信自動鑒權直接調(diào)用,如數(shù)據(jù)分析、客服消息,插件管理等開放 API 接口。這些開放接口通過系統(tǒng)配置、將大幅提升效率、優(yōu)化體驗、降低運營成本。
「 那么,在用戶量峰值過大或黑客攻擊的情況下,小程序·云開發(fā)是如何保證后臺服務性能與安全的呢?」
首先,小程序·云開發(fā)沒有傳統(tǒng)的后臺服務器,也就沒有被 DDoS 的目標,這是從產(chǎn)品形態(tài)上保障用戶業(yè)務安全;其次,小程序·云開發(fā)之間的環(huán)境是互相隔離的,即便發(fā)生攻擊,從架構上將不會相互影響;再次,小程序·云開發(fā)服務構建在騰訊云基礎設施之上,天然擁有快速擴容和安全防護的能力。
在用戶量突增時,小程序·云開發(fā)的開發(fā)人員會立即通過響應的監(jiān)控及告警發(fā)現(xiàn)流量的變化,然后確認是否需要擴容。騰訊云基礎運維能力也保證了開發(fā)者擁有能夠快速擴充服務的能力,以避免對用戶的服務造成影響。
而在突發(fā)黑客大流量攻擊(如 DDoS)時,小程序·云開發(fā)的開發(fā)及運維人員也會先確認遭受攻擊的真實性,當?shù)玫酱_認后會第一時間與騰訊云系統(tǒng)運維、騰訊安全中心確認,確保已經(jīng)對小程序·云開發(fā)的服務器加強防護,以保護系統(tǒng)服務安全。此外,小程序·云開發(fā)控制臺也有響應的流量實時數(shù)據(jù)告知開發(fā)者,開發(fā)者可以據(jù)此了解服務的流量數(shù)據(jù),如有異??梢月?lián)系小程序·云開發(fā)官方。
『 小程序·云開發(fā)架構詳解 』
云開發(fā)是一種 BaaS,在引入了 Serverless 技術架構的同時,讓開發(fā)者在構建應用的過程中無需關注計算資源的獲取和運維。
在應用端,開發(fā)者可以直接使用官方提供的接口。在云函數(shù)端,開發(fā)者可以直接使用官方提供的 Node SDK,來操作云資源。
目前小程序·云開發(fā)一共提供了三大基礎能力,分別是云函數(shù)、數(shù)據(jù)庫、文檔存儲。簡而言之,就是提供了存文件、存數(shù)據(jù)和運行業(yè)務邏輯的能力。
其中,云函數(shù)能力來源于騰訊云的“無服務器云函數(shù) SCF” 。通過與 SCF 的深度結合應用,可以形成一套比較完整的 Serverless 解決方案。
? 使用 SCF,可以讓開發(fā)者更簡單的管理服務端代碼,無需管理或配置服務器,只需將代碼上傳至 SCF,就可以自動運行;
? 可以更高效的利用資源,按照執(zhí)行時間和調(diào)用次數(shù)收費,代碼不運行時不產(chǎn)生費用;
? 可以快速建立持續(xù)擴展的能力,每個云函數(shù)互不影響,并行處理不同的邏輯。
此外,小程序·云開發(fā)的數(shù)據(jù)庫能力則是基于騰訊云的 NoSQL 數(shù)據(jù)庫服務,并兼容 MongoDB 協(xié)議。每個數(shù)據(jù)庫資源都會分配一個實例 ID,每一個實例都是至少一主一從的副本集或者包含多個副本集的分片集群,數(shù)據(jù)庫反向代理轉發(fā)請求去最優(yōu)副本集。
同樣,小程序·云開發(fā)借助騰訊云提供的面向非結構化數(shù)據(jù)——對象存儲(Cloud Object Storage,COS)支持文檔存儲服務的文件上傳、下載和刪除等功能,可以幫助開發(fā)者處理文件相關的業(yè)務邏輯。所有上傳的文件都會有一個全網(wǎng)唯一的文件 ID,使用文件 ID 可以在 image、audio 等小程序組件中直接訪問文件。通過小程序·云開發(fā)上傳的文件在小程序內(nèi)默認允許訪問,不需要配置 CDN 域名白名單。
2019 年 1 月,騰訊云宣布推出總價值超過 10 億元的“小程序·云開發(fā)”資源扶持計劃,對超過一百萬個小程序開發(fā)者提供免費資源扶持,全面助力開發(fā)者打造優(yōu)秀小程序。
小程序·云開發(fā)將持續(xù)豐富 SDK 能力,釋放騰訊的技術價值,逐漸支持多種開發(fā)語言,讓開發(fā)更便捷。不僅如此,騰訊云還會加快豐富云開發(fā)的各類行業(yè)解決方案,滿足企業(yè)業(yè)務不同應用場景需求 。
未來,新的技術層出不窮,但是要知道技術始終是為人服務的。不解決人的問題,技術無法成長壯大。
將開發(fā)者的精力解放出來,讓他們投入到業(yè)務邏輯等更具價值的工作中,從根本上賦能技術發(fā)展,才是推動行業(yè)”車輪“不斷向前駛進的源動力。
如果你有關于使用云開發(fā)CloudBase相關的技術故事/技術實戰(zhàn)經(jīng)驗想要跟大家分享,歡迎留言聯(lián)系我們哦~比心!
云開發(fā)
Tencent CloudBase
關注我可以說是相當酷了~
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/45177.html
摘要:年月,騰訊云宣布推出總價值超過億元的小程序云開發(fā)資源扶持計劃,對超過一百萬個小程序開發(fā)者提供免費資源扶持,全面助力開發(fā)者打造優(yōu)秀小程序。 『 作為一個不斷發(fā)展的新興技術, Serverless 熱度的制高點已然到來。』 或許,Google Trends 所顯示的 3 年猛增 20 倍的 Serverless 搜索量,可以佐證 Serverless 在整個行業(yè)中的火爆程度。 showI...
摘要:年月,騰訊云宣布推出總價值超過億元的小程序云開發(fā)資源扶持計劃,對超過一百萬個小程序開發(fā)者提供免費資源扶持,全面助力開發(fā)者打造優(yōu)秀小程序。 『 作為一個不斷發(fā)展的新興技術, Serverless 熱度的制高點已然到來。』 或許,Google Trends 所顯示的 3 年猛增 20 倍的 Serverless 搜索量,可以佐證 Serverless 在整個行業(yè)中的火爆程度。 showI...
摘要:年月,騰訊云宣布推出總價值超過億元的小程序云開發(fā)資源扶持計劃,對超過一百萬個小程序開發(fā)者提供免費資源扶持,全面助力開發(fā)者打造優(yōu)秀小程序。 『 作為一個不斷發(fā)展的新興技術, Serverless 熱度的制高點已然到來。』 或許,Google Trends 所顯示的 3 年猛增 20 倍的 Serverless 搜索量,可以佐證 Serverless 在整個行業(yè)中的火爆程度。 showI...
摘要:未完,待續(xù)阿里云云數(shù)據(jù)庫版兼容協(xié)議標準的提供持久化的內(nèi)存數(shù)據(jù)庫服務,基于高可靠雙機熱備架構可無縫擴展的集群架構以及讀寫分離架構,滿足高讀寫性能場景及容量需彈性變配的業(yè)務需求。 摘要: Redis是開源的基于內(nèi)存且可以持久化的分布式 Key – Value數(shù)據(jù)庫。自2009年發(fā)布最初版本以來,Redis的熱度只增不減,除了經(jīng)常位居DB-Engines的最受歡迎Key-Value數(shù)據(jù)庫榜首...
閱讀 1753·2021-10-13 09:39
閱讀 1323·2019-08-30 13:58
閱讀 1415·2019-08-29 16:42
閱讀 3564·2019-08-29 15:41
閱讀 2997·2019-08-29 15:11
閱讀 2484·2019-08-29 14:10
閱讀 3413·2019-08-29 13:29
閱讀 2095·2019-08-26 13:27