1、一些數(shù)據(jù)
電商的業(yè)務(wù)復(fù)雜度,可以通過些數(shù)據(jù)來說明。單一個(gè)很明顯的例子,2009年左有,當(dāng)時(shí)商品詳情系統(tǒng)的PV才1億左有,到了2016年已經(jīng)近50億了,翻了50倍。而當(dāng)時(shí)的系統(tǒng)架構(gòu)和現(xiàn)在的架構(gòu)完全不可同日而語。
2.系統(tǒng)規(guī)模的復(fù)雜度
一個(gè)復(fù)雜網(wǎng)站的系統(tǒng)架構(gòu)一般會(huì)經(jīng)歷如下的演變過程。
(1)單系統(tǒng)。早期業(yè)務(wù)簡單,定,每天晚上都需要把系統(tǒng)重新啟動(dòng)下。 單系統(tǒng)階段也可分成兩段:最早是花50 幾臺(tái)機(jī)器就支撐了一個(gè)業(yè)務(wù)系統(tǒng)。剛開始系統(tǒng)不穩(wěn)萬元買的一個(gè)PHP系統(tǒng);隨著業(yè)務(wù)的發(fā)展,系統(tǒng)逐步改造成了Java技術(shù)體系, 名字叫Denali。
(2)分布式業(yè)務(wù)系統(tǒng)。到了2007年,團(tuán)隊(duì)已經(jīng)有了上千人,項(xiàng)目支撐面臨巨大的挑戰(zhàn),系統(tǒng)架構(gòu)必須升級(jí)進(jìn)化。這就開啟了第二個(gè)階段:分布式業(yè)務(wù)系統(tǒng)階段。我們開始做分布式戰(zhàn)略,把原來的單系統(tǒng)拆分成多個(gè)高內(nèi)聚、 低耦合的中心化系統(tǒng)。現(xiàn)在大家耳熟能詳?shù)挠脩糁行摹⑸唐分行摹⒔灰字行摹⒌赇佒行亩际沁@個(gè)階段出現(xiàn)的。這同時(shí)也意味著把上千人的團(tuán)隊(duì)拆分成了業(yè)務(wù)相對(duì)比較集中的小團(tuán)隊(duì)。每個(gè)獨(dú)立的系統(tǒng)可以獨(dú)立設(shè)計(jì)、獨(dú)立接需求、獨(dú)立發(fā)布,整個(gè)研發(fā)效率和系統(tǒng)穩(wěn)定性都上了一個(gè)臺(tái)階。
(3)業(yè)務(wù)平臺(tái)。電商發(fā)展的速度實(shí)在太快了,到了2011年,隨著各種B2C網(wǎng)站、各種導(dǎo)購網(wǎng)站的出現(xiàn),可能會(huì)把一個(gè)大型網(wǎng)站從組織架構(gòu)上拆成幾個(gè)獨(dú)立的事業(yè)部。多個(gè)獨(dú)立事業(yè)部的業(yè)務(wù)決策鏈路更短、業(yè)務(wù)發(fā)展更快,技術(shù)人員也快速增長。事業(yè)部的定位不一樣、業(yè)務(wù)發(fā)展方向不一樣、業(yè)務(wù)的管控規(guī)則不一-樣,甚至在一-些業(yè)務(wù)規(guī)則上 還可能相互沖突。
我們都知道,在做業(yè)務(wù)系統(tǒng)的時(shí)候,為了快速應(yīng)對(duì)每天的業(yè)務(wù)需求變更,很多時(shí)候都是通過代碼來寫業(yè)務(wù)邏輯的,而在業(yè)務(wù)抽象建模,系統(tǒng)架構(gòu)的開放性方面都很不成熟這會(huì)導(dǎo)致業(yè)務(wù)邏輯之間的耦合 和相互影響,大幅降低研發(fā)效率。系統(tǒng)架構(gòu)必須升級(jí),這就開啟了第三個(gè)階段:業(yè)務(wù)中心平臺(tái)化階段。什么是平臺(tái)?就是要把基礎(chǔ)能力和每個(gè)業(yè)務(wù)方的特性業(yè)務(wù)拆分,隔離業(yè)務(wù)和業(yè)務(wù)之間的邏輯。比如說兩個(gè)相似的業(yè)務(wù)方業(yè)務(wù)有可能是沖突的,但他們需要在同一個(gè)平臺(tái)上執(zhí)行,這時(shí)我們必須把業(yè)務(wù)的邏輯分開。這個(gè)階段開始升級(jí)會(huì)員平臺(tái)、商品平臺(tái)、交易平臺(tái)等等。平臺(tái)化最核心要點(diǎn)的是業(yè)務(wù)抽象建模和系統(tǒng)架構(gòu)的開放性:業(yè)務(wù)抽象解決80%的共性問題,系統(tǒng)架構(gòu)開放性解決20%的個(gè)性化問題。
(4)業(yè)務(wù)中臺(tái)。隨著生態(tài)的復(fù)雜度、業(yè)務(wù)的復(fù)雜度、系統(tǒng)復(fù)雜度的升級(jí),又遇到了新的問題。領(lǐng)域的平臺(tái)化雖然解決了領(lǐng)域內(nèi)部的問題,但是每一個(gè)業(yè)務(wù)的執(zhí)行都是跨領(lǐng)域的,涉及會(huì)員、商品、交易、營銷、店鋪、評(píng)價(jià)、支付、物流、售后等等.....一套業(yè)務(wù)邏輯橫跨幾十個(gè)系統(tǒng)。比如一件衣服的商 品發(fā)布規(guī)則、交易規(guī)則和營銷規(guī)則均分散在不同的系統(tǒng)中,而且相互關(guān)聯(lián),時(shí)間一長就沒有人能說清全局了。如果程序員通過翻查代碼還原出所有的邏輯,代價(jià)極大。事態(tài)發(fā)展到后來,我們會(huì)發(fā)現(xiàn)評(píng)估需求的成本可能會(huì)大于實(shí)際開發(fā)的成本,而真正有效的工作占比很少,導(dǎo)致整個(gè)研發(fā)效率和業(yè)務(wù)響應(yīng)速度都比較差。這已經(jīng)不是單純的技術(shù)問題了,而是復(fù)雜生態(tài)的協(xié)作問題。這時(shí),我們開啟了第四個(gè)階段:業(yè)務(wù)中臺(tái)化階段。此階段主要解決信息獲取成本高、互聯(lián)互通成本高、服務(wù)具有不確定性和低水平重復(fù)建設(shè)這四個(gè)問題。
那么,如何來解決這些問題呢,我們可以了解下傳統(tǒng)的建 筑行業(yè)和互聯(lián)網(wǎng)本身的基礎(chǔ)設(shè)施建設(shè),基本上都要靠三樣?xùn)|西來共同解決復(fù)雜生態(tài)的協(xié)作問題:
協(xié)議標(biāo)準(zhǔn)、運(yùn)行機(jī)制。
滿足標(biāo)準(zhǔn)的分布式執(zhí)行單元。
中心化的控制單元。
比如移動(dòng)互聯(lián)網(wǎng),我們現(xiàn)在之所以上網(wǎng)能用手機(jī),它的根本是什么呢?網(wǎng)絡(luò)的協(xié)議,也就是我們對(duì)網(wǎng)絡(luò)的理解,它是基石。在這個(gè)前提下,我們的各種設(shè)備,不管是什么品牌的手機(jī),只要滿足3G協(xié)議、4G協(xié)議,就可以插卡上網(wǎng)。也就是這張SIM卡確定了我們的身份,從運(yùn)營商控制網(wǎng)絡(luò)上獲取了控制信息,它知道我們是誰,能不能上網(wǎng),網(wǎng)絡(luò)速率等等信息。再回頭來看我們的電商生態(tài),就是要根據(jù)我們對(duì)商業(yè)的理解,把一些基礎(chǔ)協(xié)議梳理出來。例如什么是業(yè)務(wù)?什么是業(yè)務(wù)身份?各個(gè)業(yè)務(wù)領(lǐng)域的邊界是什么?每個(gè)領(lǐng)域提供的基礎(chǔ)服務(wù)是什么?領(lǐng)域服務(wù)和領(lǐng)域服務(wù)之間的流程鏈接標(biāo)準(zhǔn)是什么?之后,再在這些思想的指導(dǎo)下建立業(yè)務(wù)平臺(tái)化的實(shí)施標(biāo)準(zhǔn)和業(yè)務(wù)管控標(biāo)準(zhǔn)。因此,電商業(yè)務(wù)中臺(tái)是一套由業(yè)務(wù)能力標(biāo)準(zhǔn)、運(yùn)行機(jī)制、業(yè)務(wù)分析方法論,配置管理和執(zhí)行系統(tǒng)以及運(yùn)營服務(wù)團(tuán)隊(duì)構(gòu)成的體系,能夠給各業(yè)務(wù)方提供快速,低成本創(chuàng)新的能力。
(5)構(gòu)建基礎(chǔ)平臺(tái)。從業(yè)務(wù)開發(fā)角度來看,中臺(tái)主要是為了提升業(yè)務(wù)的開發(fā)效率,此處的開發(fā)效率主要是指個(gè)人協(xié)作的效率。如果換成從機(jī)器維護(hù)的角度來看分工協(xié)作,那么技術(shù)要解決的無非就是數(shù)據(jù)、算法和計(jì)算三方面的問題。
數(shù)據(jù)。哪些數(shù)據(jù)有效,哪些數(shù)據(jù)重復(fù),數(shù)據(jù)該放在哪個(gè)數(shù)據(jù)中心;
計(jì)算資源如何利用。平時(shí)大部分機(jī)器的負(fù)載都比較低,如何有效利用這個(gè)計(jì)算資源,在高峰和低谷都能充分發(fā)揮它的作用;,計(jì)算和數(shù)限的協(xié)作。計(jì)算和數(shù)據(jù)是香放在一 起?如果不放在一起,遷移數(shù)據(jù)就要考慮帶寬問題,會(huì)增加新的成本變量;,計(jì)算性價(jià)比的評(píng)估,依賴于算法。
數(shù)據(jù)、計(jì)算資源和好算法才能構(gòu)建出優(yōu)秀的基礎(chǔ)設(shè)施,在此基礎(chǔ)上才能給上層業(yè)務(wù)提供更好、更穩(wěn)定的基礎(chǔ),所以搭建高效的基礎(chǔ)平臺(tái)是非常重要的。
3.組織管理的復(fù)雜度
其實(shí)復(fù)雜的問題都不是技術(shù)上的,往往是人和組織上的,所以如何提升人和組織的效能就比較關(guān)鍵了。
(1)呼喚全能工程師。在幾十個(gè)人維護(hù)一個(gè)單系統(tǒng)的情況下,決定效率的就是這幾十名工程師的技能水平,每個(gè)人的效率往往就決定了整體的效率。這種情況下Superman能發(fā)揮很大的作用。
(2)呼喚系統(tǒng)架構(gòu)師。當(dāng)一個(gè)團(tuán)隊(duì)達(dá)到上千人時(shí),單系統(tǒng)肯定搞不定了,必須要構(gòu)建分布式系統(tǒng)了,工程師必須要分工了。這個(gè)階段最容易從業(yè)務(wù)開發(fā)團(tuán)隊(duì)中誕生中間件團(tuán)隊(duì),他們專「]解決系統(tǒng)之間的連接問題。這個(gè)時(shí)期也會(huì)誕生一批能力比較強(qiáng)的系統(tǒng)架構(gòu)師,他們決定系統(tǒng)該如何設(shè)計(jì)以保持高可用、高性能和高擴(kuò)展性。從組織建設(shè)上,整個(gè)團(tuán)隊(duì)會(huì)按照技術(shù)分工的維度進(jìn)行細(xì)化拆分,如:
產(chǎn)生架構(gòu)團(tuán)隊(duì)即系統(tǒng)架構(gòu)師,對(duì)整體的系統(tǒng)架構(gòu)進(jìn)行規(guī)劃, 保障總體設(shè)計(jì)的高可用、高性能和高擴(kuò)展性;
產(chǎn)生業(yè)務(wù)開發(fā)團(tuán)隊(duì)即業(yè)務(wù)開發(fā)工程師,專注實(shí)現(xiàn)業(yè)務(wù)邏輯的開發(fā);
產(chǎn)生中間件團(tuán)隊(duì),專注開發(fā)和維護(hù)系統(tǒng)中一些通用技術(shù)組件,為業(yè)務(wù)開發(fā)提供支持,提升開發(fā)效率;
產(chǎn)生UED團(tuán)隊(duì),解決界面交互問題;。產(chǎn)生測試團(tuán)隊(duì),保障開發(fā)的可用性問題。
(3)業(yè)務(wù)平臺(tái)團(tuán)隊(duì)誕生。當(dāng)團(tuán)隊(duì)達(dá)到幾千人時(shí),光靠技術(shù)角色分T已經(jīng)無法解決問題時(shí),就必須開始平臺(tái)化建設(shè),也就是業(yè)務(wù)架構(gòu)師要發(fā)揮作用的時(shí)候了。公司的每個(gè)業(yè)務(wù)領(lǐng)域必須進(jìn)行平臺(tái)化建設(shè),如電商業(yè)務(wù)中進(jìn)行商品平臺(tái)、交易平臺(tái)、營銷平臺(tái)、會(huì)員平臺(tái)的拆分。這些拆分后的平臺(tái)再為上層業(yè)務(wù)提供基礎(chǔ)的服務(wù),便于上層業(yè)務(wù)進(jìn)行更多元化的組合。在這個(gè)階段組建業(yè)務(wù)平臺(tái)團(tuán)隊(duì)是最合適不過的了,這樣可以解決公共基礎(chǔ)業(yè)務(wù)的集中管控問題,避免基礎(chǔ)服務(wù)的重復(fù)和無序建設(shè)。
(4)業(yè)務(wù)中臺(tái)組織誕生。當(dāng)公司規(guī)模達(dá)到幾萬人時(shí),一般公司都會(huì)采取多個(gè)垂直化事業(yè)部的組織形式,每個(gè)事業(yè)部-般都是全編制的技術(shù)團(tuán)隊(duì),這其實(shí)也是重復(fù)造輪子最嚴(yán)重的時(shí)期。但是,一些基礎(chǔ)的業(yè)務(wù)能基于業(yè)務(wù)平臺(tái)中的service構(gòu)建業(yè)務(wù)嗎?其實(shí)也很難!因?yàn)槿藛T一旦增多,再靠人與人之間的信息傳遞已經(jīng)不可能有效運(yùn)轉(zhuǎn)了。例如你甚至很難知道公司當(dāng)前到底提供哪些服務(wù)了,因?yàn)槿绻麤]有機(jī)制保障服務(wù)的注冊(cè)和發(fā)現(xiàn)的話,它的獲取成本會(huì)非常之高。此階段影響效率的主要就是信息獲取成本、互聯(lián)互通成本和違約成本。
當(dāng)公司達(dá)到上萬人甚至幾萬人規(guī)模時(shí),必然存在以下兩種情況。后中管第一,沒有一個(gè)平臺(tái)型的業(yè)務(wù)部門,例如公共業(yè)務(wù)平臺(tái)、中間件、基礎(chǔ)技術(shù)平臺(tái)。在這種情況下,各垂直業(yè)務(wù)部必然會(huì)建設(shè)各自的平臺(tái),產(chǎn)生大量重復(fù)建設(shè),導(dǎo)致某些技術(shù)基礎(chǔ)設(shè)施和業(yè)務(wù)基礎(chǔ)服務(wù)不統(tǒng)一,甚至公司的技術(shù)棧都不一致,嚴(yán)重影響公司的效率和長遠(yuǎn)發(fā)展。
第二,有一個(gè)平臺(tái)型的業(yè)務(wù)部門,但是也會(huì)出現(xiàn)各種問題。
不知道誰有什么樣的服務(wù)能力、由誰提供支持、服務(wù)質(zhì)量如何,團(tuán)隊(duì)信用度如何;
找到了有能力的團(tuán)隊(duì),但BU目標(biāo)不一致,不一定會(huì)獲得支持;
溝通不暢、對(duì)同一個(gè)名稱的理解各異(“多國語言”),需要“翻譯”;支持的質(zhì)量與個(gè)體能力有差異,具有不確定性;
系統(tǒng)間協(xié)同難:同一個(gè)需求需要在多個(gè)系統(tǒng)中實(shí)現(xiàn),相互連接需要定制,導(dǎo)致成本高;
后續(xù)支持不可控:開始支持,后續(xù)不支持了,沒有顯性違約成本;。支持方即便做得好也沒有可度量的標(biāo)準(zhǔn),缺乏長遠(yuǎn)的動(dòng)力。
顯然第種情況我們是不提倡的, 無法持續(xù)發(fā)展;但是第種情況也會(huì)存在各種問題,這些問題也正是構(gòu)建深圳網(wǎng)站建設(shè)業(yè)務(wù)中臺(tái)需要解決的問題。
本文地址:http://knowyourextract.com//article/4464.html