日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
我在阿里云做云開發(fā)平臺(tái)

我在阿里云做云開發(fā)平臺(tái)

作者:欲休 2021-03-12 18:18:17

云計(jì)算 阿里云云開發(fā)平臺(tái)(Cloud Workbench:https://workbench.aliyun.com/),是阿里云面向廣大開發(fā)者及企業(yè)提供的云上研發(fā)工作平臺(tái),助力研發(fā)團(tuán)隊(duì)實(shí)現(xiàn)工作的在線化(團(tuán)隊(duì)在線、環(huán)境在線、代碼在線、協(xié)同在線)以及研發(fā)模式Serverless化,幫助研發(fā)團(tuán)隊(duì)實(shí)現(xiàn)對(duì)行業(yè)架構(gòu)經(jīng)驗(yàn)及架構(gòu)服務(wù)的高效分享與傳播,極致提升研發(fā)效率,極致降低研發(fā)成本。

大云廠商今年在開發(fā)者陣地側(cè)逐漸開始向“云”化開發(fā)發(fā)展,最為顯著的產(chǎn)品就是Cloud IDE,催生出來的趨勢就是云端開發(fā)。云開發(fā)現(xiàn)階段盡管在各大公司內(nèi)部無法作為日常開發(fā)工具普遍推廣,但是在某些特定場景下Cloud IDE云開發(fā)是非常讓人著迷的:

  1. 即開即用,用完即走的場景,如編寫函數(shù)(天貓精靈功能開發(fā))、demo編寫預(yù)覽、code review以及代碼倉庫集成等
  2. 深度定制的統(tǒng)一的團(tuán)隊(duì)業(yè)務(wù)環(huán)境,團(tuán)隊(duì)成員無需配置復(fù)雜環(huán)境即可上手
  3. 天然架構(gòu)在云之上,在開發(fā)態(tài)集成云產(chǎn)品的諸多服務(wù)
  4. 集成CI/CD,快速迭代
  5. Serverless架構(gòu)應(yīng)用測試(Cloud IDE也屬于云上環(huán)境,可實(shí)時(shí)調(diào)試函數(shù))

國內(nèi)外很多廠商在爭奪利益:

  • 微軟是第一個(gè)繞不開的公司。微軟在開發(fā)者工具以及IDE領(lǐng)域積累頗深,產(chǎn)出了眾多明星產(chǎn)品:visual studio、vscode等,特別是vscode直接影響了Cloud IDE的發(fā)展進(jìn)程。而且去年微軟收購的另一個(gè)明星產(chǎn)品Github推出了codespace將Cloud IDE與Github開源社區(qū)結(jié)合在一起,實(shí)現(xiàn)“一云多端”的代碼側(cè)生態(tài)貢獻(xiàn)。盡管codespace并未提供類似阿里云云開發(fā)平臺(tái)的Serverless架構(gòu)、行業(yè)案例支持、DevOps一體化等諸多功能,但未來微軟極有可能將其配合Azure一起組件完成鏈路實(shí)現(xiàn)整個(gè)生態(tài)的閉環(huán)。
  • 谷歌的Firebase是主打BAAS的一款產(chǎn)品,它為后端服務(wù)提供Realtime database、Auth、Cloud Function、Message Push、Analytics以及Cloud storage等服務(wù),無需服務(wù)器即可快速開發(fā)并使用以上諸多服務(wù),特別適合個(gè)人應(yīng)用和創(chuàng)業(yè)項(xiàng)目等。不過由于國內(nèi)網(wǎng)絡(luò)的特殊性,一些服務(wù)無法在國內(nèi)正常使用,且網(wǎng)絡(luò)RT較大。Firebase并未提供Cloud IDE而是推薦 “本地開發(fā)+Firebase SDK+CLI”的形式在本地進(jìn)行開發(fā)調(diào)試與部署。

那么在云開發(fā)以及彈性計(jì)算領(lǐng)域,阿里云也有許多產(chǎn)品,比如阿里云云開發(fā)平臺(tái)、FC控制臺(tái)的CloudIDE以及Serverless Devs。云開發(fā)平臺(tái)若要在遵循叢林法則的生態(tài)競爭中生存就必須有它獨(dú)有的核心價(jià)值與手段來解決ISV的關(guān)鍵訴求,那么相比其他產(chǎn)品有哪些不同呢?

什么是阿里云云開發(fā)平臺(tái)

阿里云云開發(fā)平臺(tái)(Cloud Workbench:https://workbench.aliyun.com/),是阿里云面向廣大開發(fā)者及企業(yè)提供的云上研發(fā)工作平臺(tái),助力研發(fā)團(tuán)隊(duì)實(shí)現(xiàn)工作的在線化(團(tuán)隊(duì)在線、環(huán)境在線、代碼在線、協(xié)同在線)以及研發(fā)模式Serverless化,幫助研發(fā)團(tuán)隊(duì)實(shí)現(xiàn)對(duì)行業(yè)架構(gòu)經(jīng)驗(yàn)及架構(gòu)服務(wù)的高效分享與傳播,極致提升研發(fā)效率,極致降低研發(fā)成本。

使用云開發(fā)平臺(tái)架構(gòu)的應(yīng)用,天然是云原生的,天然是Serverless架構(gòu)的,天然是支持在線開發(fā)、調(diào)試、協(xié)同、CI/CD的;由于云開發(fā)平臺(tái)是架構(gòu)在阿里云底層基建之上,因此開發(fā)者天然可以享受阿里云提供的基礎(chǔ)設(shè)施紅利(編排、代碼倉庫、devops工具監(jiān)控與報(bào)警、異地多機(jī)房以及VPC網(wǎng)絡(luò)隔離、多版本與灰度),這些基礎(chǔ)設(shè)施對(duì)于大多數(shù)中小公司自建難度非常大且邊際成本很高,而通過云開發(fā)平臺(tái)使用這些服務(wù)大多是免費(fèi)或者按量計(jì)費(fèi),提效降費(fèi)自不必說;云開發(fā)平臺(tái)針對(duì)不同業(yè)務(wù)場景不同技術(shù)棧的應(yīng)用抽象了3種技術(shù)架構(gòu),并搭配了云底座與產(chǎn)品實(shí)現(xiàn)技術(shù)側(cè)保障,省去架構(gòu)的煩惱。

云原生 Serverless 架構(gòu)

關(guān)于云原生以及Serverless有很多解釋,那么樸素意義上的云原生指的是因云而生的軟硬件以及架構(gòu),它包括為云或者彈性而設(shè)計(jì)的CPU或GPU,以及為云或彈性設(shè)計(jì)的中間件與使用這些中間件的應(yīng)用。云原生不僅是實(shí)踐,更是一種理念。開發(fā)人員的開發(fā)環(huán)境也要生在云上、長在云上,讓產(chǎn)品設(shè)計(jì)、開發(fā)調(diào)試環(huán)境、部署、測試與灰度、POC驗(yàn)證、資源消費(fèi)等等,全部基于云來進(jìn)行,云開發(fā)平臺(tái)就是貫徹云原生理念的一款產(chǎn)品,力圖在云端覆蓋產(chǎn)品的全生命周期。

Serverless字面意思為無服務(wù)器,實(shí)際上可理解為無運(yùn)維架構(gòu)。開發(fā)者無需關(guān)心底層硬件的采購與運(yùn)維(機(jī)器、網(wǎng)絡(luò)、流量)聚焦于業(yè)務(wù)邏輯開發(fā),由云進(jìn)行彈性擴(kuò)縮容,并按量計(jì)費(fèi)(這對(duì)峰值流量差異大特別是移動(dòng)端應(yīng)用尤為明顯)。

云開發(fā)平臺(tái)針對(duì)不同類型特點(diǎn)的業(yè)務(wù)分析和生成一個(gè)基于云產(chǎn)品矩陣構(gòu)成的云原生 Serverless 架構(gòu)(FAAS+BAAS),滿足業(yè)務(wù)規(guī)模的不斷擴(kuò)大與快速迭代。

針對(duì)無狀態(tài)的應(yīng)用提供了最為輕量的FC架構(gòu),通過APIGW + FC + NAS等通用組合可實(shí)現(xiàn)自動(dòng)彈性擴(kuò)縮容、多版本共存、灰度與a/btest、文件持久化以及局部狀態(tài)保存,滿足大多數(shù)簡單業(yè)務(wù)場景,當(dāng)前線上應(yīng)用大多為此種架構(gòu),以Web服務(wù)、云函數(shù)(天貓精靈)的形式運(yùn)行?;贔C的架構(gòu)向開發(fā)者屏蔽了底層PAAS部分,僅需在Cloud IDE中開發(fā)、調(diào)試代碼,測試通過后在Cloud IDE部署到對(duì)應(yīng)環(huán)境即可。

無狀態(tài)的應(yīng)用是指應(yīng)用(函數(shù))是運(yùn)行在第三方提供的無狀態(tài)計(jì)算容器中,并且在不復(fù)用容器的情況下應(yīng)用(函數(shù))可能會(huì)存在冷啟動(dòng)并且可以正常對(duì)外服務(wù),這個(gè)時(shí)候應(yīng)用(函數(shù))可以認(rèn)為是無狀態(tài),因此如果應(yīng)用依賴本機(jī)的crontab、內(nèi)存數(shù)據(jù)庫亦或是本地文件存儲(chǔ)等,都是有狀態(tài)的應(yīng)用,是需要做一些改造才可以使用基于FC的架構(gòu)。

針對(duì)有狀態(tài)或者微服務(wù)應(yīng)用云開發(fā)平臺(tái)提供了服務(wù)型SAE架構(gòu),可解決應(yīng)用啟動(dòng)有狀態(tài)的問題(通過SLB與docker鏡像),并可兼容Spring Cloud、Dubbo、HSF等主流的微服務(wù)開發(fā)框架,完成服務(wù)注冊(cè)、發(fā)現(xiàn)、調(diào)用與統(tǒng)計(jì)。

服務(wù)型ASK架構(gòu)則是為更為專業(yè)的企業(yè)團(tuán)隊(duì)進(jìn)行企業(yè)級(jí)Kubernetes容器化應(yīng)用的生命周期管理而設(shè)計(jì)的,這里不做重點(diǎn)陳述。

云開發(fā)平臺(tái)力圖透過常見業(yè)務(wù)場景的表象抽象出幾種普適的云端Serverless架構(gòu),在眾多云產(chǎn)品的選擇困難和搭配與架構(gòu)的痛苦抉擇中給予開發(fā)者或企業(yè)些許幫助或啟發(fā)?;谠崎_發(fā)平臺(tái)“生長出來”的產(chǎn)品是Serverless架構(gòu)的,釋放了架構(gòu)師與運(yùn)維人員的生產(chǎn)力,一切架構(gòu)由“云開發(fā)平臺(tái)”來完成,開發(fā)者負(fù)責(zé)端側(cè)與服務(wù)端通用業(yè)務(wù),一切有償資源均按量付費(fèi)。

搬站

搬站就是存量項(xiàng)目遷移到云開發(fā)平臺(tái)上,直接升級(jí)為Serverless架構(gòu)。理想中的搬站是不需要開發(fā)者修改任何代碼就可以直接升級(jí),但現(xiàn)實(shí)往往是殘酷的:由于不同語言有不同的特性及特點(diǎn),因此針對(duì)常見的語言云開發(fā)平臺(tái)在性價(jià)比的權(quán)衡下提供了不同的搬站策略:

  • 基于Serverless框架的零代碼搬站:Nodejs(全框架支持)與Python(同步與異步WSGI均支持)
  • 基于容器的低(零)代碼搬站:Python、Java與PHP

Serverless 框架

Serverless框架是云開發(fā)平臺(tái)抽象的一層抹平不同語言框架、語言運(yùn)行時(shí)底層API(非FC運(yùn)行時(shí))的膩?zhàn)?,擺脫了FC只能運(yùn)行簡單函數(shù)的限制,將復(fù)雜用戶層代碼(非簡單函數(shù))通過代理的形式與FC運(yùn)行時(shí)打通,實(shí)現(xiàn)業(yè)務(wù)側(cè)代碼零改動(dòng)遷移。

基于Serverless框架的項(xiàng)目遷移其實(shí)對(duì)用戶的業(yè)務(wù)進(jìn)程模型有一定要求:

  • 單機(jī)對(duì)應(yīng)單個(gè)業(yè)務(wù)進(jìn)程
  • 無長連接需求
  • 應(yīng)用無狀態(tài)
  • 僅支持七層轉(zhuǎn)發(fā)

采用Serverless框架遷移的項(xiàng)目,僅提供對(duì)HTTP與HTTPS協(xié)議的支持,對(duì)TCP或UDP服務(wù)暫不支持。

基于容器的低代碼搬站

容器是云時(shí)代重要標(biāo)志之一,基于容器統(tǒng)一的交付標(biāo)準(zhǔn),云開發(fā)平臺(tái)支持存量應(yīng)用部署到三種Serverless(FC、SAE、ASK)中的任一計(jì)算服務(wù)當(dāng)中。云開發(fā)平臺(tái)提供基于各種語言基礎(chǔ)鏡像,讓存量應(yīng)用以盡少的修改來完成部署,成為云原生Serverless應(yīng)用。

只需要提供一個(gè)鏡像就可以運(yùn)行在三套不同的架構(gòu)下,在使用云開發(fā)平臺(tái)提供不同語言的鏡像前提下僅需修改相關(guān)前置配置文件即可實(shí)現(xiàn)遷移。

實(shí)時(shí)調(diào)試

針對(duì)Serverless應(yīng)用無法即時(shí)調(diào)試的問題,云開發(fā)平臺(tái)提供了另一種解決方案:Cloud IDE調(diào)試環(huán)境預(yù)置,在開發(fā)態(tài)即可模擬線上運(yùn)行時(shí)。這樣開發(fā)者便可以做到實(shí)時(shí)開發(fā)應(yīng)用、實(shí)時(shí)預(yù)覽、實(shí)時(shí)查閱日志。

若要針對(duì)不同技術(shù)棧提供不同的運(yùn)行時(shí)容器,這需要依賴抽象的通用適配層來解決不同類型request及path處理機(jī)制、模擬“冷啟動(dòng)”環(huán)境初始化、測試域名安全性保證和私密性與超時(shí)策略、APIGW返回兼容處理;需要依賴存儲(chǔ)層實(shí)現(xiàn)運(yùn)行時(shí)容器的熱更新與拉取策略靈活定制;而這一切則是通過操作IDE的workbench擴(kuò)展無感知運(yùn)行的,讓開發(fā)者體驗(yàn)云端測試的便利,爭取更長時(shí)間的云端留存。

云端斷點(diǎn)調(diào)試是云開發(fā)平臺(tái)的另一個(gè)優(yōu)勢。通過attach功能,Cloud IDE可以調(diào)試任意端口的服務(wù),這也正好為調(diào)試運(yùn)行時(shí)所用。通過與調(diào)試運(yùn)行時(shí)打通,可實(shí)時(shí)查看運(yùn)行時(shí)輸出日志與context,獲得與傳統(tǒng)開發(fā)相同的體驗(yàn)。

DevOps 私有化

Serverless的優(yōu)勢在于低運(yùn)維、無運(yùn)維,開發(fā)者使用云開發(fā)平臺(tái)可以從業(yè)務(wù)迭代出發(fā),在多套環(huán)境(測試、預(yù)發(fā)布)驗(yàn)證(壓力、性能、穩(wěn)定性測試)后上線進(jìn)行灰度(百分比),觀測相關(guān)監(jiān)控指標(biāo)與功能性驗(yàn)證后進(jìn)行線上全量部署,而這一切均可以在Cloud IDE中操作完成。當(dāng)業(yè)務(wù)流量有峰值時(shí)底層的FAAS會(huì)進(jìn)行相應(yīng)的擴(kuò)縮容實(shí)現(xiàn)彈性。此后根據(jù)用戶反饋或業(yè)務(wù)迭代進(jìn)行進(jìn)一步開發(fā)。

輕量級(jí)的DevOps帶來了幾個(gè)好處:

  • 更短的業(yè)務(wù)迭代周期:覆蓋應(yīng)用全生命周期的工作流與自動(dòng)化能力將帶來應(yīng)用持續(xù)交付能力以及跨團(tuán)隊(duì)協(xié)同效率的大幅提升,進(jìn)而縮短業(yè)務(wù)的交付周期。
  • 更合理的人力資源分配
  • 更穩(wěn)固的應(yīng)用交付質(zhì)量

輕量級(jí)DevOps自然有它的可取之處,可對(duì)企業(yè)而言卻存在一個(gè)致命的問題,那就是如何兼容已存在的CI/CD流程。企業(yè)不可能立馬摒棄現(xiàn)有的運(yùn)維系統(tǒng)去采用云開發(fā)平臺(tái)提供的部署流。大多數(shù)公司都有自己的開發(fā)工作流程,這包括內(nèi)部代碼托管、團(tuán)隊(duì)協(xié)作、權(quán)限控制與風(fēng)控、公司獨(dú)特的CI/CD,如何低成本的兼容這套原有體系是Serverless應(yīng)用能否“本地化、私有化”,讓企業(yè)和開發(fā)者接受與認(rèn)同的最關(guān)鍵的一點(diǎn)。

云開發(fā)平臺(tái)通過提供一個(gè)本地部署套件以插件的形式嵌入企業(yè)原有的發(fā)布流程中,以低侵入性、高擴(kuò)展性、靈活的兼容性實(shí)現(xiàn)項(xiàng)目快速迭代,在不影響原有開發(fā)流程的前提下做到開發(fā)者無感知。本地部署套件可以讓企業(yè)可以大膽嘗試Serverless架構(gòu)而無需考慮運(yùn)維兼容性的問題,同時(shí)也可根據(jù)云開發(fā)平臺(tái)的OpenAPI自定義工具實(shí)現(xiàn)DevOps的工具化與智能化,南北雙向滿足需求。

云開發(fā)平臺(tái)對(duì)開發(fā)者的形態(tài)進(jìn)行總結(jié),把他們劃分為三個(gè)層級(jí):

  1. 對(duì)于小白、無歷史包袱開發(fā)者,云開發(fā)平臺(tái)提供了一個(gè)從創(chuàng)建、實(shí)現(xiàn)、測試、構(gòu)建、部署全部環(huán)節(jié)的集成研發(fā)環(huán)境,支持一站式在云開發(fā)平臺(tái)上實(shí)現(xiàn)Serverless應(yīng)用。
  2. 對(duì)于有研發(fā)體系的ISV,研發(fā)、測試在本地完成。云開發(fā)平臺(tái)和ISV的分工界面在代碼倉庫Codeup上,云開發(fā)平臺(tái)提供全套CICD功能,開發(fā)者提交代碼到Codeup上后,CICD功能、資源編排都交給云開發(fā)平臺(tái)。
  3. 對(duì)于有研發(fā)體系并且有CI體系的ISV,提供基礎(chǔ)設(shè)施的編排以及CD功能。
  4. 對(duì)于二、三層級(jí),云開發(fā)平臺(tái)通過提供OpenAPI接口,支持ISV進(jìn)行集成,和ISV現(xiàn)有研發(fā)體系無縫融合。

通用行業(yè)解決方案

云開發(fā)平臺(tái)通過行業(yè)場景與解決方案將技術(shù)與商業(yè)進(jìn)行鏈接,通過將各行業(yè)最成功的技術(shù)實(shí)踐案例抽象封裝成一個(gè)個(gè)的行業(yè)場景解決方案,開發(fā)者可以基于云開發(fā)平臺(tái)之上呈現(xiàn)出來的行業(yè)場景解決方案去創(chuàng)建一個(gè)應(yīng)用,極大地加速商業(yè)化效率以及降低前期技術(shù)架構(gòu)領(lǐng)域研究及準(zhǔn)備的綜合成本。

通過常見案例的切入并抽象為通用的場景需求,如天貓精靈應(yīng)用、微信與支付寶小程序營銷、前后端分離應(yīng)用、博客、微服務(wù)等,對(duì)其進(jìn)行解析。云開發(fā)平臺(tái)從兩個(gè)方向進(jìn)行預(yù)處理:

分析和生成一個(gè)基于阿里云產(chǎn)品矩陣構(gòu)成的云原生 Serverless 架構(gòu)

  1. 將依賴的資源做打包上傳
  2. 隨后生成任務(wù),通過 ROS,逐一進(jìn)行生產(chǎn)、創(chuàng)建、安裝,直至一個(gè)行業(yè)應(yīng)用被初始化完成,最后發(fā)布到官方解決方案市場。

通過解決方案的自動(dòng)實(shí)例化處理,我們實(shí)現(xiàn)了云開發(fā)平臺(tái)最為核心的能力:

  • 幫助行業(yè)開發(fā)生態(tài)格式化、規(guī)范化地沉淀經(jīng)驗(yàn);
  • 幫助行業(yè)開發(fā)生態(tài)快速分發(fā)、復(fù)制行業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn);
  • 幫助行業(yè)開發(fā)生態(tài)無縫升級(jí)至云原生Serverless架構(gòu);
  • 幫助阿里云無縫被集成至用戶業(yè)務(wù)之中;

