鄭昀 建立於2016/3/30 最後更新於2016/4/8 html
關鍵詞:技術預研課題,平臺設計,應用場景,故事,信息架構,業務流程,數據流程 redis
本文檔適用人員:全體研發 算法
提綱: 數據庫
如何從零開始搭建一個技術平臺? 緩存
應用場景其實就是咱們的願景 服務器
從應用場景推導出故事 微信
從故事推導出信息架構和業務流程 架構
一,如何從零開始? 運維
若是讓你把下面這套技術體系串聯起來,從零開始構建一個技術平臺,你如何作需求分析呢,在沒有產品經理幫助你梳理的狀況下? 異步
下面這些系統涵蓋了咱們研發測試運維平常工做的方方面面:
idCenter:它定義用戶、用戶組、權限。研發測試都有了惟一的身份和權限集合,貫穿全部系統。
iDB:數據庫自動化運維繫統能把數據庫建賬號、授予權限、建表、改表結構、刷庫這些平常操做都變成流程,DBA審覈經過後就能夠自動執行,以及自動回滾。
Touchstone:容器私有云的管理控制檯,管理鏡像庫、應用、容器、主機等。平常發佈就在這裏作。
JobCenter:定時任務調度和管理。
Summoner:大型計算任務的調度和管理。雲縱佣金計算就是在這上面跑的。
Notify:異步消息可靠推送。全部的異步消息都走這個中間件。
Discache:管理memcached和redis。
OAP:運維自動化系統。主要是資產管理、資源管理和發佈。
Secret:天機和鷹眼。數據庫、Java、PHP、業務指標,監控報警都作進來了。
你就是一個說故事的人,爲了保證你們對故事的理解沒有誤差,因此你們『都但願你說得具體點兒(User Story),把故事落實在產品的需求點(Product Backlog),而後在這些需求點裏面排出優先級(Sprint Backlog),而後排出版本(Version),這樣兄弟們作開發和不斷燃燒(Burn Up)』。[注1]
即,
/*
先有場景, \
再有故事, \
經過故事拆解出信息架構,即菜單結構和功能點, \
最後納入某個版本, \
在全部的故事、功能點和版本都肯定以後,咱們就進入不斷的排序優先級和循環的過程。
*/
二,何謂應用場景?
你們也許會注意到,當我發起技術預研課題時,我一般都會給出我想象中的、心目中這個課題的願景,以一個目標用戶是如何使用這個平臺的應用場景的方式。
譬如說:
本地生活服務商戶「魔鏡」計劃
|
這就是願景和場景。
咱們對於上游業務部門流轉過來的需求,也必須熟練運用下面這種逆推能力:
先構造出合乎邏輯的多種應用場景,而後回頭審視本身的概念設計、功能設計、信息架構設計是否正確。若是你的表結構等設計不符合這些應用場景,一定是你的設計不對。
WHY?
不合邏輯,必有問題。
再舉一個應用場景例子:
預研課題:CloudEngine |
場景CE-main-004:服務器申請 |
服務器申請的步驟有:
使用者:研發經理,配管,SA 目的:既能在環境初始化時解決 stable 環境的發佈,也能在環境就緒以後新建臨時應用時的服務器申請和發佈。 |
有了應用場景,就能夠針對不一樣的用戶設計故事。
三,從應用場景推導出故事
順着場景展開,就能夠獲得一個又一個的故事。
譬如說,對於上面的場景,咱們能夠針對用戶「研發經理小丁」來設計 User Story,咱們看到了什麼,操做了什麼,又獲得了什麼結果:
對應的場景:場景CE-main-001,登記和維護應用 |
||||||||
用戶:研發經理小丁 故事CE-main-001-story-01:
|
||||||||
越細越好,越有助於設計頁面,理解系統須要提供哪些接口和數據。
四,從故事推導出信息架構和業務流程
順着故事,咱們能夠假想出人們是怎麼抵達這些故事的。與此同時,即便是同一個應用場景,也會有多種進入途徑。
譬如說,小丁同窗既能夠在首頁的工做臺上進入應用維護功能,也能夠在二級菜單上找到對應的入口。以下圖所示:
經過上圖,咱們能夠整理出信息架構:
首頁(工做臺):應用快捷入口,環境快捷入口,……
應用管理-應用列表(建立應用、編輯應用)
環境管理-環境列表(公共配置查看、公共配置編輯)
故事越寫越多,進入途徑梳理清楚以後,咱們就能總結出須要哪些 Dashboard、一級菜單、二級菜單,進一步還能整理出業務流轉流程。
以上這種思考問題和推演方法,有助於咱們從零開始,一點點切入平臺,而不是像下面這樣「拍腦殼」地逆向設計:
先構想一級菜單和二級菜單
再構想菜單點擊以後須要實現的功能點
最後在作頁面組織
咱們的技術預研課題通常都圍繞着這四個核心概念:
資源
數據
流程
操做
開始構建一個體系。
咱們順着 場景——>故事——>信息架構——>業務流程——>版本——>功能點,就能夠把咱們所掌握的資源(虛擬機集羣、Docker集羣、物理機、……),外界採集的數據(組織架構、員工信息、有效門店、交易……),業務流轉的流程,各個部門的操做,順利地結合起來。
注1:
這段『User Story-Product Backlog-Sprint Backlog-Version-Burn Up』的文字出自於《產品的視角:從熱鬧到門道》(百度產品架構師魯克著)。
延伸閱讀:
技術平臺方案集:
#研發解決方案#分佈式並行計算調度和管理系統Summoner
#研發解決方案#基於Apriori算法的Nginx+Lua+ELK異常流量攔截方案
#研發解決方案介紹#基於StatsD+Graphite的智能監控解決方案
#數據技術選型#即席查詢Shib+Presto,集羣任務調度HUE+Oozie
-EOF-