91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

小程序 Serverless: 解放生產力,驅動研發效能提升

發布時間:2020-08-11 06:41:19 來源:ITPUB博客 閱讀:109 作者:支付寶技術團隊 欄目:移動開發

**摘要**:以“數字金融新原力(The New Force of Digital Finance)”為主題,螞蟻金服ATEC城市峰會于2019年1月4日于上海如期舉辦。ATEC移動開發專場分論壇上,螞蟻金服前端技術專家袁收納帶來了主題為《小程序 Serverless: 解放生產力,驅動研發效能提升》的精彩分享。


演講中,袁收納分享了螞蟻金服Serverless架構的技術特點及設計框架。對比目前小程序的傳統開發流程,展示了Serverless架構高效簡潔的優勢。

![在這里插入圖片描述](https://cache.yisu.com/upload/information/20200706/160/93672.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDMyNjU4OQ==,size_16,color_FFFFFF,t_70)

**袁收納 螞蟻金服前端技術專家**               


## 小程序開發現狀


首先來看一下在目前小程序開發的情況下應該如何處理。

![在這里插入圖片描述](https://cache.yisu.com/upload/information/20200706/160/93673.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDMyNjU4OQ==,size_16,color_FFFFFF,t_70)

在傳統模式中,當我們需要去開發一個小程序的時候,我們依舊需要采用像開發傳統 app 一樣的方式進行業務開發。在整體業務開發中,我們需要多個角色的協同,大致來說,我們需要如下的一些流程:


 1. 小程序的技術開發人員開發小程序端上業務,實現小程序 UI,體驗端的交互邏輯等。 

 2. 后臺的技術開發人員需要通過相應的后端語言(java/nodejs/c#等)來開發后臺業務。這里的后臺業務包含登錄、權限、數據操作、業務邏輯控制等。后臺的技術開發人員需要通過相應的后端語言(java/nodejs/c#等)來開發后臺業務。這里的后臺業務包含登錄、權限、數據操作、業務邏輯控制等。

 3. 前后端人員開發好邏輯后進行部署聯調 

 4. 服務部署后,需要運維的人員來處理環境問題、監控、容災等問題,以確保服務的持續可用前后端人員開發好邏輯后進行部署聯調 服務部署后,需要運維的人員來處理環境問題、監控、容災等問題,以確保服務的持續可用服務部署后,需要運維的人員來處理環境問題、監控、容災等問題,以確保服務的持續可用前后端人員開發好邏輯后進行部署聯調 服務部署后,需要運維的人員來處理環境問題、監控、容災等問題,以確保服務的持續可用

 5. 最后,安全的人員需要為應用制定安全規則,搭配相應的安全處理方案,確保服務的安全可靠,不被惡意攻擊最后,安全的人員需要為應用制定安全規則,搭配相應的安全處理方案,確保服務的安全可靠,不被惡意攻擊

從以上流程我們能看出,在現有的模式中,我們開發一個小程序的成本其實蠻高的。從兩個地方來看,一個是人力成本,一個是資源成本。


**人力成本**


在上述模式中,我們一個小程序需要 3-4 個角色的參與才能確保我們的小程序能持續穩定的服務。這對小規模的小程序或者孵化階段的小程序來說人員投入是非常大的。


**資源成本**


在傳統的模式中,為了能讓我們的小程序穩定運行起來,我們需要購買大量的資源。最常見的就是 ecs * 2 + rds + slb + 域名 + 證書 等,如果我們要做安全控制,還需購買云上的安全設施,比如 ddos 防御等。這些資源不管我們業務量多大,我們都需要持續付費,對用戶來說,這個成本是非常高的。


綜上,我們能看出,在傳統的模式中,人力成本和資源成本兩大投入會成為制約小程序快速布局落地的攔路虎。如果我們在小程序業務中還是使用傳統的開發模式,那我們業務的整體賦能將會來的不夠經濟、快速。


所以,我們需要使用一種更加簡單、高效的開發方式


## 更簡單的Serverless開發方式


通過上述的分析,我們能看到傳統模式不利于我們小程序的快速布局,我們需要采用一種更高效的研發方式來實現快速布局,這種方式就是 Serverless 模式。采用螞蟻的 Serverless 產品 后端云服務,我們可以用更高效、簡單的方式快速實現穩定、可靠的小程序后臺服務。

![在這里插入圖片描述](https://cache.yisu.com/upload/information/20200706/160/93677.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDMyNjU4OQ==,size_16,color_FFFFFF,t_70)

**BaaS**


模塊后端級服務。一般情況下,在開發小程序的后臺數據服務時,開發團隊需要在云上購買相關的短信服務來供前端使用。在有了BaaS之后,開發團隊可以通過小程序本身直接操作,例如發送短信的功能,現在可以直接通過小程序完成,而不需要后端參與,因此大大節省了開發成本。


**服務托管**


目前的情況下,無論是前端應用還是后端應用,都需要后臺來處理很多東西,開發者還會去購買云ECS、購買域名并進行域名備案等工作,以上這些步驟都是不可避免的。在服務托管模式中,數據庫、域名、證書以及整套安全防控均為服務性體系。在這種模式下,開發者只需要把自己業務邏輯實現好提交給平臺,平臺會完成系統部署并掛到網關上。簡而言之,開發者無需再關心底層環境、數據以及服務器的各種配置等,取而代之的是把代碼提供給小程序平臺,由平臺完成這一系統操作。


**函數計算**


函數計算是比較簡單的計算單元,我們可以采用函數計算來處理一些簡單的異步、批處理操作,例如批量化操作、批量化處理圖象以及處理一些比較耗資源的數據。基于異步事件以及按量付費的函數計算,我們無需再搭建大規模的計算集群,只需通過函數計算即可快速、低成本地實現計算能力,串接業務。

## **螞蟻小程序 Serverless服務結構**

Serverless的服務大結構分為如下圖所示四層:

![在這里插入圖片描述](https://cache.yisu.com/upload/information/20200706/160/93680.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDMyNjU4OQ==,size_16,color_FFFFFF,t_70)

**第一層,阿里生態支持層。**


Serverless支持所有阿里的生態,為開發者提供十分靈活的接入方案無縫接入支付寶高德等服務,并允許開發者直接使用這些服務。


**第二層,統一接入層。**


小程序的一個核心特點就是能通過一個小程序快速布局到多個端上,以便快速吸收各個端上的流量,為業務帶來紅利。


在傳統的模式中,如果我們需要將小程序部署到多個端上,那我們需要基于每個端的登錄體系實現認證,這個對開發者來說成本還是蠻高的。


在螞蟻 Serverless 服務中,我們提供了統一接入能力,客戶不再需要去處理各個端上的認證差異,通過 Serverless 服務提供的統一 api 即可快速實現認證,大大縮減開發時間。


**第三層是Serverless架構的核心層**,其具有文件儲存,數據儲存,服務托管,函數計算等諸多能力。接下來就為大家詳細介紹這以上幾種能力。


**文件儲存;**


在現在的移動互聯網中,我們有大量的資源需要使用上傳、下載。在傳統的模式中,我們需要購買存儲、cdn、域名、證書等,然后再使用后端服務進行文件的存取操作,整體還是比較復雜的。同時,當用戶在移動端情況下做營銷或紅包投放時,用戶資源的訪問量是很大的,會出現后臺承載量有限、開發成本昂貴等問題。


基于這個場景,小程序 Serverless 平臺為開發者提供了基于 CDN 的文件 BaaS 服務,通過我們封裝良好的 SDK,開發者只需將文件通過接口上傳,即可直接享受到 CDN 的能力,為文件帶來最佳的訪問性能以及海量的訪問量。


**數據儲存;**


在數據儲存方面,小程序 Serverless 服務針對不同的小程序場景提供了不同的解決方案。


對中小型小程序來說,小程序可以通過客戶端的SDK操作數據庫里的數據,無需服務端參與,即可完成數據的存取操作。在此過程中,平臺為用戶的數據提供了嚴格的管控以及靈活的 DSL 配置,開發者可以根據自己的業務需求定義數據的訪問策略,讓客戶端可以安全、靈活地訪問數據


DSL 樣例如下:

```

{

 // 規則的范圍是 comment 這個集合

 "comments": {

  // 所有人可讀".read": true,

  // 只有當操作者(請求來源)和資源所有者是同一個人時可寫

  ".write": "request.auth.userId == resource.auth.userId",

  // 所有人可以進行其他操作

  "*": true

 },

 // 規則的范圍是所有集合

 "*": {

   // 所有人可以進行任何操作

   "*": true

  }

}

```


對于復雜后端邏輯的小程序來說,小程序 Serverless 提供了基于服務托管的后端解決方案,通過服務托管,開發者可以獲得和開發后端應用一樣的體驗,開發者可以對數據持有最大的自由操作權,可以完全按照自己的業務體系定義。


**服務托管;**


在傳統模式中,開發者需要花費大量的精力去做環境的搭建、系統部署、運維等事項,同時,還需花費很高的成本去實現高可用等可用性方案,成本高,性價比低。


基于這個場景,小程序 Serverless 服務提供了服務托管的解決方案。通過服務托管,開發者無需再關系底層環境、后端運維的各種細節。開發者只需將業務代碼提交到云端即可,云端會自動完成代碼的構建、部署等各種事項。讓開發者真正的無需關心底層運維即可快速實現后端業務。


使用服務托管模式,開發者可以獲得如下優勢:


開發者無需單獨購買域名證書,無需再進行域名備案,大大縮短新項目上線周期

 開發者無需關心云上復雜后端環境的搭建,只需將精力集中在業務邏輯的開發上即可,大大縮短研發時間

服務托管方案為后臺服務提供了彈性伸縮的能力,以及跨機房容災的能力,開發者不再需要花費大量精力大量資源去搭建復雜的容災伸縮機制,只需接入服務托管即可一鍵具備可靠的容災能力。

 服務托管采用按量付費機制,只在有真實業務產生時才會產生費用,和 ecs 相比,成本能大大縮減。

**函數計算;**


函數計算是一種更輕量的服務托管,是一個個單一的后端計算單元。通過函數計算,開發者可以將原有的復雜計算邏輯拆分為多個計算函數,然后通過事件或者http 方式串接起計算業務,在實現對業務解耦的同時也能縮短對后端資源成本的依賴。


我們平臺官方即將提供豐富的業務云函數,用戶開箱即用,無需再去處理底層復雜的邏輯。比如我們有一個圖片水印的函數,專門負責處理圖片的水印,我們在上傳文件后,只需觸發一下水印函數即可對文件實現水印處理,無需我們在應用里進行復雜的處理邏輯,和業務真正解耦。


**數據分析能力;**


基于螞蟻金融科技的數據能力,我們為用戶提供多樣化的數據分析能力。基于我們提供的數據能力,用戶可以更好地對業務進行決策,對系統進行優化,實現更高的業務價值。


**安全管控能力:**


基于螞蟻多年的安全積累,小程序 Serverless 服務為運行其上的應用提供了專業的安全管控。從接入層的防 ddos, 到鏈路層的證書驗證,再到數據層的內容安全控制。我們為客戶提供了全方位的安全控制,保障用戶的業務能持續安全運行,免受惡意攻擊。同時,螞蟻專業的安全團隊也在不斷監控管理,為用戶服務的安全做更進一步的防控


**第四層,螞蟻的生態能力層:**


通過開放平臺,小程序可以直接分享到螞蟻生態帶來的紅利,開發者可以基于信用來做租借,基于會員來做紅包等。在傳統的方案中,我們在接入螞蟻生態時成本較高,需要進行很多的安全處理。在小程序 Serverless 服務中,平臺和螞蟻開放平臺進行了打通,用戶無需再關心原有復雜的接入方式,無需再關心簽名等安全措施,只需通過我們的sdk,即可直接調用螞蟻開放接口,大大縮短研發時間。一筆支付的時間,可以從四五個小時,縮短到十分鐘,甚至對比較熟練的用戶,五分鐘就可以搞定。


## Serverless后端解決方案

![在這里插入圖片描述](https://cache.yisu.com/upload/information/20200706/160/93688.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDMyNjU4OQ==,size_16,color_FFFFFF,t_70)

基于函數計算與服務托管,小程序 Serverless 服務提供了一整套的后端解決方案,旨在為開發者提供最簡潔高效的后端研發模型。


對小程序開發者來說,通過小程序 Serverless 服務的后端解決方案開發將會變得非常簡單,只需執行如下的操作即可:


在 ide 中編寫后臺服務代碼以及 function 代碼后將代碼通過 ide 提交到云端

根據業務需求配置 function 觸發器

在小程序端通過 sdk 直接請求后臺的服務接口

整個過程開發者無需關心云上基礎設施的搭建以及相關的運維管控,只需實現實現業務邏輯即可,簡單高效


## Serverless客戶端解決方案


對于一些輕量化的場景,我們只需執行簡單的一些數據操作即可。基于這種場景,小程序 Serverless 服務提供了客戶端解決方案。

![在這里插入圖片描述](https://cache.yisu.com/upload/information/20200706/160/93693.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDMyNjU4OQ==,size_16,color_FFFFFF,t_70)

區別于后端解決方案,客戶端解決方案的核心是平臺把后面的服務通過服務化能力直接輸送給小程序,小程序可通過客戶端的方案直接操作相應的服務而無需后端的參與。


假如一個商家給顧客發促銷短信,通過平臺的SDK不需要經過任何服務器,發短信發推送等功能小程序都可以直接實現。實現過程中,通信鏈路接入安全防控體系,通過這條鏈路的數據將都有安全保障。


## Serverless與螞蟻開放能力

在原有模式下,建立一個芝麻信用或者建立一個支付可能需要半天或者一天的時間, 其中涉及到認證、授信、鑒權等多種復雜操作。 為了給開發者提供便利,小程序 Serverless 平臺和螞蟻開放平臺進行了互信打通,開發者通過平臺開發時無需再關心原有的復雜認證流程,只需采用我們的 sdk 調用相應接口即可,簡潔高效。

![在這里插入圖片描述](https://cache.yisu.com/upload/information/20200706/160/93695.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDMyNjU4OQ==,size_16,color_FFFFFF,t_70)


## Serverless帶來的優勢


Serverless方式會為開發者帶來多方面的優勢:


**研發率的提升**


在傳統模式中,我們需要大量的資源、人力投入。協同成本高,時間周期長。比如在傳統的方案中,我們需要備案域名,購買證書,這部分至少需要 40 天的時間,這部分時間無法節省,成本非常高。在具備域名的情況下,由于用戶還需處理龐大的后端底層業務,按目前的統計情況來看,實現一個中小規模的小程序還需 21 天左右,整體基本需要2 個月時間。


在 Serverless模式中,由于復雜的底層邏輯都已托管,域名等也已由平臺提供,用戶只需完成自己業務邏輯的開發即可,整體的開發時間能從以往的 21 天縮短到 5 天,大大提升了研發效率。

![在這里插入圖片描述](https://cache.yisu.com/upload/information/20200706/160/93696.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDMyNjU4OQ==,size_16,color_FFFFFF,t_70)

**安全性的保證。**


對于一般規模的團隊來說,安全是一個比較容易忽略的話題。但是現在互聯網時代攻擊無處不在,我們的業務可能隨時會受到別人的惡意攻擊,提供一套安全可靠的防控保障業務的健康尤為重要。


在傳統模式中,實現系統的安全可靠我們需要有專業的安全人員介入,并且需要在云端購買大量的安全資源。和實現高可用一樣,我們需要投入很多的資源和成本,性價比很低。


得益于螞蟻多年來的安全積累,小程序 Serverless 服務為用戶的服務提供了全方位的安全管控,全方面保障用戶業務的安全。舉例來說,我們為用戶提供了如下安全控制:


 - 接入層控制: 在接入層控制上,平臺為所有應用提供了 ddos 的流量防護以及防火墻的防護,保障業務流量的安全性。 內容安全控制:

 - 針對所有上傳到平臺的資源,我們都會自動做風險識別,對于涉黃、涉政、暴力等有法律風險、輿論等風險的資源進行實時管理,確保不會給用戶業務帶來風險。

 - 訪問控制: 針對客戶端的 BaaS 服務,我們為開發者提供了基于 DSL的安全控制策略,開發者可以根據業務需求對數據進行強管控,保障數據不發生非法訪問以及泄漏。比如數據存儲服務的規則如下  控制臺控制:

 - 對于用戶的控制臺操作,我們接入了螞蟻專業的風控體系,對登錄用戶進行精確的風控校驗,即使用戶非法獲取到賬號密碼也無法直接操作控制臺,確保用戶后臺不會被惡意操作。


對于安全方案,basement 正在不斷補充優化,通過 basement,用戶無需單獨支付費用,即可享有專業的安全控制,性價比極高

![在這里插入圖片描述](https://cache.yisu.com/upload/information/20200706/160/93698.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDMyNjU4OQ==,size_16,color_FFFFFF,t_70)

**產品的可靠性。**


在傳統的模式中,由于受限于成本、技術等限制,大多數的應用都是單節點、單機房運行。這種情況的容災能力是很弱的,如果宕機或者機房網絡異常都會造成服務的中斷,勢必會影響到業務。


如果要實現高可用,在傳統模式中,我們需要投入大量的底層資源、開發、運維資源,實現復雜度高,成本高,對于一般規模的應用來說性價比很低


在使用小程序 Serverless的模式中,平臺原生支持了同城多機房的容災能力。所有服務的數據都會進行多機房的互備,同時在應用層,我們也提供了動態的切換能力,可以保障用戶的服務在單機房故障時能持續可靠繼續服務,保障業務的穩定性。


同時,平臺為上面運行的所有服務提供高可用能力的同時不針對高可用收費,用戶無需付費即可享受到專業的高可用服務,性價比極高

![在這里插入圖片描述](https://cache.yisu.com/upload/information/20200706/160/93699.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDMyNjU4OQ==,size_16,color_FFFFFF,t_70)

**更低的成本**


在傳統模式中,我們需要大量的人力投入,資源投入,這對公司來說是一筆不小的成本,我們從兩個方面來看:


1.  人力成本


在傳統模式中,我們需要前端 + 后端 + 運維 + 安全等多個角色的協同,人力投入大,成本高


在 Serverless 模式中,只需一個全棧的前端工程師即可完成小程序的開發,人力投入小,成本低,收益高


2.   資源成本


在傳統模式中,不管業務是否在運行,都需要為底層的眾多資源付費。這些資源包含服務器、數據庫、負載均衡、監控、安全等產品,對于 dau 不高或者訪問集中化的應用來說,這種付費方式成本很高。


在 Serverless 模式中,所有的資源都是按量付費,只有真正發生了使用才會收費。同時,對于安全、高可用等能力,用戶無需付費。所以,在使用小程序 Serverless 服務的情況下,用戶只需花費原有模式 50% 以下的資金投入即可快速實現一個可靠、穩定、安全的小程序服務。

![在這里插入圖片描述](https://cache.yisu.com/upload/information/20200706/160/93701.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDMyNjU4OQ==,size_16,color_FFFFFF,t_70)


## 混合部署模式


對于已有服務的開發者來說,可以采用兩種方式接入到螞蟻小程序 Serverless 服務中,我們稱之為混合部署模式:


1.     對于現有自購 ecs 的開發者,可以通過服務托管的形式直接將應用部署到平臺中即可直接使用。


2.     對于稍大規模的商家或者SV,在后臺已經搭建了整個集群,這樣的業務是沒有辦法直接遷移的。對于這種情況平臺提供了通過后端服務或者函數直接調用現有服務的方案。通過這些方式,把用戶現有的后端的代碼直接部署到平臺中,并通過平臺投放到多個渠道上面,讓業務能快速落地。

![在這里插入圖片描述](https://cache.yisu.com/upload/information/20200706/160/93702.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDMyNjU4OQ==,size_16,color_FFFFFF,t_70)


## 總結


總體來說Serverless方案能給開發者帶來以下優勢:首先能夠帶來人力上、時間成本上、資金成本上的節省。更重要的是方案可以讓用戶能以最簡單最高效的方式上線業務,在目前電子商業瞬息萬變的節奏中,先發制人,達到最快占領市場份額并攻城略地的效果。

點擊[閱讀更多](https://tech.antfin.com/articles?chInfo=zh),查看更多詳情


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鄂尔多斯市| 田林县| 琼结县| 祁阳县| 全椒县| 崇文区| 洪泽县| 安徽省| 资中县| 建湖县| 留坝县| 丰城市| 宁明县| 宁河县| 黄浦区| 灵宝市| 宝鸡市| 三都| 闵行区| 滨州市| 长顺县| 扶风县| 吉隆县| 防城港市| 长葛市| 舟山市| 新巴尔虎右旗| 泾阳县| 信阳市| 平阳县| 鄂尔多斯市| 望都县| 通渭县| 淳安县| 岗巴县| 美姑县| 五河县| 防城港市| 新津县| 和林格尔县| 新密市|