無廚房的餐廳,無服務器的計算

凌晨三點,機房的服務器又宕機了。這些服務器可能需要你用幾小時、幾天甚至更長時間來恢復,然後你還需要去更新系統,修復安全漏洞。更新又會導致新的不兼容,從而影響到業務的運行,似乎這是個"死循環"。

無廚房的餐廳,無服務器的計算

​這個時候,你可能需要了解下"無服務器"的魅力了。服務器帶來無窮無盡的困擾是目前"無服務器"架構受歡迎的重要原因之一,你的老闆不可能總容忍你拿服務器故障來當影響業務運行的藉口,"無服務器"則讓人們擺脫了這種困擾。

什麼是“無服務器”?

對於很多新手來說,聽到無服務器這個詞一定會非常震驚,無服務器?那怎麼來提供計算呢?其實,所謂的無服務器並不是指沒有服務器,而是一切都由雲提供商負責,人們不再需要擔心由於基礎設施故障而影響業務運行。

使用無服務器這種服務模式,開發人員只需部署適當的代碼,其他一切交給無服務器就可以了。但值得注意的是,你可以使用無服務器服務但你並不擁有或管理它們,與雲模型一樣,你只需根據使用來為其付費就可以了。

無服務器是一個很好的銷售術語,但它並不是準確的,嚴格意義上說是應用無服務器。打個比方來說,無服務器就像無廚房的餐廳一樣,如果你想要的是菜單上標準的某道菜,就會有一位公用的廚師為你烹飪,而且速度、服務、口味俱佳,價格還可以根據你的菜量來定價的,這無疑對於一部分人來說是很棒的選擇。

無廚房的餐廳,無服務器的計算

​但如果你想要一道菜單上沒有的定製菜,那麼你最好還是有一個自己的廚房。無服務器的優勢在於省去你自己購買、配置、部署、運維服務器的精力和時間,可以為你提供你需要的最佳環境。但如果你有特殊需求,無服務器可能並不是很適合你。

無服務器是如何工作的?

介紹了無服務器的定義,我們來看下無服務器是如何工作的呢?在傳統IT服務情況下你必須自己擁有自己的基礎架構,還需要保證這些架構的穩定性、可擴展性、安全等需求。例如web服務器,客戶端一個請求,服務器就會回覆"響應",如果訪問量過大,那麼就需要擴展服務器了。

雲時代,雲服務器的採購模式則讓用戶省去了前期購買物理服務器的過程,你可以購買雲服務去支撐你的業務,但是購買雲服務器的時候,你還需要考慮負載均衡、配置服務器系統、安全策略等等。依然有很大的麻煩。

無廚房的餐廳,無服務器的計算

​無服務器模式提供了與傳統模式完全不同的方法。它並不需要你購買服務器或雲服務器,無服務器會將常見的各種需求按照標準的模式部署在計算容器中運行,就像一個已經為你業務應用部署好的系統,你只需要輸入代碼並實時自動處理,當一個請求來的時候,就會自動運行在無服務器。

無服務器會根據你的應用程序負載和服務器請求,在幾秒鐘內實現向上或向下擴展,它瞭解用戶的當前情況並自行調整以適應不斷增長的基礎設施需求。換句話說,無服務器計算具有靈活的事件驅動的擴展能力。同時它以"即付即用"模式的形式運作。不僅可以節省購買基礎設施的時間,還可以顯著降低開發成本。

無服務器架構可以讓人們更好的共享應用資源。在過去,人們會瘋狂地創建自己新應用實例,例如,在自己的虛擬機中運行Ubuntu Server,每個人都使用相同的操作系統,並且同一個需求在不同的虛擬機中的Ubuntu系統中重複運行成百上千次,無服務器則避免了所有這些重複工作,使雲計算變得更加便宜,特別是對於偶爾運行並且從未真正有高負載需求的企業基礎架構平臺來說,更是節省了大量的人力物力。

無服務器的優缺點

無服務器的優點有很多,上文中我們已經提到一些。例如降低用戶的運營成本,無服務器本身就相當於一個解決方案,用戶可以直接拿過來用,而不必為每一個需求去專門搭建應用環境,而且採用的是根據流量的模式來進行付費,可以大幅降低運營成本,特別是對於不斷變化的早期的應用負載需求。

同時,無服務器的擴展性更強,而且這種擴展並不需要你來計算,而是根據你的業務需求,在幾秒內就能自動將你的需求無限擴展,讓你的應用端無感知。而當你的需求降低的時候,又自動減少你的資源需求,讓你不必付出額外的費用。你甚至不需要考慮需求多少處理器來滿足你業務需求的問題,而是自動根據你的需求實現擴展。

當然,無服務器也並非完美的。由於服務器是第三方運維,所以用戶缺少控制權,由於提供商系統宕機,功能的喪失,強制性的升級等等原因,用戶可能缺乏對系統的把控權,這樣讓自己的業務運行情況缺少了控制。而且,無服務器的模式也並不需要長時間運行的應用,長時間採用無服務器的成本其實是非常高的,如果你的進程持續運行很長時間,則可能會需要運行自己的服務器。

除了上面的兩點,用戶可能還會介意無服務器的供應商鎖定,目前無服務器的發展尚處於初期階段,所以每個供應商的標準架構各不相同,這就很容易形成供應商綁定,讓你很難進行改變,你在這個供應商能夠實現的功能,遷移到另一個供應商可能並不能實現這種功能,即使能夠遷移,可能過程也會十分複雜。

無廚房的餐廳,無服務器的計算

​目前,很多公有云的提供商都非常看好無服務器服務,並已經推出相關的服務器,例如亞馬遜推出的AWS Lambda,微軟的Azure Functions,谷歌CloudFunctions都能夠提供無服務器服務,另外,IBM OpenWhisk與阿里雲也都能夠提供類似的服務。目前來說,無服務器還有其侷限性,還不是主流趨勢,但是隨著創新技術和新功能的出現,無服務器很可能成為未來主流計算方式之一。


分享到:


相關文章: