無伺服器計算近年來成為雲端計算的熱門趨勢,它讓開發者擺脫伺服器管理的負擔,專注於程式碼的開發與佈署。這種模式提供高度彈性與可擴充套件性,能有效降低營運成本,適用於各種應用場景。從早期的雲端計算概念到虛擬化技術的成熟,再到亞馬遜網路服務的興起,無伺服器計算的發展歷程與雲端技術的演進密不可分。隨著雲端服務的普及和技術的進步,無伺服器計算將在未來扮演更重要的角色。

無伺服器計算的應用場景

無伺服器計算適用於多種應用場景,包括:

  • 實時資料處理:無伺服器計算可以用於實時資料處理和分析,例如 IoT 資料或社交媒體資料。
  • 網頁應用程式:無伺服器計算可以用於建立可擴充套件和安全的網頁應用程式。
  • 移動應用程式:無伺服器計算可以用於建立可擴充套件和安全的移動應用程式。

內容解密:

上述內容簡要介紹了無伺服器計算的概念、優點和應用場景。無伺服器計算是一種雲端計算模型,允許開發人員建立和執行應用程式而無需管理伺服器。它具有彈性、可擴充套件性和成本效益等優點,適用於多種應用場景,包括實時資料處理、網頁應用程式和移動應用程式。

  graph LR
    A[無伺服器計算] --> B[優點]
    B --> C[彈性和可擴充套件性]
    B --> D[成本效益]
    B --> E[簡化管理]
    A --> F[應用場景]
    F --> G[實時資料處理]
    F --> H[網頁應用程式]
    F --> I[移動應用程式]

圖表翻譯:

上述圖表展示了無伺服器計算的概念、優點和應用場景之間的關係。無伺服器計算具有多個優點,包括彈性和可擴充套件性、成本效益和簡化管理。它適用於多種應用場景,包括實時資料處理、網頁應用程式和移動應用程式。圖表使用簡單的流程圖來展示這些關係,使讀者更容易理解無伺服器計算的概念和優點。

什麼是Serverless?它的歷史和發展

Serverless是一種現代化的計算技術,已經徹底改變了我們對軟體開發和應用程式設計的思考方式。它是一種令人興奮的技術,許多人都喜愛它,我們很高興能夠教導您所有關於它的知識。

軟體業是一個不斷演變的領域,軟體工程的演變速度比其他任何學科都快。這種快速的變化對於許多組織和其IT部門來說是一個挑戰。然而,對於那些樂觀的人來說,變化帶來了機會。當企業接受變化並調整其流程時,它們就會領先於他人。相反,抗拒變化的人就會被時代所拋棄。

我們一直在尋找改善生活的方法。人類的需求和技術是密不可分的。我們的日常需求不斷演變,要求更好的技術,而技術的進步又激發了新的創新。當我們認識到這些創新的力量時,我們就會升級我們的需求,這個迴圈就會繼續下去。這個行業幾十年來一直在這樣發展,不是透過巨大的飛躍,而是透過小小的增量,一個改進引發另一個改進。

為了充分理解Serverless和它提供的功能,瞭解它的歷史是有益的。為了保持專注於我們的主題而不需要回到電腦技術的起源,我們將從雲端計算開始,探索它如何成為一個重要的力量。

讓我們一起踏上Serverless的旅程,探索它的發展歷史和它如何改變了軟體開發和應用程式設計的方式。

Serverless的發展歷史

在2000年代初期,我(Sheen)參與了分散式應用程式的開發,主要透過服務匯流排和網路服務進行通訊——典型的導向服務架構(SOA)。就在那時,我第一次聽到了「雲端計算」的術語,它在科技業界引起了一些轟動。幾年後,我從長官管理階層收到了研究這項新技術和報告某些關鍵功能的指示。早期的雲端計算服務就是Amazon Web Services。

我的雲端計算之旅從那時開始,但我花了幾年時間才充分理解和欣賞它在業界帶來的根本性影響。就像蝴蝶效應一樣,思考過去的事件如何帶領我們走到今天,是非常有趣的。

####雲端計算的崛起 雲端計算的崛起是一個漫長的過程,它從早期的遠端計算和虛擬化開始。隨著時間的推移,雲端計算逐漸演變成了一種成熟的技術,提供了眾多的服務和功能。今天,雲端計算已經成為了一種主流技術,許多企業和組織都在使用它來提高效率和降低成本。

####Serverless的出現 Serverless是在雲端計算基礎上發展起來的一種新型計算技術。它提供了一種新的方式來開發和佈署應用程式,無需管理伺服器和基礎設施。Serverless使得開發人員可以專注於寫程式碼和開發應用程式,而不需要擔心基礎設施和伺服器管理。

什麼是蝴蝶效應?

蝴蝶效應是一個用於描述複雜系統中小變化可能對系統後期狀態產生非線性影響的概念。最常見的例子是,一隻蝴蝶在世界某處扇動翅膀,可能會觸發遠處的一場颱風。

從大型電腦到現代雲端計算

