人類對自由的追求從未停止,我們用戰鬥獲得民族自由,我們用代碼獲得雙手自由,同時代碼作為伺服器的奴隸,也開始蠢蠢欲動,革命已經開始,當代碼翻身做主,作為開發者的我們又該如何适應新時代的到來?

作者 | 王铎(都铎)
來源 | Serverless 公衆号
一、一切皆代碼的革命(Everything As Code)
代碼一直是伺服器中的囚徒,然而革命已來,看代碼和如何一步一步掌控環境,走向服務。
1. 革命:用代碼控制編譯打包
Pipeline as code:代表技術 Jenkins Pipeline
2. 革命:用代碼控制伺服器
Machine as code:代表技術 Docker
3. 革命:用代碼控制伺服器叢集
Server cluster as code:代表技術 K8S
4. 革命:用代碼控制基礎資源
Infrastructure as code:代表技術 Terraform
當一切皆代碼,A=B 可得 B=A,代碼即服務時代就來了。
二、代碼即服務時代的到來
1. 傳統時代的代碼倉庫
傳統的代碼倉庫說明中,"運作環境安裝向導"文檔是必備的,以 SpringBoot 代碼為例,自帶安裝向導文檔。
2. 新時代的代碼倉庫
參考代碼倉庫 aws-lamda-spring-boot2,包括 springboot 運作到 aws 的 lamda 需要的全部代碼。
3. 主流技術對新時代的擁抱
以 Spring 的發展為例,從 SpringBoot 開始,不斷對環境控制進行內建,直到 SpringNative,已經可以直接建構鏡像。
三、代碼即服務下的雲原生架構
1. 容器服務:用代碼控制一切
2. 微服務引擎:信任标準平台,将部分控制權交給平台
3. 函數計算:信任标準平台,将大部分控制權交給平台
四、代碼即服務下的研發平台戰争
在代碼即服務的時代,各大廠商都在建立自己的雲上研發閉環,誰做好雲上的開發平台,誰就能抓住下一帶雲原生開發者的心。
1. 代碼托管之戰:得代碼者的天下
- 微軟宣布收購 GitHub
- 谷歌投資 Gitlab
- AWS 自建私有倉庫 CodeCommit
- 阿裡雲企業級代碼托管平台 Codeup
2. 線上開發之戰
- 微軟整合 VS Code 和 Github,推出 Github Codespace
- 谷歌另辟蹊徑,做線下 IDE 插件 Cloud Code,對接 Google Cloud
- AWS 線上雲 IDE:Cloud 9
- 阿裡雲 IDE:DevStudio
3. 線上建構 DevOps 之戰
- Azure DevOps
- Google DevOps
- AWS DevOps
- 阿裡雲雲效
4. 研發體系發展
- 在代碼即服務時代,Git 作為代碼版本管理軟體,加上 WebHook,可以輕松地管理整個代碼的運作生命周期,GitOps 應運而生。GitHub 吸 收GitOps 思想,推出 GitHub Actions。
- AWS 推出産品 Proton,提供全配置代碼的服務和環境模闆,将平台建設能力和複用能力開放給平台開發人員,讓普通開發人員更專注業務實作。
五、阿裡雲開發平台
1. 雲開發平台,通過整合雲原生産品和雲效,完成了雲原生開發閉環
2. 雲開發平台,建構應用級别的雲原生應用,預設标準雲架構
3. 雲開發平台,應用共享
- 雲開發平台和天貓精靈,釘釘團隊合作,整合小程式的前後端一起化開發部署,解決小程式雲和使用者雲不能打通問題,給小程式加上使用者雲能力。
- 雲開發平台應用可以在團隊内共享,團隊内的技術交流,再也不僅僅是 clone 代碼。
- 雲開發平台市場共享,後續可以合作方的技術方案直接在市場上建構,讓雲服務提供商再也不用現場幫助使用者建構和維護雲環境。
六、結語
誠摯邀請大家加入雲開發平台,一起共建服務百萬阿裡雲開發者阿裡雲的雲上研發平台。
引用:
- Performance of running Spring Boot as AWS Lambda functions
本文整理自阿裡雲技術專家--都铎在【阿裡雲 Serverless Developer Meetup 上海站】上的分享
ppt 擷取方式:關注 Serverless 公衆号,背景對話框回複“ppt”即可
直播回放觀看位址:https://developer.aliyun.com/live/246653