萬物皆可 Serverless 之我的 Serverless 之路


緣起

本文來自 Serverless 社區用戶「乂乂又又」投稿

我最早接觸 Serverless 大概是在 18 年 6 月,那時候我在阿里雲的學生機剛好到期,那台機子上我有裝寶塔面板,然后在上面只放了一個 Typecho 的個人博客站,好像這台服務器似乎一直都是被我拿來當作虛擬主機用,最多也只是登上寶塔面板清一下內存這樣子,所以,在我阿里雲一年的學生機到期之后,我就果斷選擇了放棄續費服務器。從那時起我就變成了一個徹底的 Severlesser。

首先是之前的靜態網頁的問題,這個解決起來比較簡單,隨便找一個對象存儲或者 pages 服務就可以搞定。

這里我是把自己那些靜態網頁都放到了 Coding pages 上,除了某些時候某些地區某些運營商的網絡訪問會不穩定之外,其他的一切都讓我覺得 coding 的 pages 服務都是做的非常棒的。

然后是 Typecho 博客問題,這個問題還是比較讓人頭大的,因為像這種動態的博客系統是很少有 pages 服務支持的,所幸在那個時候 coding 有一個動態 pages 的服務是允許個人發布動態博客的,包括 Wordpress 和 Typecho 之類,只可惜現在 coding 已經把動態 pages 的服務給去掉了,而我的之前放在 coding 上的動態博客現在也已經被歸檔了。

被清空的工作空間

我也錯過了 cloud studio 升級的提醒通知,直到舊版 cloud studio 完全下線我才在郵箱的垃圾郵件里找到當時的升級通知。這下子我就再也找不到存放着我動態博客的空間入口了,里面的文件也搶救不回來了 T^T

有趣的是,在我的空間被歸檔后,仍然可以正常訪問原來空間里的博客,只是再也找不到也進不去原來的空間了。於是自己趕緊在網頁登錄我的 Typecho 博客后台,把博客數據備份好導出,也算是一場有驚無險的風波了。就這樣,自己沒有服務器也過的好好的。

發展

似乎一切都很平靜的。自己 19 年開始自學 Flutter,整天忙着寫 widget,維護 state,時不時看看 Github trending,逛逛dribbble,刷刷 V 站之類,期間自己也獨立開發上線了一些小應用,純粹出於自己的興趣。

  • 一款簡單的計算器應用

一款簡單的計算器應用

  • 一個自動選課應用

一個自動選課應用

  • 一個記單詞應用

一個記單詞應用

但是這些應用都有一個特點,那就是沒有自己的后端,只能向外展示頁面,這就比較雞肋了。所以我也一直在尋找合適的雲數據庫服務,想要給自己的應用增加后端的能力,方便后期管理會員信息之類。

期間我有用過 Bmob,感覺還可以,主要是接入方便,管理起來數據也比較簡單,而且 Bmob 的服務非常好,我在他們 SDK 群里提問題,都會有人及時處理,比較省心。

這個階段我是啥服務都嘗試過,域名在西部數碼,新網,阿里雲,騰訊雲都有注冊,對象存儲有用七牛雲 cos 和騰訊雲 cos,主機用過小學生賣的跑路虛擬空間,阿里雲學生機,騰訊雲學生機,視頻點播服務用過樂視雲和七牛雲,CDN 用過知道創宇的加速樂,360CDN,騰訊雲 CDN,移動用戶數據信息統計有用百度移動信息統計,Growing IO,友盟...

總之我用的服務都很雜,缺少一個東西把他們都整合起來,后面我會講到這個東西其實就是騰訊雲開發。可能你覺得我扯了半天都還沒扯到 Serverless,不要着急哈,馬上就到今天的主角 Serverless了

Serverless 全新的世界

上面我扯了那么一大堆是想告訴大家,在沒有 Serverless 之前,自己開發上線一款應用,其實大多數的精力都是用在這些第三方服務的選擇和適配上的,搞來搞去基本上都是在瞎折騰,應用開發效率非常差的。

這樣的話,作為對比,在這一節里,我就結合自己的開發經歷跟大家講下

Serverless 到底是啥,怎么用,用起來究竟有多爽?

首先我是在 Bmob 翻看官網首頁的時候,看到他們有一個叫雲函數的服務,乍一聽雲函數這個詞我也是有些摸不着頭腦的,雲函數是什么?雲上跑的函數?我本地函數跑的好好的,干嘛要放到雲上跑?

