- Serverless工程實踐:從入門到進階
- 劉宇
- 1702字
- 2021-07-30 09:07:46
前言
Serverless架構是云計算發展的產物,它繼承了云計算的優點,并具備極致彈性、按量付費、免運維等優勢。Serverless架構讓開發者可以將更多精力放在業務邏輯上,讓資源浪費更少,讓服務器運維成本更低,真正意義上做到了降本提效。
為什么寫作本書
Serverless架構最近幾年越來越火,它憑借極致彈性、按量付費、免運維等優勢在更多領域發揮著越來越重要的作用。但是由于Serverless架構比較“年輕”,相關學習資源相對來說比較少。筆者希望通過一些真實的案例帶領讀者入門Serverless架構,了解如何在不同領域應用Serverless架構,并學會從零開發Serverless應用。
本書主要內容
本書是一本關于Serverless架構從原理、入門到實戰的技術指南,通過多個開源項目、多個云廠商的多款云產品介紹什么是Serverless架構、如何上手Serverless架構、不同領域中Serverless架構的應用以及如何從零開發一個Serverless應用等,帶領讀者全面了解Serverless架構,幫助讀者獲得Serverless架構帶來的技術紅利。
本書主要包括三部分:概念與產品、開發入門、工程實踐。
第一部分包括2章,介紹了Serverless架構的定義、規范、優勢、面臨的挑戰、應用領域以及工業界和開源界的優秀項目等。
第二部分包括3章,介紹如何開發Serverless應用、如何從零搭建FaaS平臺等。
第三部分是工程實踐,主要內容是Serverless架構在各個領域的實戰應用,涵蓋運維領域、圖像和音視頻處理領域、人工智能和大數據領域、前端領域以及IoT等眾多領域。這一部分還給出了兩個完整的Serverless實戰項目的從零開發過程。
除這三部分之外,本書還包括另外兩章。
第0章“從云計算到Serverless”:這是全書的引入部分。眾所周知,Serverless是云計算發展的必然產物,那么云計算是如何發展的?為什么會產生Serverless的概念?這個概念是誰提出的?通過這一章,讀者可以對云計算的發展以及Serverless的誕生有一個基礎的了解。
結束語“Serverless正當時”:介紹Serverless領域知名且活躍的開發者對Serverless的看法以及期待。希望讀者通過這一部分可以歸納出“自己心中的Serverless”,也希望這些前輩們的看法、思想可以讓讀者對Serverless有更深入的了解。
如何閱讀本書
讀者應當具有一定的編程基礎,例如熟悉Node.js、Python等語言,同時也需要對云計算有初步的了解,有相關云產品使用經驗。
本書采用循序漸進的方法,從什么是Serverless架構開始說起,通過零基礎上手Serverless架構、建設自己的FaaS平臺等幫助讀者快速入門Serverless架構,并通過領域實戰、應用案例幫助讀者拓展思路。我建議讀者通過下述“三遍閱讀法”來掌握書中內容。
第一遍閱讀,通讀全書,主要弄清楚概念,再完成Serverless的基礎入門,并對Serverless在各個領域的應用有相對基本的認識,對如何完整地開發一個Serverless應用有基礎的了解。
第二遍閱讀,專攻領域實戰,通過領域實戰提供的開源代碼,深入了解Serverless架構的運行原理、開發技巧等,可以通過筆者的拋磚引玉發揮自己的思路,在更多領域將Serverless架構與之結合。
第三遍閱讀,邊讀邊實踐,加深理解Serverless架構概念的同時,動手從零開發一款Serverless應用并將其部署上線,從而完整地理解Serverless架構的原理、優勢,并對Serverless的開發技巧有更加深入的認識和獨到的見解。
閱讀過程可能枯燥,但只有在反復的研讀中,自己對Serverless架構的理解才能不斷深入。另外,Serverless架構的發展速度是非常快的,本書的案例代碼可能會失效,筆者會盡快更新相關代碼倉庫。也希望讀者可以利用好這些倉庫。
致謝
在編寫本書的過程中,筆者遇到過很多的困難和挑戰。在此特別感謝阿里云云原生團隊的小伙伴們,是你們的支持和鼓勵讓本書得以順利完成。
感謝楊秋弟(曼紅)、楊浩然(不瞋)等前輩,是你們在這本書從開始到結束的過程中,不斷給予鼓勵和支持,才得以讓本書如期順利完成;感謝國防科技大學竇勇教授、浙江大學卜佳俊教授等提供的幫助以及對本書提出的極具建設性的意見;感謝姜曦(筱姜)在本書編寫、校對、出版等整個過程中給予鼓勵和支持并幫忙校驗、協調資源;感謝阿里云UED團隊,尤其是周月僑(小取)同學,幫忙對本書的部分插圖等進行設計、規范定制;感謝羅松(西流)、張千風(千風)等在本書編寫過程中指導部分代碼的完成以及功能、案例的實現;感謝陳緒(還劍)、錢梅芳(寶惜)等前輩對本書提供幫助和建設性意見。同時,也要感謝我的家人對我工作的鼓勵和支持,對我每走一步的信任和鼓勵;感謝身邊的小伙伴對我的關心和幫助。感謝身邊每一個人,謝謝你們。
由于作者水平有限,書中不足及錯誤之處在所難免,敬請專家和讀者批評指正。
江昱(劉宇)
2021年4月
- 演進式架構(原書第2版)
- The DevOps 2.3 Toolkit
- Linux C/C++服務器開發實踐
- Windows系統管理與服務配置
- 深入理解Django:框架內幕與實現原理
- Web交互界面設計與制作(微課版)
- 算法訓練營:入門篇(全彩版)
- 編寫高質量代碼:改善Python程序的91個建議
- UML+OOPC嵌入式C語言開發精講
- FFmpeg入門詳解:音視頻原理及應用
- MySQL入門很輕松(微課超值版)
- Go語言底層原理剖析
- Learning Jakarta Struts 1.2: a concise and practical tutorial
- 零基礎學Java第2版
- UML基礎與Rose建模實用教程(第三版)