在20世紀中葉,大型電腦因其強大的計算能力而受到歡迎。儘管它們體積龐大、笨重、昂貴且維護困難,但它們是執行複雜商業和科學任務的唯一資源。只有少數幸運的組織和教育機構能夠承擔其費用,它們以批次模式執行任務,以充分利用昂貴的系統。時間分享的概念被引入,以安排和分享計算資源以執行多個團隊的程式(見圖1-1)。這種成本和資源的分配使計算更加便宜地提供給不同的群體,以一種類別似於現代雲端計算的按需資源使用和按使用付費模式。

網路的出現

早期的大型電腦是獨立的,不能相互通訊。1960年代初,提出了星際電腦網路或銀河網路的概念,以連線遠端電腦並分享資料。美國國防部高階研究計劃署(ARPA)開創了這項工作,並實作了高階研究計劃署網路(ARPANET)。這是早期網路發展中使用TCP/IP協定的一個例子,TCP/IP是網際網路的主要構建塊之一。

虛擬化的開始

1970年代見證了現代雲端計算的另一個核心技術的形成。1972年,虛擬機器作業系統的發布,根據早期的時間分享和網路概念,虛擬化填補了雲端計算謎題的另一塊重要拼圖。1990年代技術迭代的速度使這些想法變為現實,並使我們更接近現代雲端計算。虛擬私人網路(VPN)和虛擬機器(VM)很快就成為常見的東西。

雲端計算的出現

雲端計算一詞源自20世紀90年代中後期。有些人將其歸功於電腦巨頭康柏公司(Compaq Corporation),該公司在1996年的內部報告中提到了它。其他人認為是拉曼納特·切拉帕教授(Professor Ramnath Chellappa)在1997年INFORMS會議上的演講中提到了「一個新的計算正規化」。無論如何,隨著技術以驚人的速度演進,電腦行業已經在創新和增長的軌道上。

亞馬遜網路服務的第一瞥

隨著虛擬化技術成熟,許多組織建立了自動或以程式設計方式佈建虛擬機器以供員工使用和為客戶執行商業應用程式的能力。一家電子商務公司充分利用了這項技術。在2000年初,亞馬遜的工程師們正在探索如何使其基礎設施高效地擴充套件以滿足日益增長的客戶需求。在此過程中,他們將共同基礎設施與應用程式分離並將其抽象化為服務,以便多個團隊可以使用它。這是今天所知的基礎設施即服務(IaaS)的概念起源。2006年夏天,該公司推出了亞馬遜彈性計算雲(EC2),以提供虛擬機器作為雲端服務供所有人使用。這標誌著今天的亞馬遜網路服務(AWS)的謙遜起點。

雲端佈署模型

隨著雲端服務在亞馬遜、微軟、谷歌、阿里巴巴、IBM等公司的努力下逐漸增長,它們開始滿足不同商業段的需求。不同的存取模式和使用模式開始出現(見圖1-2)。

公共雲

我們大多數人為工作和個人使用而存取的雲端服務是公共雲,服務透過公共網際網路存取。雖然雲端提供商在其資料中心使用分享資源,但每個使用者的活動都受到嚴格的安全邊界隔離。這通常被稱為多租戶環境。

私有雲

一般來說,私有雲是一個企業雲,一個組織可以存取基礎設施和主機服務。這是一個單租戶環境。私有雲的一個變體是政府雲(例如AWS GovCloud),基礎設施和服務專門為一個特定的政府及其組織提供。這是一個由公民營運的高度安全和受控環境。

內容解密:

以上內容介紹了從大型電腦到現代雲端計算的演變過程,包括網路、虛擬化和雲端計算等概念的出現和發展。此外,還介紹了亞馬遜網路服務(AWS)的起源和雲端佈署模型,包括公共雲和私有雲等不同型別。

  graph LR
    A[大型電腦] --> B[網路]
    B --> C[虛擬化]
    C --> D[雲端計算]
    D --> E[亞馬遜網路服務]
    E --> F[公共雲]
    F --> G[私有雲]

圖表翻譯:

此圖表展示了從大型電腦到現代雲端計算的演變過程,包括網路、虛擬化和雲端計算等概念的出現和發展。此外,還展示了亞馬遜網路服務(AWS)的起源和雲端佈署模型,包括公共雲和私有雲等不同型別。每個節點代表了一個重要的里程碑或概念,而箭頭則表示了時間順序和邏輯關係。

無伺服器計算的崛起深刻改變了應用程式開發和佈署的格局。經由對其發展歷程、核心技術以及應用場景的全面分析,我們可以發現,無伺服器計算並非單純的技術革新,而是雲端原生時代的必然產物。它解決了傳統伺服器管理的繁瑣,讓開發者更專注於業務邏輯的實作,進而提升開發效率並降低營運成本。然而,無伺服器架構並非完美無缺,它在狀態管理、冷啟動時間以及供應商鎖定等方面仍存在挑戰。技術團隊需要深入理解這些限制,並結合自身業務需求制定相應的解決方案。展望未來,隨著邊緣計算、WebAssembly 等技術的快速發展,無伺服器計算將與這些技術深度融合,催生更多創新的應用場景,例如更實時的資料處理、更輕量級的邊緣應用以及更複雜的跨平臺應用。玄貓認為,無伺服器計算代表了雲端原生應用發展的重要方向,值得企業投入資源深入研究並逐步應用於實際專案中,以提升自身的技術競爭力。