aPaaS設(shè)計(jì)思考

一蟋字、概述

本文基于團(tuán)隊(duì)在開發(fā)aPaas過程中的討論及實(shí)踐經(jīng)驗(yàn)以及對網(wǎng)上相關(guān)aPaaS資料的學(xué)習(xí),總結(jié)整理而成扭勉,著重介紹有關(guān)aPaaS平臺(tái)設(shè)計(jì)方面的一些思考鹊奖。

??根據(jù)Gartner的定義,aPaaS是基于PaaS的一種解決方案涂炎,支持應(yīng)用程序在云端的開發(fā)忠聚、部署和運(yùn)行,提供軟件開發(fā)中的基礎(chǔ)工具給用戶唱捣,包括數(shù)據(jù)對象两蟀、權(quán)限管理、用戶界面等震缭。

??簡而言之赂毯,aPaaS是讓用戶能自己開發(fā)應(yīng)用程序的一個(gè)服務(wù)平臺(tái),其目的是為了提高應(yīng)用研發(fā)的交付效率。關(guān)于aPaaS是否真能提高交付效率網(wǎng)上其實(shí)是有爭議的党涕,但本文旗幟鮮明地持肯定意見活烙,這源于我對軟件工程及aPaaS的下述幾個(gè)基本理念。

  1. 效率因素:軟件工程領(lǐng)域的效率提升源于技術(shù)變革和分工細(xì)化兩個(gè)方面遣鼓。
  2. 本質(zhì)變化:aPaaS本質(zhì)上是一種新的開發(fā)方法啸盏,而不是一種新技術(shù),帶來的是分工的細(xì)化而不是技術(shù)的變革骑祟。
  3. 力量來源:aPaaS開發(fā)應(yīng)用的方式極大利用了軟件專業(yè)領(lǐng)域的技術(shù)積累和非專業(yè)人士關(guān)于軟件的知識(shí)沉淀回懦。

二、模型設(shè)計(jì)

??模型是表達(dá)設(shè)計(jì)構(gòu)思的好工具次企,在開始設(shè)計(jì)aPaaS平臺(tái)前怯晕,我們首先對要建設(shè)一個(gè)什么樣的aPaaS要有一個(gè)統(tǒng)一的認(rèn)知,這個(gè)認(rèn)知建立在一些基本的概念之上缸棵,可以稱之為概念模型舟茶。概念模型可以看做是設(shè)計(jì)草圖或設(shè)計(jì)大綱,是對我們腦海中想象的設(shè)計(jì)對象的最粗略描述堵第,是設(shè)計(jì)者吧凉、實(shí)現(xiàn)者、使用者所達(dá)成的第一份共識(shí)踏志。
注意阀捅,本文中的“概念模型”一詞有別于數(shù)據(jù)庫設(shè)計(jì)領(lǐng)域中所說的概念模型。

概念模型

aPaaS概念模型.png

??清晰明確的概念模型及對概念的解釋是后續(xù)設(shè)計(jì)的基礎(chǔ)针余,也是在團(tuán)隊(duì)協(xié)作中保障概念完整性的必要手段饲鄙。下面是我對模型中涉及的aPaaS相關(guān)概念的理解:

  1. aPaaS平臺(tái)

平臺(tái)是一個(gè)系統(tǒng),由一系列工具和服務(wù)組成圆雁。aPaaS平臺(tái)包含了創(chuàng)建應(yīng)用的工具忍级、支撐aPaaS應(yīng)用運(yùn)行的服務(wù)及底層數(shù)據(jù)存儲(chǔ)、網(wǎng)絡(luò)伪朽、硬件等基礎(chǔ)設(shè)施轴咱。

  1. 應(yīng)用(App)

應(yīng)用的全稱是應(yīng)用程序,在aPaaS平臺(tái)上創(chuàng)建出來的應(yīng)用程序驱负,其運(yùn)行依賴于aPaaS平臺(tái)提供的服務(wù)嗦玖,應(yīng)用可分為普通應(yīng)用和SaaS應(yīng)用。

  1. 租戶

租戶是指租賃使用一個(gè)系統(tǒng)或平臺(tái)的用戶跃脊,租戶通常是一個(gè)機(jī)構(gòu)宇挫。在aPaaS上,租戶可自建應(yīng)用酪术,也可以選用服務(wù)供應(yīng)商創(chuàng)建的應(yīng)用器瘪,不同租戶的應(yīng)用和數(shù)據(jù)應(yīng)彼此隔離翠储。

  1. 服務(wù)供應(yīng)商(Service Provider,SP)

服務(wù)供應(yīng)商指專門開發(fā)應(yīng)用給aPaaS租戶使用的特殊機(jī)構(gòu)橡疼,SP開發(fā)的應(yīng)用一般為SaaS類應(yīng)用援所,對應(yīng)的租戶自建的應(yīng)用可稱之為普通應(yīng)用或私有應(yīng)用。

  1. SaaS應(yīng)用

SaaS應(yīng)用指一個(gè)SaaS系統(tǒng)欣除,一個(gè)SaaS應(yīng)用可以給不同的租戶使用住拭。

  1. 應(yīng)用池

應(yīng)用池是指所有應(yīng)用的集合,包含普通應(yīng)用和SaaS應(yīng)用历帚,應(yīng)用池由aPaaS平臺(tái)統(tǒng)一管理滔岳。

三、架構(gòu)設(shè)計(jì)

??架構(gòu)設(shè)計(jì)的目標(biāo)是為系統(tǒng)提供一個(gè)藍(lán)圖挽牢,用于指導(dǎo)后續(xù)的詳細(xì)設(shè)計(jì)和實(shí)現(xiàn)開發(fā)等各方面工作谱煤。一個(gè)完整詳實(shí)的架構(gòu)應(yīng)該從多方面視角進(jìn)行描述,常用的方法有4+1視圖禽拔、五視圖法等刘离。然而實(shí)際工作中大家往往只用一張圖來表達(dá)架構(gòu),其側(cè)重點(diǎn)也因人而異睹栖,并沒有事實(shí)上的統(tǒng)一標(biāo)準(zhǔn)硫惕。
??本文我用邏輯架構(gòu)和系統(tǒng)架構(gòu)兩張圖來表達(dá)對aPaaS架構(gòu)的設(shè)計(jì)構(gòu)思。

(一)邏輯架構(gòu)

??邏輯架構(gòu)更多面向用戶和產(chǎn)品人員磨淌,主要從功能職責(zé)的角度對系統(tǒng)進(jìn)行模塊化設(shè)計(jì)疲憋,并闡述各模塊之間的邏輯關(guān)系凿渊。


aPaaS邏輯架構(gòu).png

邏輯模塊說明

  1. 平臺(tái)門戶

這是用戶了解并接觸aPaaS平臺(tái)的入口梁只,是平臺(tái)對外的門戶網(wǎng)站。用戶在未登錄狀態(tài)下應(yīng)該可以看到到平臺(tái)的能力介紹埃脏、應(yīng)用市場搪锣、幫助文檔等內(nèi)容。

  1. 應(yīng)用搭建環(huán)境

這是用戶基于aPaaS平臺(tái)搭建應(yīng)用的集成開發(fā)環(huán)境(IDE)彩掐,通常實(shí)現(xiàn)為一個(gè)基于Web的拖拽式的設(shè)計(jì)器构舟。用戶在這里設(shè)計(jì)應(yīng)用的頁面、數(shù)據(jù)模型堵幽,預(yù)覽設(shè)計(jì)結(jié)果狗超,最終打包發(fā)布,便完成了應(yīng)用的搭建朴下。

  1. 租戶/SP管理后臺(tái)

