首頁 > 科技

C和Java沒那麼香了,Serverless時代Rust即將稱王?

2021-06-16 10:21:11

什麼是Serverless?

Serverless又稱為無伺服器,這個無伺服器是開發者不用過多考慮伺服器問題,可以專注在產品程式碼上,狹義是FaaS和BaaS組成的。

FaaS:函數即服務,每一個函數都是一個服務,函數可以由任何語言編寫,除此之外不需要關心任何運維細節,比如:計算資源、彈性擴容,而且可以按量計費,支援事件驅動。

BaaS:後端及服務,集成了許多中介軟體技術,可以無視環境呼叫服務,比如資料就是服務,資料庫服務,快取服務等。下面雖然有很多XAAS,但是組成Serverless概念的只有FaaS+BaaS。

多說兩句:Serverless出現的意義主要是一種設計架構的思想,減少了項目開發的運維成本,提高了開發的效率,其實所有云服務,雲產品。核心就是提高開發效率或者是減少某一方面的成本才出現的。

Rust脫穎而出

有一個開發者,將C語言、Java、Go語言和Rust分別做了高併發可實現。具體情況如下:

可以看到Rust安全性非常的高,以及運行速度也很快。Go語言基本是緊隨其後。但是C語言難以避開野指針,Java相對來說運行速度和啟動速度低了。都不太適合函數式運算的場景,Java在企業級開發各種打敗別的語言,但是雲時代,好像不能獨佔鰲頭了。

回顧服務端運維發展史

Serverfull:好比史前時代,這個時代研發和運維是獨立的,服務端是交給運維的,純人力處理的這個時候就是Serverfull。

DevOps:農耕時代,漸漸大家發現很多事情都是重複工作,尤其是新版本釋出之前。大家各做各的效率很低,所以研發做一套運維控制檯也就是OpsConsole,將部署上線和日誌抓取的工作直接給運維。這樣相對之前就是效率變高了。

Serverless:工業時代,效能監控+流量估算,相當於優化了之前的OpsConsole。做了一套自動化釋出的流水線。程式碼掃描然後從測試,之後灰度驗證最後上線。

等於工業時代根本不需要運維了,服務端運維工作全部自動化了。


IT145.com E-mail:sddin#qq.com