被解救的代碼 - 代碼即服務(wù)時(shí)代來了
人類對(duì)自由的追求從未停止,我們用戰(zhàn)斗獲得民族自由,我們用代碼獲得雙手自由,同時(shí)代碼作為服務(wù)器的奴隸,也開始蠢蠢欲動(dòng),革命已經(jīng)開始,當(dāng)代碼翻身做主,作為開發(fā)者的我們又該如何適應(yīng)新時(shí)代的到來?
一、一切皆代碼的革命(Everything As Code)
代碼一直是服務(wù)器中的囚徒,然而革命已來,看代碼和如何一步一步掌控環(huán)境,走向服務(wù)。
1. 革命:用代碼控制編譯打包
Pipeline as code:代表技術(shù) Jenkins Pipeline
2. 革命:用代碼控制服務(wù)器
Machine as code:代表技術(shù) Docker
3. 革命:用代碼控制服務(wù)器集群
Server cluster as code:代表技術(shù) K8S
4. 革命:用代碼控制基礎(chǔ)資源
Infrastructure as code:代表技術(shù) Terraform
當(dāng)一切皆代碼,A=B 可得 B=A,代碼即服務(wù)時(shí)代就來了。
二、代碼即服務(wù)時(shí)代的到來
1. 傳統(tǒng)時(shí)代的代碼倉庫
傳統(tǒng)的代碼倉庫說明中,"運(yùn)行環(huán)境安裝向?qū)?quot;文檔是必備的,以 SpringBoot 代碼為例,自帶安裝向?qū)臋n。
2. 新時(shí)代的代碼倉庫
參考代碼倉庫 aws-lamda-spring-boot2,包括 springboot 運(yùn)行到 aws 的 lamda 需要的全部代碼。
2. 新時(shí)代的代碼倉庫
參考代碼倉庫 aws-lamda-spring-boot2,包括 springboot 運(yùn)行到 aws 的 lamda 需要的全部代碼。
3. 主流技術(shù)對(duì)新時(shí)代的擁抱
以 Spring 的發(fā)展為例,從 SpringBoot 開始,不斷對(duì)環(huán)境控制進(jìn)行集成,直到 SpringNative,已經(jīng)可以直接構(gòu)建鏡像。
三、代碼即服務(wù)下的云原生架構(gòu)
1. 容器服務(wù):用代碼控制一切
2. 微服務(wù)引擎:信任標(biāo)準(zhǔn)平臺(tái),將部分控制權(quán)交給平臺(tái)
3. 函數(shù)計(jì)算:信任標(biāo)準(zhǔn)平臺(tái),將大部分控制權(quán)交給平臺(tái)
四、代碼即服務(wù)下的研發(fā)平臺(tái)戰(zhàn)爭
在代碼即服務(wù)的時(shí)代,各大廠商都在建立自己的云上研發(fā)閉環(huán),誰做好云上的開發(fā)平臺(tái),誰就能抓住下一代云原生開發(fā)者的心。
1. 代碼托管之戰(zhàn):得代碼者的天下
微軟宣布收購 GitHub谷歌投資 GitlabAWS 自建私有倉庫 CodeCommit阿里云企業(yè)級(jí)代碼托管平臺(tái) Codeup
2. 在線開發(fā)之戰(zhàn)
微軟整合 VS Code 和 Github,推出 Github Codespace谷歌另辟蹊徑,做線下 IDE 插件 Cloud Code,對(duì)接 Google CloudAWS 在線云 IDE:Cloud 9阿里云 IDE:DevStudio
3. 在線構(gòu)建 DevOps 之戰(zhàn)
Azure DevOpsGoogle DevOpsAWS DevOps阿里云云效
4. 研發(fā)體系發(fā)展
在代碼即服務(wù)時(shí)代,Git 作為代碼版本管理軟件,加上 WebHook,可以輕松地管理整個(gè)代碼的運(yùn)行生命周期,GitOps 應(yīng)運(yùn)而生。GitHub 吸 收GitOps 思想,推出 GitHub Actions。
AWS 推出產(chǎn)品 Proton,提供全配置代碼的服務(wù)和環(huán)境模板,將平臺(tái)建設(shè)能力和復(fù)用能力開放給平臺(tái)開發(fā)人員,讓普通開發(fā)人員更專注業(yè)務(wù)實(shí)現(xiàn)。
五、阿里云開發(fā)平臺(tái)
1. 云開發(fā)平臺(tái),通過整合云原生產(chǎn)品和云效,完成了云原生開發(fā)閉環(huán)
2. 云開發(fā)平臺(tái),構(gòu)建應(yīng)用級(jí)別的云原生應(yīng)用,預(yù)設(shè)標(biāo)準(zhǔn)云架構(gòu)
3. 云開發(fā)平臺(tái),應(yīng)用共享
云開發(fā)平臺(tái)和天貓精靈,釘釘團(tuán)隊(duì)合作,整合小程序的前后端一體化開發(fā)部署,解決小程序云和用戶云不能打通問題,給小程序加上用戶云能力。云開發(fā)平臺(tái)應(yīng)用可以在團(tuán)隊(duì)內(nèi)共享,團(tuán)隊(duì)內(nèi)的技術(shù)交流,再也不僅僅是 clone 代碼。云開發(fā)平臺(tái)市場共享,后續(xù)可以合作方的技術(shù)方案直接在市場上構(gòu)建,讓云服務(wù)提供商再也不用現(xiàn)場幫助用戶構(gòu)建和維護(hù)云環(huán)境。
六、結(jié)語
誠摯邀請(qǐng)大家加入云開發(fā)平臺(tái),一起共建服務(wù)百萬阿里云開發(fā)者阿里云的云上研發(fā)平臺(tái)。