Serverless和小程序,是目前比較主流和熱門的技術,有很多技術人也想往這兩個方向發展,騰訊雲大學邀請了騰訊研發工程師劉宇。劉宇講師做爲一名後臺研發,此前對於小程序編寫的經驗幾乎爲零,可是隨着Serverless架構與人工智能技術結合的真實需求增多,他也開始接觸小程序編寫。如下是咱們整理的劉宇講師的直播課分享。前端
目前有的人已經很瞭解Serverless這個技術了,但有的人可能仍是一臉茫然,劉老師首先經過一個例子來向你們闡述了他心中的Serverless。ios
若是咱們要作一個網站,傳統狀況下如圖一,咱們要開發項目,把項目放到服務器中,這裏面服務器中可能涉及路由規則、鑑權邏輯以及其餘各種複雜的業務代碼。同時,開發團隊要付出很大的精力在這個服務器的運維上面,包括客戶量忽然增多時是否須要擴容服務器;服務器上的腳本、業務代碼等是否還在健康運行;是否有黑客在不斷地對服務器發起攻擊。算法
可是創建在Serverless架構上,以前須要開發團隊維護的路由模塊以及鑑權模塊都將接入服務商提供的API網關係統以及鑑權系統,開發團隊無須再維護這兩部分的業務代碼,只須要持續維護相關規則便可。同時,業務代碼也被拆分紅了函數粒度,不一樣函數表示不一樣的功能。在這個結構下,咱們已經看不到服務器的存在。小程序
Serverless的目的是讓使用者只關注本身的業務邏輯便可,一部分安全問題,資源調度問題(例如如何應對用戶量突增、如何實現自動擴容等問題)全都交給雲廠商負責。傳統項目不管是否有用戶訪問,服務都在運行中,都有成本支出,而Serverless架構,只有在用戶發起請求時,函數纔會被激活而且執行,節約了成本。安全
這樣咱們可以看出Serverless由兩部分組成,一部分是周邊的這些基礎設施,或者是底層服務;另外一部分是函數,能夠認爲是在線編寫代碼,能夠在線運行的一個函數平臺。服務器
對於用戶和開發者而言,Serverless架構有下降人力成本和風險,減小資源開銷,增長縮放靈活性,縮短創新週期等優勢。使用Serverless架構,用戶不須要本身維護服務器,也不須要操心服務器的各類性能指標和資源利用率,而是能夠付出更多的時間和精力去關注應用程序自己的狀態和邏輯。同時Serverless應用自己的部署十分容易,咱們只要上傳基本的代碼便可,例如Python程序只須要上傳其邏輯與依賴包,C/C++、Go等語言只需上傳其二進制文件,Java只須要上傳其Jar包等,無須使用Puppet、Chef、Ansible或Docker來進行配置管理,這大大下降了運維成本。架構
對於運維來講,Serverless架構也再也不須要監控底層的數據,例如磁盤使用量、CPU使用率等,咱們能夠更加專一地將監控目光放到監控應用程序自己的度量。在Serverless架構上,運維人員的工做角色會有所轉變,部署將更加自動化,監控將更加面向應用程序自己。app
接下來,說一下什麼是小程序。小程序能夠跨平臺,咱們能夠經過簡單的代碼,實現一個和原生相似的跨平臺運行的APP,不管是安卓仍是ios都能輕鬆使用。less
咱們經過很是簡單的幾個步驟就能夠開發出一個APP,哪怕不會安卓和iOS,甚至你能夠只會前端,或者只會後臺,你就能夠開發一個和原生APP體驗相似的小程序。小程序背後是數億的用戶羣,只要你足夠優秀,就能夠撬動這個龐大的羣體。小程序不只僅在開發層面讓咱們看到了新的世界,在運營層面也帶給咱們了新的感覺。運維
小程序和Serverless結合有什麼火花呢?講師認爲兩者結合能讓開發者更專一,更便利。
劉宇講師還在直播課中演示瞭如何編寫雲函數和小程序,相冊小程序的編寫因爲時間關係,沒法當場實現,但講師開放了相冊小程序的開源地址。
在平常生活中,咱們常常會遇到搜索照片的狀況,尤爲是當尋找過去好久的圖片,記憶中僅剩下零散記憶的時候,咱們檢索照片的方法一般是定位到大體的時間,而後一張一張地去查看,可是這種作法效率低下,還常常會漏掉咱們的目標圖片,因此這個時候,就迫切須要一款能夠搜索圖片的軟件,即咱們能夠經過簡單的文字描述,實現圖片的快速檢索。
總的來講,經過Serverless架構,咱們能夠很便利地作出後臺服務、監控告警服務,甚至和人工智能進行組合。Serverless架構,尤爲是騰訊雲的雲函數,不只能夠用來作外部的後臺服務、小程序的後臺服務、定時器和腳本,還能夠用來作大數據處理和人工智能的一些算法。