但是出於好奇我還是點進去看了下雲函數到底是個啥東東,原來雲函數真的就是放在雲上的函數而已,它可以在本地通過 http 請求來調用,但看起來還是蠻不錯的,剛想上手實操一波,發現這個雲函數服務是付費的,

額,這個就,好吧,窮就一個字,我只說一次,當然是果斷關閉頁面,忘掉它了,嘿嘿~ 就這樣我與雲函數的第一次見面就以不戰而退告終了~

直到后來我一個同學告訴我,騰訊雲有一個雲函數的服務可以用來解決前端跨域的問題,而且每月都有很多的免費額度!

哈哈,頃刻,大喜,遂上手之。

serverless

《萬物皆可 Serverless 之免費搭建自己的不限速大容量雲盤(5TB)》里,我用騰訊雲函數搭建了一個 20TB 的 OneDrive 網盤

serverless

《萬物皆可 Serverless 之使用雲函數 Timer 觸發器實現每天自動定時打卡》里,我寫了個每日健康信息自動定時打卡的雲函數

serverless

《萬物皆可Serverless之使用SCF+COS快速開發全棧應用》里,我用雲函數做了個影視搜索的全棧應用

前后用時 3 天,第一天寫雲函數后端接口,第二天從零入門學習了一下前端,第三天開始整合前后端並上線發布應用

serverless

《萬物皆可Serverless之使用SCF+COS免費運營微信公眾號》里,我用雲函數給自己的公眾號后台做了個消息自動回復系統

serverless

《萬物皆可Serverless之使用SCF快速部署驗證碼識別接口》里,我用雲函數把本地的驗證碼識別程序快速上線發布成 api,方便調用。整個識別函數從本地到發布到線上可用,也就用時 10 分鍾以內吧

serverless

《萬物皆可Serverless之Kaggle+SCF端到端驗證碼識別從訓練到部署》里,我繼續嘗試使用 Kaggle+SCF 從訓練到部署發布一個通用驗證碼識別模型,真正的驗證碼識別從訓練到部署一條龍服務~

serverless

《萬物皆可Serverless之借助微信公眾號簡單管理用戶激活碼》里,我嘗試使用雲函數和對象存儲在自己的微信公眾號后台管理會員激活碼,在前面 SCF+COS 實踐的基礎上,稍微修改並重新上線發布了一下雲函數,用時 10 分鍾以內

serverless

《萬物皆可Serverless之使用SCF+COS給未來寫封信》里,我使用雲函數和對象存儲制作了一個類似給未來寫封信應用的全棧網頁應用,在前面 SCF+COS 系列實踐的基礎上,我稍微修改並重新上線發布了一下雲函數,整個應用從制作到上線發布可用,用時不超過 30 分鍾

serverless

《萬物皆可Serverless之在Flutter中快速接入騰訊雲開發》里,我嘗試在 Flutter 中接入騰訊雲開發加速應用上雲,為自己的 Flutter 應用實現了完整的后端能力

serverless

《萬物皆可Serverless之在Flutter中寫一個Dart原生騰訊雲對象存儲插件》里,我嘗試給 Flutter 寫了一個對象存儲的 dart 原生插件,整個插件可以直接跑在 dart VM 里,本地調試十分方便!


總之,正如本系列文章標題所言,萬物皆可 Serverless,過去那些需要自己購買配置服務器才能用的運行的應用,在 Serverless 雲函數里也可以實現。那么,親愛的你,為什么還要自己去購買,配置,維護服務器呢?

關於 Serverless 的一切

What is Serverless?

乍一聽 Serverless 還是比較懵逼的,說實話之前我也不清楚最近那么火的 serverless 技術究竟是啥。其實簡單來說 serverless 就是單純的不需要服務器的服務,比如域名解析、對象存儲、CDN 這些,不需要你自己購買服務器就可以獲得的服務,當然這里不需要服務器是指你自己不用掏錢去買配置運維服務器,但是整個服務的運行還是得靠你的 serverless 服務提供商通過跑在服務器上應用來解決的。

看起來有點繞哈,那我再來打個比方吧,我們把服務器比作房子,你要在服務器上跑的應用比作你在這間房子里要做的買賣,傳統的自行搭建服務器運行服務的模式:假如你要開一家店做買賣,你就得先租一間房子,然后自己裝修房子,費好大勁裝修完房子才能開始做買賣,而且這個房子你從裝修開始就得一直按月給房租,即使你在這個房子里什么都不做也要給錢。

