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