開放下載 | 《Knative 雲原生應用開發指南》開啟雲原生時代 Serverless 之門

芊寶寶最可愛發表於2019-12-17

自 2018 年 Knative 專案開源後,就得到了廣大開發者的密切關注。Knative 在 Kubernetes 之上提供了一套完整的應用 Serverless 編排服務,讓應用開發者可以不用為底層的基礎設施分心,把更多的精力投入到業務邏輯上。
Knative 的一個很重要的目標就是制定雲原生、跨平臺的 Serverless 編排標準。它的優勢在於:

  • 基於 Kubernetes 實現 Serverless 編排;
  • 基於 Istio 實現服務的接入、服務路由的管理以及灰度釋出等功能。

今年 5 月份,我們推出了 Knative 系列文章,由阿里雲容器平臺技術專家牛秋霖(冬島)及阿里雲容器平臺高階開發工程師李鵬(元毅)結合自身的實踐經驗,由淺入深的介紹了 Knative 的使用、剖析其內部實現。

為了進一步方便大家理解 Knative,我們整理了系列文章中的 25 篇重點內容編排成書《Knative 雲原生應用開發指南》,並開放分享給大家,希望能夠幫助更多技術愛好者快速掌握 Knative 的應用 Serverless 編排技能,揭開 Knative 的神秘面紗。

為什麼你要讀這本書?

對於開發者而言,本書可以讓你快速掌握 Knative 的應用 Serverless 編排技能;對於管理者或決策者而言,可以透過本書的介紹和案例深入瞭解企業為什麼需要應用的 Serverless 編排;如何對普通應用進行 Serverless 編排;應用編排和 IaaS 無伺服器計算的關係以及為什麼會是 Knative 等問題。

本書主要分為入門、進階和實戰三個部分。

  • 入門篇可以幫助你快速掌握 Knative 的核心理念和關鍵設計,讓你對應用的雲原生編排應該具備什麼能力有一個清晰的認識;
  • 進階篇會對 Knative 各大核心模組的高階功能進行更深入的介紹,剖析 Knative 是如何構建在 Kubernetes 之上的;
  • 實戰篇給出了很多基於 Knative 的雲原生實戰,讓你對 Knative 的使用有一個更直觀的體感。

開放下載 | 《Knative 雲原生應用開發指南》開啟雲原生時代 Serverless 之門

《Knative 雲原生應用開發指南》目錄 點選可檢視大圖

在 All in Cloud 的時代,對雲的駕馭能力已經成為企業的核心競爭力,雲正在重塑企業 IT 架構。每個企業都在思考如何最大化利用“雲”的能力,最大化發揮“雲”的價值。而企業上雲的過程中是要直接面對眾多的雲廠商和各種繁雜的雲產品,比如最基本的 IaaS 資源,同樣是 VM 在不同的雲廠商就有不同的特性、不同的 OpenAPI 和不同的建立與銷燬方式。

這給企業上雲帶來了巨大的複雜度,大大打擊了企業上雲的積極性。所以對於上雲的企業和提供雲服務的廠商而言都在摸索尋找一個折中的平衡點,既能幫助企業上雲,又能幫助雲廠商釋放雲的能力。

雲原生理唸的形成與完善

雲原生理念是在以上過程中逐漸形成和完善的。這套理念是協調所有參與方對服務上雲逐漸形成的統一標準,它可以很好地幫助企業上雲、幫助雲廠商釋放雲的能力。雲原生旨在以更標準化的方式銜接雲廠商和上雲企業:

  • 這種方式對於企業而言降低了上雲和跨雲的成本,讓企業始終保有和雲廠商議價的能力;
  • 對於雲廠商而言,因為企業跨雲遷移的成本低,所以只要能提供價效比更高的雲服務,就能很容易的聚集大量使用者。

雲原生是在不斷促進整個系統的良性迴圈:既能讓企業始終保有選擇的能力,又能讓優秀的雲廠商快速服務更多的客戶。如果客戶的業務服務能像水一樣低成本在不同雲廠商之間流動,那麼雲廠商提供的服務就能像貨幣一樣在客戶之間流通。這是一個多贏的局面。

Kubernetes 已經成為分散式資源排程和資源編排的事實標準,它遮蔽了底層基礎架構的差異,幫助應用輕鬆執行在不同的基礎設施之中。

目前雲原生生態已經在 Kubernetes 之上構建了大量的上層服務支撐框架。比如:服務網格 Istio、 Kubeflow 、各種上層服務的 Operator 等等。我們可以看到構建在 Kubernetes 之上的雲原生作業系統的雛形開始出現,這是開發者最好的時代,極大地提升了業務創新的速度。

無伺服器(Serverless)的出現

隨著 Kubernetes 的普及,開發者已經不需要關心基礎設施,有了更多的精力放在業務的核心邏輯上,隨之而來的就是無伺服器計算的出現。

無伺服器首先是在 IaaS 層的變革,使用者無需提前準備冗餘的 IaaS 資源,只需要在使用的時候自動擴容不用的時候自動縮容。因為應用真正需要的是 IaaS 資源的按需分配按量計費,而不是長期保有 IaaS 資源。

無伺服器這個詞是從 Serverless 翻譯過來的,其實 Serverless 除了基礎 IaaS 資源的按量分配以外還有一層就是對應用的 Serverless 編排。

Knative 出現的必然性

IaaS 資源可以按需分配只是一個開始,當 IaaS 完成了 Serverless 進化以後,應用層應該如何做呢?比如:一個普通應用需要具備什麼能力才能按量使用 IaaS 資源呢?對應用進行 Serverless 編排是否能保證應用可以很容易的在不同的雲廠商之間跨雲遷移?

Knative 就是應用 Serverless 編排的雲原生解決方案。

Knative 建立在 Kubernetes 和 Istio 之上,透過 Kubernetes 的跨雲能力能夠讓企業應用原生具備跨雲遷移的能力。在多雲、混合雲以及雲邊端互通的時代,基於 Knative 的應用 Serverless 雲原生編排能力可以極大降低企業上雲的成本。

雲原生時代,如何在雲上玩轉 Knative?

《Knative 雲原生應用開發指南》一書收錄了 8 篇具體的 Knative 開發實踐案例,給出了很多基於 Knative 的雲原生實戰,藉此講述瞭如何正確使用 Knative 中的 Build、Serving 以及 Eventing 三大元件來發揮其作用,逐漸精簡我們的程式碼;直觀地展示瞭如何使用 Knative 來一步步簡單高效地開發雲原生應用,讓你對透過 Knative 來實踐 Serverless 有一個更全面的體感。

期待《Knative 雲原生應用開發指南》能夠幫助更多的開發者真正開啟雲原生時代的 Serverless 之門,輕鬆解決迎面難題,避免踩坑!

原文連結

本文為阿里雲原創內容,未經允許不得轉載。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69949601/viewspace-2669081/,如需轉載,請註明出處,否則將追究法律責任。

相關文章