這是租戶或SP對其在平臺(tái)上資源和信息進(jìn)行管理的后臺(tái)努咐,例如查看、啟用殴胧、禁用創(chuàng)建的應(yīng)用渗稍,管理應(yīng)用的用戶佩迟、數(shù)據(jù)、權(quán)限竿屹,編輯查看租戶的注冊信息等报强。

  1. 運(yùn)營管理后臺(tái)

這是平臺(tái)的運(yùn)營或管理人員對平臺(tái)本身進(jìn)行管理的后臺(tái),例如管理租戶拱燃、應(yīng)用秉溉、IDE、服務(wù)器資源等碗誉。

  1. 身份服務(wù)

身份服務(wù)負(fù)責(zé)平臺(tái)的注冊登錄坚嗜、角色權(quán)限管理、租戶的組織人員信息維護(hù)等诗充。身份服務(wù)可以實(shí)現(xiàn)為IAM或IDaaS苍蔬,它是構(gòu)成aPaaS平臺(tái)的基礎(chǔ)部件。

  1. 應(yīng)用運(yùn)行環(huán)境

這是支撐aPaaS應(yīng)用運(yùn)行的一組服務(wù)蝴蜓,如負(fù)責(zé)繪制應(yīng)用界面的渲染引擎碟绑、保障應(yīng)用流程正確執(zhí)行的流程引擎、以及對應(yīng)用運(yùn)行進(jìn)行監(jiān)控管理的監(jiān)控和日志模塊等茎匠。

  1. 應(yīng)用服務(wù)

這是用于管理應(yīng)用元數(shù)據(jù)的一組服務(wù)格仲,如查看或修改應(yīng)用的基本信息、配置信息诵冒,按條件獲取應(yīng)用或應(yīng)用模板等凯肋。模塊1~4中應(yīng)該相關(guān)的功能將依賴此服務(wù)。

  1. 數(shù)據(jù)服務(wù)

這是一組負(fù)責(zé)平臺(tái)所有數(shù)據(jù)的讀寫汽馋、搜索侮东、或分析的服務(wù)。

  1. 權(quán)益服務(wù)

這是有關(guān)租戶付費(fèi)權(quán)益的服務(wù)豹芯,負(fù)責(zé)平臺(tái)付費(fèi)功能的開通悄雅、關(guān)閉、計(jì)費(fèi)等铁蹈。

(二)系統(tǒng)架構(gòu)

??系統(tǒng)架構(gòu)面向開發(fā)和測試人員宽闲,主要從技術(shù)角度對系統(tǒng)水平和垂直拆分,描述組成系統(tǒng)的前端程序握牧、后臺(tái)服務(wù)容诬、子系統(tǒng)、中間件等之間的關(guān)聯(lián)依賴關(guān)系沿腰。


aPaaS系統(tǒng)架構(gòu).png

系統(tǒng)模塊說明

  1. 應(yīng)用層

應(yīng)用層細(xì)分為前端览徒、網(wǎng)關(guān)和API三層,前端通常是基于Web技術(shù)實(shí)現(xiàn)運(yùn)行于瀏覽器中矫俺,因此本層也可以稱之為Web層吱殉。但也可以基于小程序掸冤、移動(dòng)端等技術(shù)實(shí)現(xiàn)前端層。前端的模塊主要按產(chǎn)品功能劃分友雳,其中的組件稿湿、模塊可能不止一個(gè),X前端代表其他前端模塊押赊。

  1. 服務(wù)層

服務(wù)層是負(fù)責(zé)業(yè)務(wù)處理的一層饺藤,按業(yè)務(wù)功能進(jìn)行模塊劃分,各模塊不應(yīng)定與API層一一對應(yīng)流礁,一個(gè)API模塊按需可以依賴多個(gè)服務(wù)涕俗。

  1. 數(shù)據(jù)層

數(shù)據(jù)層是存儲(chǔ)數(shù)據(jù)的一層,分為在線數(shù)據(jù)和離線數(shù)據(jù)神帅。

  1. PaaS層

PaaS層通常是一個(gè)云計(jì)算平臺(tái)再姑,包含了數(shù)據(jù)庫、操作系統(tǒng)找御、虛擬化元镀、網(wǎng)絡(luò)代理等一系列基礎(chǔ)設(shè)施。

四霎桅、實(shí)現(xiàn)設(shè)計(jì)

??實(shí)現(xiàn)設(shè)計(jì)是對架構(gòu)的實(shí)現(xiàn)方案和實(shí)現(xiàn)過程的設(shè)計(jì)栖疑。實(shí)現(xiàn)方案要根據(jù)團(tuán)隊(duì)現(xiàn)狀、企業(yè)基礎(chǔ)設(shè)施滔驶、項(xiàng)目工期遇革、未來規(guī)劃等約束條件進(jìn)行技術(shù)選型,確定技術(shù)實(shí)現(xiàn)方案揭糕、輸出系統(tǒng)的技術(shù)架構(gòu)萝快。實(shí)現(xiàn)過程是要對架構(gòu)中的模塊進(jìn)行優(yōu)先級(jí)排序,制定架構(gòu)實(shí)現(xiàn)的里程碑插佛,有時(shí)甚至要對部分模塊進(jìn)行過渡方案的設(shè)計(jì)杠巡,因?yàn)槿魏蜗到y(tǒng)的實(shí)現(xiàn)都不是一撮而就的,架構(gòu)的落地應(yīng)該是一個(gè)逐步滿足產(chǎn)品需求的循序漸進(jìn)的過程雇寇。
??基于上述原因,本文暫不提供具體的實(shí)現(xiàn)設(shè)計(jì)蚌铜,但分享幾個(gè)在實(shí)現(xiàn)系統(tǒng)架構(gòu)時(shí)的注意事項(xiàng)锨侯。

(一)概念完整性

??概念完整性有時(shí)也稱作概念一致性,指的是在概念的傳遞過程中確保概念不被曲解冬殃、所有人都對同一概念有相同的理解囚痴。可以類比數(shù)據(jù)安全三要素之一的數(shù)據(jù)完整性來理解审葬。在系統(tǒng)設(shè)計(jì)的任一階段深滚,都會(huì)引入很多概念奕谭,概念完整性是確保設(shè)計(jì)被準(zhǔn)確實(shí)現(xiàn)的重要基礎(chǔ)。

(二)康威定律

??康威定律是馬爾文康威1967提出的:“設(shè)計(jì)系統(tǒng)的架構(gòu)受制于產(chǎn)生這些設(shè)計(jì)的組織的溝通結(jié)構(gòu)痴荐⊙” 簡單來說就是,有什么樣人員組織結(jié)構(gòu)就會(huì)設(shè)計(jì)出什么樣的系統(tǒng)架構(gòu)生兆。后來康威定律逐漸演變?yōu)樗膫€(gè)定律:

  1. 第一定律 組織溝通方式會(huì)通過系統(tǒng)設(shè)計(jì)表達(dá)出來难捌。
  2. 第二定律 時(shí)間再多一件事情也不可能做的完美,但總有時(shí)間做完一件事情鸦难。
  3. 第三定律 線型系統(tǒng)和線型組織架構(gòu)間有潛在的異質(zhì)同態(tài)特性根吁。
  4. 第四定律 大的系統(tǒng)組織總是比小系統(tǒng)更傾向于分解。

(三)演化原則

??有句話叫“好的架構(gòu)是進(jìn)化出來的合蔽,不是設(shè)計(jì)出來的”击敌。雖然本文給出的設(shè)計(jì)更多是基于理性模型,但這不代表我認(rèn)可設(shè)計(jì)中的理性主義拴事。設(shè)計(jì)中的理性主義者認(rèn)為良好的教育愚争、成熟的經(jīng)驗(yàn)和足夠細(xì)致的思考能讓設(shè)計(jì)者創(chuàng)造出完美的作品。與之相對的挤聘,設(shè)計(jì)的實(shí)證主義者則認(rèn)為轰枝,人都優(yōu)缺點(diǎn)、總是會(huì)犯錯(cuò)的组去,因此設(shè)計(jì)工作就應(yīng)該是一個(gè)在實(shí)踐中不斷找尋缺陷并在下一次迭代中改進(jìn)提升的過程鞍陨。相信大部分人都會(huì)選擇實(shí)證主義的吧。

參考資料

  1. 產(chǎn)品領(lǐng)域的元宇宙:aPaaS產(chǎn)品解構(gòu)
    http://www.woshipm.com/pd/5224337.html
  2. 一文講透APaaS平臺(tái)是什么
    https://blog.mingdao.com/11411.html
  3. 騰訊ToB从隆,“千帆計(jì)劃”進(jìn)化
    https://www.leiphone.com/category/CorporateServices/iuLnjB7Qgnt4FcOu.html
  4. 什么是IDaaS
    https://help.aliyun.com/document_detail/408885.html
  5. 阿里低代碼引擎和生態(tài)建設(shè)實(shí)戰(zhàn)及思考
    https://mp.weixin.qq.com/s/MI6MrUKKydtnSdO4xq6jwA
  6. 《設(shè)計(jì)原本》(圖靈獎(jiǎng)得主诚撵、《人月神話》作者經(jīng)典著作)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市键闺,隨后出現(xiàn)的幾起案子寿烟,更是在濱河造成了極大的恐慌,老刑警劉巖辛燥,帶你破解...
    沈念sama閱讀 212,542評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件筛武,死亡現(xiàn)場離奇詭異,居然都是意外死亡挎塌,警方通過查閱死者的電腦和手機(jī)徘六,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來榴都,“玉大人待锈,你說我怎么就攤上這事∽旄撸” “怎么了竿音?”我有些...
    開封第一講書人閱讀 158,021評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵和屎,是天一觀的道長。 經(jīng)常有香客問我春瞬,道長柴信,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,682評(píng)論 1 284
  • 正文 為了忘掉前任快鱼,我火速辦了婚禮颠印,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘抹竹。我一直安慰自己线罕,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評(píng)論 6 386
  • 文/花漫 我一把揭開白布窃判。 她就那樣靜靜地躺著钞楼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪袄琳。 梳的紋絲不亂的頭發(fā)上询件,一...
    開封第一講書人閱讀 49,985評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音唆樊,去河邊找鬼宛琅。 笑死,一個(gè)胖子當(dāng)著我的面吹牛逗旁,可吹牛的內(nèi)容都是我干的嘿辟。 我是一名探鬼主播,決...
    沈念sama閱讀 39,107評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼片效,長吁一口氣:“原來是場噩夢啊……” “哼红伦!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起淀衣,我...
    開封第一講書人閱讀 37,845評(píng)論 0 268
  • 序言:老撾萬榮一對情侶失蹤昙读,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后膨桥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蛮浑,經(jīng)...
    沈念sama閱讀 44,299評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評(píng)論 2 327
  • 正文 我和宋清朗相戀三年国撵,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了陵吸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,747評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡介牙,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出澳厢,到底是詐尸還是另有隱情环础,我是刑警寧澤囚似,帶...
    沈念sama閱讀 34,441評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站线得,受9級(jí)特大地震影響饶唤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜贯钩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評(píng)論 3 317
  • 文/蒙蒙 一募狂、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧角雷,春花似錦祸穷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至吗坚,卻和暖如春祈远,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背商源。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評(píng)論 1 267
  • 我被黑心中介騙來泰國打工车份, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人牡彻。 一個(gè)月前我還...
    沈念sama閱讀 46,545評(píng)論 2 362
  • 正文 我出身青樓扫沼,卻偏偏與公主長得像,于是被迫代替她去往敵國和親讨便。 傳聞我的和親對象是個(gè)殘疾皇子充甚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評(píng)論 2 350