全面擁抱云原生應用研發的拐點已經到來
責任編輯:yang | 2020-09-22 14:55:11 本文摘自:CSDN
互聯網+ 發展到今天,大家對互聯網業務的發展模型越來越熟悉,敏捷開發,流量運營,模式復制。在整個創新閉環當中,技術起著至關重要的作用:
• 幫助商業創新從 Idea 變成真實的線上服務
• 幫助保障線上服務流量極速增長仍能提供服務
• 幫助成功的商業實現模式的復制
所有的技術人都在為此而努力,就像奧林匹克精神那樣,以 “更高更快更強” 為目標,不斷優化工程實踐方法。然而,這條路一路走過來的艱辛也只有技術人才懂:
• 組建研發體系何其困難,麻雀雖小,五臟要全,如何快速完成研發團隊的建設,研發基礎設施的建設,是擋住商業化創新的第一道坎;
• 用戶流量每增長一百萬,對技術架構都是巨大的挑戰,系統什么時候會崩潰是技術人每天都要思考的問題;
• 業務在國內取得成功后,想要在全球范圍同步推出,每增加一個服務節點,系統架構都得從頭再搭建一次,不同的國家地區還不一定能夠保障,嚴重制約商業化腳步;
云原生應用研發的最后一公里魔咒
隨著云原生 Serverless 的概念在國內悄然升起,許多技術人似乎從中看到了希望,許多 IT 架構師已經把它作為目標技術架構之一。Serverless 的跨代優勢對有技術敏感的架構師來說是技術發展的紅利,一般都在持續關注它的發展。
但是在這兩年間,隨著整個研發生態接觸到 Serverless 的內容也越來越多,嘗試也越來越多。在許多的實踐中,越來越多的公司、企業開始陷入一種迷思:
Serverless是不是就是FaaS?
是不是只能用在一些 “計算任務” 場景?
是不是只能在小程序等一些很小眾的研發場景才能用呢?
公司原來那么多不同語言開發的存量應用是不是完全用不上?
是不是只有像阿里巴巴這種體量的公司才能玩的轉?
一切好像又回到了原點,在上述的問題沒有解決之前,企業集成或應用 Serverless 架構的設想停在了業務落地的 “最后一公里”。說好的云原生是云計算的未來呢?說好的云原生可以改變開發者的世界呢?要知道,沒有規模,就不是云計算!沒有規模,就無法產生無法計算的價值!如果一個好的概念始終無法走進普羅大眾,那它可能只能被大眾束之高閣,敬而遠之。
回顧初心,技術是為了更好的商業創新
如果有一種方法,能夠讓開發者專注在商業應用邏輯的開發本身;能夠讓商業化應用不用擔心流量的增長而崩潰;能夠讓全球的服務保持一致;能夠讓每一個商業應用隨著流量的變化而動態調整資源的用量。那它一定是最接近理想狀態的:讓每一個商業創新都變的簡單,讓每一個靈感都變成可能!
今天,我們通過云棲大會,非常興奮的向全球的開發者們傳遞一個信息,具備規模化落地的真正的云原生Serverless 應用研發時代已經到來,全面擁抱云原生應用研發的拐點已經到來!無論是大中小微公司,無論什么業務場景,無論什么開發語言,無論是既有的存量應用還是新應用,無論多大用戶流量,無論全球服務有多少節點,都可以借助阿里云云開發平臺提供的 Serverless 架構服務輕松落地。
在阿里云云開發平臺,您可以在無需重構的情況,將已有的NodeJS應用、Java應用、Python應用、PHP應用等,輕松平滑地遷移部署到云原生Serverless架構,從此告別資源浪費,告別不靠譜的人肉流量估算人肉擴容的日子!您也可以將資源最大化地利用在自己的業務創新上,從此不再需要為團隊協同環境的搭建、團隊研發測試環境的搭建、應用高并發架構的搭建費時費力費錢!
阿里云云開發平臺所提供的全云端Serverless研發架構服務,幫助企業和合作伙伴進行更好的商業創新。
只有更公平的創新環境才能讓創新者全力比拼創意
阿里云云開發平臺(https://workbench.aliyun.com )給開發者和研發團隊提供了完全基于「云+瀏覽器」就能完成日常應用開發工作的環境,它的設計理念是使每天的應用研發生命周期也成為企業團隊大協同中的一環。云開發平臺集成了阿里巴巴諸多自研自用的開發能力和開發工具,籍由強大的阿里研發生態,為開發者提供更大的協同研發可能。
通過以下阿里巴巴自研自用服務,阿里云云開發平臺讓所有的研發團隊不論大小,不論初創小微團隊還是行業龍頭企業,都能夠享受到阿里巴巴這種體量規模的在線應用研發協同能力,讓團隊不受時間、空間、和規模的限制,讓所有的創新創業都能基于一個更公平和開放的技術環境輕松啟動!
• 在線團隊:與阿里云云效企業組織互通,創建后即可使用阿里云云效提供的所有在線協同能力;提供4種團隊角色,完全映射本地研發團隊權限設計,幫助您輕松實現團隊上云;
• 在線CloudIDE環境:基于阿里巴巴前端委員會共建的 CloudIDE,與阿里巴巴內部使用的是同一套,在此基礎上,意味著您同時也可以享受到阿里巴巴內部的插件生態,比如圖片智能生成代碼插件服務 ImgCook;
• 在線代碼托管服務:阿里云自研代碼托管服務 Codeup,企業級代碼管理平臺,提供代碼托管、代碼評審、代碼掃描、質量檢測等功能,全方位保護企業代碼資產,幫助企業實現安全、穩定、高效的研發管理,支撐百萬級代碼庫和數萬工程師協作,支持標準 git 操作,幫助您更方便的實現本地與云端代碼同步管理;
• 在線部署流水線服務:阿里云自研部署流水線服務 Flow,從代碼到交付上線僅需5分鐘,企業級、自動化的研發交付流水線, 提供靈活易用的持續集成、持續驗證、 持續發布功能,幫助企業高質量、高效率的交付業務;
• 「項目」「任務」協作:「項目」是協作的基本單元,相當于釘釘或者微信的一個群。你的「項目」可以是一次大型會議,一個客戶項目,或者一個活動;你也可以為所在項目創建一個項目,用于追蹤日常工作;進入項目后,「任務」看板把左右事項公開透明的呈現出來,讓大家看見「誰」、在「何時」、要「做什么」,隨時都可以掌握工作進度。任務是驅動云效項目的最小操作單位。一個個任務,讓進展公開透明,讓溝通卓有成效;
• 知識庫:知識庫是一個為企業提供知識管理的服務,通過獨立的知識庫空間,結構化地組織在線協作文檔,實現企業知識的積累和沉淀,促進知識的高度復用和流通
只有更強大的 Serverless 架構服務才能讓商業無憂成長
為了幫助用戶提供一個無縫使用阿里云服務的環境,阿里云云開發平臺會跟阿里云的諸多云產品進行集成,隨時為用戶的使用做好準備。您可以在云開發平臺創建基于各種場景解決方案的應用,并為每個應用選用不同的云服務。
云開發平臺將云原生 Serverless 領域實踐最多的服務,如函數計算、應用引擎、容器服務,結合應用研發部署生命周期所需的能力,設計提供了三套標準 Serverless 架構服務,滿足不同場景的應用研發部署需求。 并且Serverless 架構服務都已應用在阿里巴巴雙十一真實項目中經受過雙十一的考驗,保證應用順利部署上線,流量高峰自動擴容,流量降低自動釋放資源,再也不怕宕機!
• 函數計算型Serverless架構服務,這是一種羽量級Serverless應用架構服務,計算服務按請求量付費,對初創團隊非常友好,這種 IT 架構適合短期快速實現的業務場景,比如促銷活動,以及新業務試錯場景;
• Serverless應用引擎型架構服務,這是一種輕量級Serverless應用架構服務,計算服務按資源用量付費,對存量中小規模應用更加適合,這種架構模式,可以基于 MSE 微服務引擎,支持服務注冊,服務發現機制,結合阿里云上各種中間件服務產品,能輕松構建一個復雜的系統架構。這種架構模式適合業務成熟定型,流量穩定的業務場景,也可以把業已成熟 IT 集成架構沉淀成云開發平臺的公司級解決方案,讓新業務在這個基礎架構上敏捷迭代;
• Serverless容器型架構服務,這是一種專業級Serverless應用架構服務,計算服務按資源用量付費,規模化復雜度高的巨型應用首選;
只有更少的約束才能讓研發團隊輕松實現業務升級
研發團隊考慮的更多的問題是如何從現有 IT 架構演進到 Serverless 計算架構之中。云開發平臺構建了這一演進路徑,充分尊重用戶當前研發體系,支持在現有體系中集成 Serverless 構建部署功能。演進包含兩個層面,一個是存量應用的遷移,一個是新建 Serverless 應用和當前存量應用的互聯互通能力。
對于存量應用的遷移,云開發平臺已經上架了基于 FC,SAE,ASK 的各種架構形式的遷移解決方案,且還在不斷豐富當中。比如,Java 語言的 Springboot 遷移方案,只需要把存量系統的 src 目錄和 pom.xml 拖到 CloudIDE 工程目錄,然后在 pom.xml 增加兩處約定配置,即可完成 Springboot 應用到 Serverless 應用的遷移,讓存量應用通過集成云開發 CICD 的特性,快速升級獲得 Serverless 應用的所有優勢。
對于采用 Serverless 架構的新建應用,云開發平臺支持研發團隊將公司原來已經在使用的阿里云產品編排進新建的應用架構當中,讓新建的 Serverless 研發能夠延續之前的研發模式。云開發平臺提供的 Cloud-Native 集成研發環境支持本地研發和在線研發模式,支持云上測試環境,預發環境,正式環境三套環境的部署。
通過阿里云云開發平臺提供的各種主流應用遷移方案,不論是等待開發的新應用還是已經服務于用戶的在線業務,都可以通過阿里云云開發平臺提供的Serverless架構服務以及Serverless框架實現平滑的架構升級。無需改變,一切已變!
• 前端應用開發/遷移方案
– VUE
– React
– 原生及更多框架支持
• NodeJS 應用開發/遷移方案
– Express應用
– KOA應用
– Egg應用
– Next應用
– Nuxt應用
– Midway應用
– NodeJS原生及更多類型的應用
• Java 應用開發/遷移方案
– 輕量級 SpringBoot 應用
– 輕量級 SpringMVC 應用
– 專業級 SpringBoot 應用
– 專業級 SpringMVC 應用
• Python 應用開發/遷移方案
– Flask 應用
– Django 應用
• PHP 應用開發/遷移方案
– PHP前后端一體化應用
• 更多開發生態持續演進中
只有更低的流程侵入才能讓原有的本地研發鏈路全盤復用
對大多數企業的存量項目而言,將其直接遷移到云開發平臺會遇到一些問題:線上開發不適應、工程倉庫數量多遷移麻煩、代碼托管平臺的限制等等。因此對于企業級存量項目在保證不影響當前開發流程及開發者習慣的前提下集成阿里云開發平臺就十分必要。在本地集成阿里云開發平臺并不影響開發及測試,真正的變化在 CI/CD 階段。
阿里云云開發平臺根據大多數企業 CI/CD 的實踐總結了一套適用于絕大多數場景的方法論,并提供了具體的解決方案 —— 阿里云云開發平臺本地部署套件。它依托于企業的代碼托管系統(常見的如Gitlab)及提供的 Hook 機制,并結合每個團隊的分支提交規范(gitflow)實現線下的 CI/CD。阿里云開發平臺本地部署套件支持各種形式的集成,包括常用的 Jenkins、Gitlab CI 以及 Hook,同時提供測試環境、預發環境和正式環境的部署。
使用阿里云開發平臺本地 CI/CD 部署套件的成本極低:
• 對于運維人員,僅需要在當前 CI/CD 邏輯中運行套件
• 對于開發者,僅需要配置阿里云開發平臺的相關認證信息
只有更開放的生態才能讓商業創新再次加速
沒有規模,就不是云計算!沒有規模,就無法產生無法計算的價值!當我們能夠提供讓云計算開箱即用的服務,這意味著云計算開始真正變得像這個社會的“水電煤”,人們的工作、生活,哪里需要,只需要打開開關即可獲得服務,人們將更聚焦創新!
未來,阿里云云開發平臺將與與行業生態一起,共建行業應用的云原生架構解決方案市場,讓更多的商業創新能夠實現二級加速!
展望
當我們再次回頭看,如果我們真正做到了:您有一個Idea,就能快速讓它從概念變成現實;您有一個服務,無論它的流量如何暴漲,都能輕松應對,無論它的流量如何變化,都能按量付費;您有一個研發團隊,無論成員身處何時何地,都能高效協同;那么我們就真正做到了技術是為了更好的商業創新!
阿里云云開發平臺,讓每一個創新變成可能,現在就去體驗:https://workbench.aliyun.com