Serverless 運行服務的模式:那么 Serverless 就是,我這里的房子已經裝修好了,你直接過來做買賣就可以,而且你也不用按月交錢,我只在你做買賣的時候才計費,你做一個小時買賣那我就收你一個小時的服務費,你做一個小時買賣,休息十小時,那我還是只收你一個小時的服務費,怎么樣是不是很良心。

這么看其實用電話卡套餐月租和按量付費這種關系來做比喻會更合適一點。可以看到,Serverless 對比傳統服務器應用模式最大的優點就是方便、省錢和免運維。

Why Serverless?

多快好省,但用難回。

用戶評價

正如 Serverless 開發人員所言 —— Serverless架構是必然,Serverless 開發應用超級快,超級簡單,Serverless 直接面向業務開發,每個前端工程師都可以是全棧的,Serverless 可以更多快好省的開發應用

serverless.com 的CEO Austen Collins 也曾經說過:

Serverless is the future of the cloud. Serverless is like superpowers for developers.
—— Austen Collins (serverless.com CEO)

Serverless 是雲服務的未來!Serverless 賦予開發者超能力!

以前我沒親自體驗過 Serverless 不會相信這句話,覺得是在吹牛或者不知道他在說些什么,但是現在我只覺得十分的震撼,感覺 Serverless 像是為開發者打開了一扇全新世界的大門,

Serverless 重新賦予了開發者跨越前后端,跨越語言的超級能力。

(沒錯,這句是我說的,不對你過來打我啊~)

這是未來應用開發的大勢所趨,下一代的應用將是 Serverless 的。借助 Serverless,后端開發者可以快速開發上線發布自己的應用,借助 Serverless,前端開發者可以直接獲得后端的全部能力,快速開發全棧應用!所以我向所有開發者推薦 Serverless,無論你是前端或是后端開發者,你都可以通過 Serverless 獲取到更加強大、更加便捷的能力。

相信我,你會愛死 Serverless 的,它會徹底顛覆你的多端應用開發體驗。

How Serverless?

看到這里的話,相信你已經被 Serverless 深深吸引了,所以現在抽出一點點時間快速上手體驗一下 Serverless?

serverless.com

我推薦大家可以先去看一下 serverless.com 中國區官網Serverless 中文社區,在這里你可以詳細了解關於Serverless的一切,也可以體驗一些關於 Serverless 的最佳實踐。

而且就在前不久騰訊 Serverless Framework 正式發布。這是由騰訊雲提供的專為中國開發人員定制的 Serverless Framework 版本,為 Serverless 應用程序開發提供了頂級的順暢體驗。

試用地址:https://github.com/serverless/components/blob/master/README.cn.md

Serverless 面向未來的運維方式

Serverless 面向未來的運維方式

網絡應用正在慢慢改變世界,但是大多數互聯網企業仍然無法順暢交付工程,更不用說敏捷開發和快速迭代了。所以我們必須從根本上簡化應用工程的交付和操作。
這就是無服務器架構所提供的 serverless 建立在下一代公共雲服務之上,該服務僅在使用時自動擴容和收費。當規模, 所用容量和成本管理實現自動化時,可節省 99% 的成本管理。
無服務器架構是全新的,因此我們需要改變先前對老架構和工作流的看法。serverless 的目標是以一種簡單,強大 而優雅的使用體驗為開發者,團隊提供開發和運行 serverless 應用程序所需的所有工具。

serverless 加油鴨!

Serverless Framework 30 天試用計划

我們誠邀您來體驗最便捷的 Serverless 開發和部署方式。在試用期內,相關聯的產品及服務均提供免費資源和專業的技術支持,幫助您的業務快速、便捷地實現 Serverless!

詳情可查閱:Serverless Framework 試用計划

One More Thing

3 秒你能做什么?喝一口水,看一封郵件,還是 —— 部署一個完整的 Serverless 應用?

復制鏈接至 PC 瀏覽器訪問:https://serverless.cloud.tencent.com/deploy/express

3 秒極速部署,立即體驗史上最快的 Serverless HTTP 實戰開發!

傳送門:

歡迎訪問:Serverless 中文網,您可以在 最佳實踐 里體驗更多關於 Serverless 應用的開發!


推薦閱讀:《Serverless 架構:從原理、設計到項目實戰》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM