天天看點

Serverless,會将工程師帶入“不歸路”!

雲栖号資訊:【 點選檢視更多行業資訊

在這裡您可以找到不同行業的第一手的上雲資訊,還在等什麼,快來!

别被标題吓到了。

技術的發展,從來不以個人的意志為主轉移,程式員的某些分工也必将随着技術的演進而消失。

在開始之前,我們首先來看一下Serverless是個什麼概念。

Serverless直譯為“無伺服器”,并不是說代碼運作就不需要在伺服器上跑了。它的意思是,未來的開發,無需關注伺服器這種比較底層的設施,代碼将會直接跑起來。這些資源将變得不可見。

危險了!基礎運維人員們。

象一個Java應用的開發過程。你需要經過開發、測試、部署,才能正常上線。如果是一個高并發的應用,就需要預估一個峰值,比如,需要100台伺服器,才能支撐使用者的請求。有産品經理腦袋一熱,加了秒殺的功能,那麼你的峰值,就需要按照秒殺的峰值進行設計,即使這個峰值過程持續了不到10秒,一哆嗦之後所有的資源都會被閑置。也就是說,伺服器放在那裡即使不用,你也要為此付費。

老闆捂着心口說痛,猝死了。

事情會更加的複雜,伺服器的數量一多,你需要考慮怎麼快速部署;每台機器的配置,都需要進行精細的計算,包括JVM要配置設定多大的記憶體,網絡的安全政策要如何配置,高可用,異地多活...,諸多細節需要大量的準備工作和基礎設施。

這種現狀,我們現在的很多程式員,樂在其中。

就拿基礎元件和一些中間件來說,什麼分庫分表、緩存、資料同步、監控、虛拟化、CI/CD....。内容都相差無幾,但每一個上規模的公司,基本上都會自己搞一套。這養活了大量的從業人員,但從整個社會的投入和産出來說,這不合理。

為什麼面試要造火箭,因為現階段這玩意有時候還真用得着。

事情在變化

一個公司在發展到一定階段的時候,會有大量的内部系統。比如運維系統,财務系統,員工管理系統等。除了少部分的開發人員持續疊代這些系統,後續的使用人員其實充當了變相的“運維”角色。

你需要申請一台機器。ok,填個工單吧。工單審批完畢之後,“運維”人員,在背景點巴點巴,一台虛拟機就建立好了。

你需要拿一下系統的使用者清單。ok,填個工單吧。審批完畢之後,“運維”人員為你開放一個令牌,拿着令牌到我們的微服務裡去拉資訊去吧。

這些抽象的伺服器,使用者接口,不需要你去準備硬體、準備網絡,隻需要填個工單,唾手可得,已經有了一點Serverless的樣子了。不過是企業内部的,規模也有限。

在這裡,我們就需要了解一下幾個縮寫的名詞。

  • IaaS

Infrastructure-as-a-Service(基礎設施即服務)。此部分屬于基礎設施,比如伺服器的購買、搭建,與虛拟化、容器等技術息息相關。

  • PaaS

Platform-as-a-Service(平台即服務)。比如作業系統、虛拟機,以及在其之上,提供的與業務弱相關的基礎元件。通常,一些耳熟能詳的名詞,如持續內建、中間件、公共元件、微服務等,屬于此列。

  • SaaS

Software-as-a-Service(軟體即服務)。生活中,幾乎我們每一天都在接觸SaaS雲服務,但一般是指集中式部署的服務提供者。在這種模式下,商業模式變成了租賃的形态,銷售變成了營運,項目變成了産品。

這4個名詞的第一個字母,既預示着某項從業環境的改變。比如,IaaS的完備,使得專攻基礎設施服務的工程師,逐漸沒了發展空間;PaaS的完備,使得廣大平台開發工程師就業路子越來越窄。除了少部分能夠享受平台的紅利,大部分隻能向更高層的抽象去過渡。

這三者大家耳熟能詳,但還有兩個縮寫,這才是Serverless的關鍵。

  • BaaS

Backend as a Service(後端即服務)。是指公司為移動應用開發者提供整合雲後端的邊界服務。

這個詞非常可怕。按照我們上面的邏輯,等它普及的時候,大部分後端開發工程師将消亡。穩定了這麼多年的後端技術棧,終于要自己搞死自己了。​

  • FaaS

Functions as a Service (功能即服務)。可以廣義的了解為功能服務化,也可以解釋為函數服務化。使用FaaS隻需要關注業務代碼邏輯,無需關注伺服器資源,是以FaaS也跟開發者無需關注伺服器Serverless密切相關。可以說FaaS提供了一個更加細分和抽象的服務化能力。

這就可以想象到,如果各項設施完備之後,隻需要水準一般的前端內建人員,就可以完成企業級的開發。

資訊革命的本質就是自我更新然後自我替換,程式員能選擇的路子将越來越窄。計算機技術将回歸工具的本質,人人得而用之,不再是一部分人的專利。

你可能覺得,這玩意,和現在的雲環境有什麼差別?差別還是有的,否則不會有這麼多大廠趨之若鹜。現階段,Serverless是雲廠商的事,和普通開發者關系不大。但最後,這些新生事物,都會慢慢侵蝕我們傳統的領地。

彈性!成本!

我們上面就已經舉例了,現階段的服務端軟體開發,需要根據峰值進行設計。買了伺服器之後,哪怕是雲主機,大部分時間也是空跑。空跑也是要付費的,這也是為什麼企業的IT費用居高不下,它要為很多壓根用不着的東西一直花錢。

Serverless是按需收費的,用多少收多少。比如你的服務QPS在10w的時候,給你配置設定10台機器,降到2W的時候,給你配置設定2台機器,那就可以足足省下4/5的money。

這種彈性看似神奇,不過也是建立在一些目前的技術上的。比如kube,docker等。但這是雲廠商的事,對企業來說,那就是服務擁有了巨大的彈性,節省了大量的成本。等老闆們嘗到這種功能的甜頭,還養一堆眼裡隻有技術的人幹什麼呢?

時間!靈活!

Serverless的形态,肯定是大的生态,也就是有非常多的完善的功能積木,開發人員進行組裝即可。

雲廠商會保證功能函數的正常運作,以及更新疊代,向後相容等特性,企業壓根不會再投入精力到一些既有的功能上來。

比如,建設一個直播的基礎設施,是非常昂貴且漫長的。如果Serverless提供了這樣的功能子產品,企業就可以直接拿來用。

這種租用的方式,不僅便宜,而且快捷。以往需要開發一年半載的産品創意,到現在隻需要幾天就可以上線。這就是複用的魔力。

一些變化

可以看到,在這種模式下,很多職業都将産生變化。

運維工程師?不再需要了,隻需要操作配置背景,就能夠擷取穩定、安全、便宜的主機。

中間件工程師?需求變小了。企業不會再養這部分又貴又難找的人來做這些基礎設施。隻需要操作配置背景,使用雲廠商暴露的功能函數,就可以漂亮的完成工作。

背景開發工程師?需求變小了。不再需要非常複雜的邏輯,做什麼前後端分離,做什麼複雜的分布式鎖和資料同步等。隻需要關注業務邏輯就可以了。

前端工程師?這個時候前端還叫做前端麼?應該叫全棧。隻要會玩樂高積木,就能根據圖紙拼接零件,在功能子產品足夠豐富的前提下,這些都不是魔幻的。

程式員的API,不再是什麼Kafka,Redis等,反而會是雲廠商提供的一大批自定義的函數。

這對安于現狀的工程師來說,真的是挑戰。其實從最近幾年的雲主機普及就能夠看出來,有些職業,真的是慢慢的變成了背景管理者。本質上,這與淘寶小二操作的背景,沒有什麼不同。

本質都是:了解平台的規則(函數),作出相應的推廣(內建)。

面向Serverless程式設計,實在是無趣的多。

在時代的浪潮中,個體總是容易被抛棄的,我們毫無疑問已經進入了終身學習的年代---苦逼的程式員尤其如此。

工具抽象程度高了,并不意味着工程師的素養要求就低了。由于Serverless并沒有什麼标準,它僅是一種理念,那麼各個廠商的實作方式肯定不相同。

作為企業的老闆,肯定會有這樣的擔憂:我不能把雞蛋放在一個籃子裡,受一個廠商的綁架。

使用了A平台提供的功能函數開發的應用,是很難遷移到B平台的。廠商們都希望壟斷,往往也不會這麼幹,那就會造成工程師的學習成本加大。

另外,Serverless廠商的能力畢竟有限,無法覆寫所有的基礎業務功能場景。肯定會有廠商,采用開發者平台的方式,吸納外部的功能元件。開發這部分工功能元件的開發者,也有較高的要求。

我猜測未來會有插件模式的雲功能市場,用來豐富這個生态。

各種開源軟體的版權也應該有所變化。就像現在的雲主機,拿着開源的軟體大賺特賺,白嫖了這麼多年,而軟體開發者卻無法從中受益,這是嚴重不合理的。

那未來的程式員是什麼樣子呢?

  • 平台開發工程師。搭建雲Serverless平台,保證基礎設施的完善。這是大廠才玩的事情。
  • 插件功能工程師。按照平台的規則,開發相應的功能,享受售賣的提成;或者受雇于特定的公司,開發此類功能。這是相對頭部的工程師。
  • 業務開發工程師。從海量的功能元件中,尋找積木,搭建産品。這和現在在gayhub上尋找功能,內建到項目中是一樣的道理。這也就是占比最大的人員。

Serverless一旦普及,就會把大部分工程師帶入不歸路。還好,由于各大廠商并不是鐵闆一塊,它們互相競争和攻擊,會讓建設過程持續非常長的時間。

當然,如果一家獨大,也是不必擔心的。有三個原因:

第一,天下大勢,分久必合,合久必分。大廠的霸道會造成衆叛親離。造成一定程度上的技能回歸。

第二,懷舊會讓人如癡如醉,很多東西不會消亡。比如我現在還喜歡超級瑪麗。

第三,等能活到那一天再說吧。可能和傳說中的人工智能一塊到來。

【雲栖号線上課堂】每天都有産品技術專家分享!

課程位址:

https://yqh.aliyun.com/live

立即加入社群,與專家面對面,及時了解課程最新動态!

【雲栖号線上課堂 社群】

https://c.tb.cn/F3.Z8gvnK

原文釋出時間:2020-05-09

本文作者:小姐姐味道

本文來自:“

掘金

”,了解相關資訊可以關注“掘金”