放翁(文初)的一畝三分地

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            210 隨筆 :: 1 文章 :: 320 評論 :: 0 Trackbacks
           Author:放翁(文初)

          Mail:fangweng@taobao.com

          圍脖:http://t.sina.com.cn/fangweng (多加一個圍脖,也潮一把)


          產(chǎn)品化

                   098月,阿里軟件被多家子公司合并,我主動要求從云公司來到淘寶,因為我還有沒有完成的目標,開放平臺,同時也只有在這里我才會體會到產(chǎn)品化的含義,踏踏實實的在我30歲的時候經(jīng)歷一個產(chǎn)品,而不在存粹的技術(shù)實驗室中打滾。

                   雖然以前和淘寶的同學(xué)一起合作走了大半年,但是進入TOP團隊的時候,其實對整個團隊和技術(shù)格局并不了解,所以從最基礎(chǔ)學(xué)習(xí),給大家打雜解決問題為先。TOP的技術(shù)氛圍要比阿軟好,少了“牛人”(我自己這牛脾氣也希望在這一兩年內(nèi)完全改掉),少了抱怨,大家都有明確的目標“把開放平臺做成大淘寶的基礎(chǔ)平臺”。

                   TOP從我進來之前就有很明確的商業(yè)目標和商業(yè)規(guī)劃,這里不得不提到“黑羽”同學(xué),一個比技術(shù)更懂業(yè)務(wù),比業(yè)務(wù)更懂技術(shù)的產(chǎn)品經(jīng)理。從TOP的發(fā)展方向上來就很明確的解答了我前面提到的幾個問題:為什么要開放,客戶群在哪里,應(yīng)用形態(tài)將會怎么樣?TOPSIP不同在于,它不是一個服務(wù)集成平臺,而是淘寶服務(wù)的開放平臺,開放的服務(wù)都是基于淘寶基礎(chǔ)數(shù)據(jù)和流程,開放的目的就是為了讓淘寶走出自己的“一畝三分地”,由“made in taobao轉(zhuǎn)變成為“power by taobao”。TOP的客戶群如下圖:


                   淘寶越來越大,公司內(nèi)部有很多部門和子公司,之間最有效的合作方式就是通過TOP平臺低耦合的集成淘寶基礎(chǔ)服務(wù)能力。同時,如何將淘寶的能力和電子商務(wù)的能力滲透到傳統(tǒng)行業(yè)的方方面面,如何結(jié)合各種終端來展現(xiàn)給不同層次的用戶,都需要將服務(wù)以不同的方式集成到已有的形態(tài)各異的系統(tǒng)或終端中。但到發(fā)展到今天的情況來看,在普通開發(fā)者這塊的成長是低于預(yù)期的,這類應(yīng)用現(xiàn)在創(chuàng)新力度很低,大部分人都開發(fā)收益較快,投入較少,開發(fā)維護成本較低的淘客類應(yīng)用。國內(nèi)的開發(fā)者真的需要多學(xué)習(xí)國外的一些Mashup的創(chuàng)新精神(也許是國外的API資源豐富),淘客類應(yīng)用,賣家工具,其實這些應(yīng)用飽和程度十分高,同質(zhì)競爭激烈,最后能夠給開發(fā)者帶來的收益當然也很低。

          系統(tǒng)透明化

                   今年我們團隊的定位是服務(wù)化團隊,我們需要去探索新的模式,關(guān)注新的技術(shù)發(fā)展,但是最根本的是要做好當前,服務(wù)好我們的客戶,系統(tǒng)透明化就是服務(wù)化團隊的基礎(chǔ)。系統(tǒng)透明化的作用是什么,拿過去賣跌打膏的一句常說的話:“有病治病,無病防身”(沒有問題的時候知道可能那些地方已經(jīng)處于非正常狀態(tài)或者可以找到一些瓶頸所在,在出了問題,可以迅速防止問題擴大,高效的解決問題)。對于開放平臺來說,服務(wù)可用性和服務(wù)效率其實是最更本的非業(yè)務(wù)性需求,當一次請求2-3秒才會返回,請求10次有4次是不通的,那么后面的服務(wù)就算再吸引人,都很難讓開發(fā)者做出吸引用戶的應(yīng)用。說一下我在做這塊的幾點收獲:

          1.       數(shù)據(jù)為王。最初透明化的工作就是分析每天的訪問日志記錄,得到系統(tǒng)數(shù)據(jù)統(tǒng)計報表和業(yè)務(wù)數(shù)據(jù)統(tǒng)計報表。通過系統(tǒng)數(shù)據(jù)統(tǒng)計報表的結(jié)果來找到系統(tǒng)的瓶頸,通過業(yè)務(wù)數(shù)據(jù)報表來指導(dǎo)業(yè)務(wù)規(guī)劃。例如分析整個服務(wù)安全校驗和路由過程,最消耗時間的就在服務(wù)請求解析上,因此就考慮如何去減少服務(wù)解析帶來的系統(tǒng)消耗:Lazy Parser通過采用流的方式分段解析參數(shù),當發(fā)現(xiàn)系統(tǒng)參數(shù)校驗失敗時將不再繼續(xù)分析整個Http包,減少在錯誤情況下由于載入全部數(shù)據(jù)帶來的損耗。同時參看JettyContinuation的設(shè)計,學(xué)習(xí)在基于事件模式下,如何最小化連接資源分配(復(fù)用資源,帶來的問題就是復(fù)雜度增加)。另一方面,發(fā)現(xiàn)淘客類應(yīng)用對于服務(wù)的請求會反復(fù)調(diào)用多個接口來拼裝成為一個完整信息,因此優(yōu)化了淘客類服務(wù),使得應(yīng)用大幅度減少訪問請求,減少無謂的系統(tǒng)壓力,提高外部應(yīng)用的效率。簡單來說,啥都需要數(shù)據(jù)說話,最怕今天跑過來和我說我們要重構(gòu)和優(yōu)化了,但是又無法說出為什么這就是我們的瓶頸,優(yōu)化完有啥指標可以證明有效。只有在系統(tǒng)透明化以后,數(shù)據(jù)能夠說明一切。優(yōu)化需要從全局去看,而不是局部,并行處理提高了非關(guān)鍵路徑的性能,沒有什么太大的意義。

          2.       按需設(shè)計,抽象分層。在最初的時候,透明化的目標通過一個單機版的報表分析器就可以完成。(一天6千萬條的訪問日志,3個多G的文件,系統(tǒng)報表3-4張,業(yè)務(wù)報表5-6張),逐漸數(shù)據(jù)量不斷膨脹(一天5億左右的訪問日志,8-90G的數(shù)據(jù)文件,系統(tǒng)報表和業(yè)務(wù)報表常規(guī)就有20張,還有不少零時的需求提出),因此演變成為一個多機版的報表分析器,與此同時,每日一次的分析不能滿足對于業(yè)務(wù)系統(tǒng)即時的監(jiān)控和告警,因此多機版的報表分析器,支持非靜態(tài)文本數(shù)據(jù)源的方式,Slave不斷主動從應(yīng)用服務(wù)器端增量獲取日志數(shù)據(jù),演變成為一個即時分析系統(tǒng)。

          但整體結(jié)構(gòu)如下:

                                                         

                                                      

                     整個體系的演進只影響到任務(wù)管理組件和數(shù)據(jù)傳輸組件。在單機版的時候,數(shù)據(jù)傳輸組件不存在,都是多線程之間的任務(wù)分配和數(shù)據(jù)合并。多機版就是增加了數(shù)據(jù)傳輸組件,業(yè)務(wù)性統(tǒng)計規(guī)則引擎都采用已有的抽象設(shè)計。即時分析系統(tǒng)則在任務(wù)管理組件上擴展了數(shù)據(jù)源獲取的方式。

                     首先我并沒有直接去考慮多機版的實現(xiàn),因為我的設(shè)計可以滿足當前的需求:靈活(基于配置在運行期創(chuàng)建規(guī)則分析各種弱數(shù)據(jù)類型的日志),高效(任務(wù)切分,多線程并行計算分析)。最重要的是在短時間內(nèi)給出了一個可用的版本,解決了當務(wù)之急。(很多時候就是要權(quán)衡時間和設(shè)計,不斷的迭代產(chǎn)出階段性成果,才能夠降低風險,不斷提升成熟度,通過反饋指導(dǎo)設(shè)計的方向)。其次,整個演進過程中,業(yè)務(wù)抽象設(shè)計部分一直保持較為穩(wěn)定的狀態(tài),將底層的任務(wù)管理和傳輸不斷的根據(jù)需求去擴展和優(yōu)化。(這其實就是要求在設(shè)計上有分層的思想,業(yè)務(wù)領(lǐng)域的設(shè)計需要與非業(yè)務(wù)性需求分開考慮,便于擴展,同時降低不同層次的耦合度,增加未來多系統(tǒng)復(fù)用的可能性),下圖是當前即時分析的一個簡單的部署圖:

                                                         

          Master的工作很簡單,就列出的4步。Slave是一個純粹的“勞動者”,根據(jù)Master給的任務(wù)去執(zhí)行分析。(任務(wù)中包括了資源的來源描述,可能是靜態(tài)文件系統(tǒng)(ftp,分布式文件系統(tǒng))等,也可能是一些應(yīng)用服務(wù)器。任務(wù)中也包括了分析規(guī)則引擎數(shù)據(jù))

          客戶第一

                   今天在業(yè)務(wù)統(tǒng)計分析中,淘客應(yīng)用占有的比例很高。為什么?開放平臺需要讓開發(fā)者“簡單的賺錢”。“簡單的賺錢”,兩個詞說明一切,投入少,回報高,站在開發(fā)者角度多考慮一些問題才能夠指導(dǎo)ISV去開發(fā)出更多更有價值的應(yīng)用。當前通過API來開發(fā)應(yīng)用成本較高,同時周期也較長,因此針對這些問題,TOP平臺有在業(yè)務(wù)創(chuàng)新上的一系列規(guī)劃,降低應(yīng)用開發(fā)者開發(fā)和維護成本,讓開發(fā)者更多關(guān)注在業(yè)務(wù)創(chuàng)新上,而不是基礎(chǔ)服務(wù)的使用上。如下圖:

                                      

                   從服務(wù)的使用者和服務(wù)的提供者兩方面去提升用戶體驗,在某些時候工具類或者輔助類的服務(wù)并不僅僅是錦上添花,它可能成為產(chǎn)品化成敗的關(guān)鍵點。(細節(jié)決定成敗,老生常談),但是實際中需要去了解和體會用戶的需求,一來自己就去用API開發(fā),二來從業(yè)務(wù)分析數(shù)據(jù)上來分析不同用戶群的行為和趨勢。

          平臺要死,哪里會是致命的一擊

                   幾周以前,整個TOP的技術(shù)和業(yè)務(wù)團隊的部分同學(xué)在西溪濕地開了一個會議。目的是讓大家說出自己工作中的問題和難處,同時為將來的TOP發(fā)展明確方向。其中提到了整個阿里巴巴和淘寶都會找自己失敗的問題所在,因為只有你自己知道了自己在什么情況下會失敗,才會去改進自己的不足,避免走到無可挽回的地步。

                   TOP如果要死,那么什么是它的致命一擊?對我來說,如果每個人心里少了產(chǎn)品化的理念,那么TOP就會失敗。產(chǎn)品化意味著什么,對研發(fā)人員來說,意味著你每一個技術(shù)實現(xiàn)都需要清楚的理解它背后的商業(yè)需求和客戶需求,在PD和運營同學(xué)提出想法的時候需要從一個客戶的角度多考慮易用性,擴展性。(簡單來說,不要做一個“死”寫代碼的,做個臨時演員都要有職業(yè)素養(yǎng),做一個程序員更要有程序員的“修養(yǎng)”)對于一個PD來說,需要協(xié)同技術(shù)團隊做好產(chǎn)品規(guī)劃,用數(shù)據(jù)來指導(dǎo)產(chǎn)品設(shè)計,用技術(shù)提升用戶體驗。(簡單來說,除了多說,更要多聽多看,開發(fā)團隊也有很多同學(xué)對商業(yè)和產(chǎn)品有自己獨到的見解)。對于運營團隊來說,要將用戶的聲音“過濾”并“轉(zhuǎn)化”,讓開發(fā)和PD能夠收取到更多有用的信息。

                   因此,TOP要死,前提是在每個人心里面“TOP”已死,我記得鳳先同學(xué)一直說一句話:“每個人心中都有一個TOP。”當大家心中的“TOP”不死,產(chǎn)品化思想不死,那么TOP就總會有希望,因為TOP就是我們這么一群人不斷奮斗的目標。

          太累了,搞完代碼再寫blog,很多東西可以寫,不過實在吃不消……,有興趣想了解細節(jié)的同學(xué)可以直接和我聯(lián)系。

          順便打個廣告,開放平臺正在招人,不同Level的同學(xué)如果有興趣可以直接Mail給我(fangweng@taobao.com),你需要做基礎(chǔ)性的開發(fā),或者是創(chuàng)新性的設(shè)計,或許想要了解淘寶的整個業(yè)務(wù)體系,都可以在TOP找到你的位置。
          posted on 2010-06-01 02:53 岑文初 閱讀(3288) 評論(4)  編輯  收藏

          評論

          # re: 開放平臺兩三點感悟(下) 2010-06-01 22:16 kalman03
          恩,不錯,9號來淘寶。  回復(fù)  更多評論
            

          # re: 開放平臺兩三點感悟(下) 2010-06-23 09:36 孔夫子
          阿里軟件剛推出平臺的時候我很不看好,現(xiàn)在taobao api我同樣不看好,作為一名開發(fā)者,開放這些沒什么用,老實說有用的你們敢開嗎?我記得我把api都過了一遍,且不說api接口不友好,我不知道那些功能能用來干么,估計淘寶自己都不知道。我建議多去跟客戶溝通溝通,跟開發(fā)者溝通溝通,但本質(zhì)來說,還是對什么是api理解不透徹,這個api淘寶就自個玩吧,先不用考慮高并發(fā),真的,這個api沒多少人用的,時間會證明我的話是對的。要開放要做平臺就要有g(shù)oogle,apple的精神,不過也無所謂了,淘寶反正有的是錢燒  回復(fù)  更多評論
            

          # re: 開放平臺兩三點感悟(下) 2010-06-23 10:36 岑文初
          @孔夫子
          如果你不了解淘寶開放的服務(wù),請去看文檔;如果你覺得需要開放的沒有開放,你可以提需求;如果你有實際的工作成果,請展示;的卻時間可以證明很多事情,同時在評論別人的時候需要更多的拿出建議,而不僅僅是批判,這才是大家需要的氛圍,這年頭沒有不好的技術(shù),只有生搬硬套的誤用。  回復(fù)  更多評論
            

          # re: 開放平臺兩三點感悟(下) 2010-06-23 13:20 孔夫子
          @岑文初
          仁兄還沒悟到taobao api為什么會失敗,這個問題看來還比較嚴重,智者事情還沒做已經(jīng)知道成功了,愚者事情失敗了還不知道到底是為什么,唉,古文原話忘記了,白話說出來味道都沒了?;蛟S你是因為身處其中吧  回復(fù)  更多評論
            


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 开封市| 年辖:市辖区| 莱西市| 邹平县| 长武县| 正蓝旗| 岳西县| 北宁市| SHOW| 灵川县| 西青区| 斗六市| 太保市| 巩义市| 满洲里市| 乐平市| 扶余县| 神池县| 儋州市| 武山县| 咸丰县| 新巴尔虎右旗| 建始县| 宜昌市| 宁河县| 黑龙江省| 措美县| 陈巴尔虎旗| 吕梁市| 南通市| 阜宁县| 连云港市| 吉林省| 鸡东县| 无极县| 策勒县| 博客| 新龙县| 安福县| 永春县| 叶城县|