Nodejs解決方案示例:

云上協(xié)同

我們?cè)趯?shí)踐中發(fā)現(xiàn),在線化是一個(gè)新的趨勢。云時(shí)代我們?cè)谔剿饕磺匈Y源上云,當(dāng)然也就包括了代碼上云、云上協(xié)同與開發(fā)。將實(shí)際團(tuán)隊(duì)映射到云端,在云上開發(fā)可以實(shí)現(xiàn)地域、時(shí)間與設(shè)備無關(guān)的全球協(xié)同,而且云上開發(fā)更重要的是可以在云端實(shí)現(xiàn)整個(gè)開發(fā)生命周期的閉環(huán)鏈路,更方便的集成開發(fā)側(cè)的云產(chǎn)品。云上開發(fā)并不意味著放棄了傳統(tǒng)的本地開發(fā),兩者是可以互補(bǔ)的。在本地+云開發(fā)的協(xié)同增強(qiáng)下,既可以在本地靈活自定義開發(fā)環(huán)境快速迭代,也可在云端實(shí)時(shí)調(diào)試部署與共創(chuàng),這也得益于部署運(yùn)維輕量化。

云開發(fā)平臺(tái)對(duì)團(tuán)隊(duì)成員提供四種角色,團(tuán)隊(duì)擁有者、團(tuán)隊(duì)管理員、應(yīng)用管理員和應(yīng)用開發(fā)者,分別對(duì)應(yīng)不同管理、運(yùn)維和開發(fā)權(quán)限。目前有諸多活動(dòng)場景使用了云上協(xié)同功能以及衍生出的“授課-開發(fā)-提交作業(yè)”模型,如阿里云開發(fā)者成長計(jì)劃、部分高校的合作授課、阿里巴巴前端練習(xí)生計(jì)劃等,極大減輕了協(xié)同成本。

最后

從傳統(tǒng)線下研發(fā)模式過渡到云原生時(shí)代,解決云原生集成研發(fā)使用的"最后一公里"問題正是云開發(fā)平臺(tái)的使命。云開發(fā)平臺(tái)將繼續(xù)在系統(tǒng)穩(wěn)定性、云產(chǎn)品架構(gòu)靈活性、代碼易遷移性等方向不斷深耕滿足開發(fā)者訴求,從而聚焦于核心業(yè)務(wù)目標(biāo)無需考慮運(yùn)維與架構(gòu)的繁瑣事務(wù),擁抱“云 + 端”開發(fā)模式。


標(biāo)題名稱:我在阿里云做云開發(fā)平臺(tái)
標(biāo)題來源:http://www.dlmjj.cn/article/dhechhj.html