鄒雪
隨著軟件行業(yè)的蓬勃發(fā)展,構(gòu)架師的角色越來(lái)越重要,眾多軟件公司急需優(yōu)質(zhì)的架構(gòu)師,尤其在大型軟件產(chǎn)品和項(xiàng)目的研發(fā)中,架構(gòu)師的作用極為明顯,由于缺乏優(yōu)秀的架構(gòu)師導(dǎo)致項(xiàng)目開發(fā)失敗的例子數(shù)不勝數(shù)。成為一名優(yōu)秀的架構(gòu)師是對(duì)軟件開發(fā)人員能力的最大肯定,也是每個(gè)軟件技術(shù)人員努力追求的目標(biāo)。然而,能夠勝任架構(gòu)師的工作并非易事,他們絕不僅僅擁有寫代碼的能力,更需要豐富的從業(yè)經(jīng)驗(yàn)和扎實(shí)的軟件技術(shù)功底。如何才能進(jìn)化為優(yōu)秀的軟件架構(gòu)師,在產(chǎn)品和項(xiàng)目開發(fā)中獨(dú)擋一面?以及架構(gòu)師應(yīng)該具備哪些素質(zhì)呢?帶著這樣的疑問,筆者對(duì)麥克爾斯(深圳)科技服務(wù)有限公司的資深經(jīng)理索紅升先生進(jìn)行了訪談,他結(jié)合自身的職業(yè)履歷,向我們講述了軟件架構(gòu)師的進(jìn)階之路。
(一)進(jìn)入代碼世界探索美好未來(lái)
大容量、高速度的計(jì)算機(jī)的出現(xiàn)后,催生了大規(guī)模的應(yīng)用范圍,也推動(dòng)了軟件開發(fā)技術(shù)的急速增長(zhǎng),高級(jí)語(yǔ)言迅速迭代,與日俱增的規(guī)模,對(duì)軟件的可靠性提出了更高的要求。進(jìn)入21世紀(jì)后,較低的軟件開發(fā)程度已經(jīng)很難滿足高運(yùn)算速度的計(jì)算機(jī)需求,彼時(shí)軟件行業(yè)的從業(yè)者大多數(shù)沒有進(jìn)行過(guò)系統(tǒng)性的學(xué)習(xí),缺乏精通技術(shù)的軟件人才,也無(wú)法對(duì)軟件進(jìn)行合理預(yù)估、科學(xué)規(guī)劃,進(jìn)而導(dǎo)致開發(fā)過(guò)程混亂,工作流程繁瑣,對(duì)資源造成極大的浪費(fèi)。高精尖人才數(shù)量不足,使得行業(yè)發(fā)展嚴(yán)重受困。
在上述背景下,計(jì)算機(jī)軟件相關(guān)專業(yè)迎來(lái)了發(fā)展的春天,無(wú)數(shù)人進(jìn)入高校學(xué)習(xí)計(jì)算機(jī)專業(yè),索紅升就是其中之一。2007年,索紅升在西安交通大學(xué)讀完計(jì)算機(jī)科學(xué)與技術(shù)專業(yè),獲得碩士學(xué)位。之后,進(jìn)入信源通科技(深圳有限公司),任職高級(jí)軟件工程師,以開發(fā)組長(zhǎng)的身份帶領(lǐng)UI開發(fā)團(tuán)隊(duì),深度參與ALarmService緊急報(bào)警系統(tǒng)的開發(fā),該項(xiàng)目的主要實(shí)現(xiàn)技術(shù)和工具主要包括Java,Apache、百度地圖、Tomcat、Mysql、Liferay、Jquery、C++、PHP等,網(wǎng)絡(luò)終端采用Browser+Apache+Tomcat+Mysql模型,基于手機(jī)終端的位置信息,為用戶提供緊急報(bào)警服務(wù)。在該項(xiàng)目中,他負(fù)責(zé)系統(tǒng)整體的UI設(shè)計(jì)與開發(fā)、地圖模塊與LBS模塊開發(fā)設(shè)計(jì)、短信貓服務(wù)器開發(fā),以及負(fù)責(zé)基于GPRS與短信通信協(xié)議的設(shè)計(jì)與評(píng)估。在高質(zhì)高效地完成項(xiàng)目任務(wù)后,還為公司設(shè)計(jì)了全新的門戶網(wǎng)站。
2009年,索紅升加入了中興通訊股份有限公司,負(fù)責(zé)開發(fā)Wimax基站管理系統(tǒng)的開發(fā),該系統(tǒng)采用Swing+Jboss模型,分為客戶端,服務(wù)器端,網(wǎng)元代理三大模塊,系統(tǒng)的實(shí)現(xiàn)工具包括Java,SQL Server,Oracle,Jboss等。作為高級(jí)軟件工程師,索紅升主要負(fù)責(zé)配置模塊CLI接口的開發(fā)設(shè)計(jì),以及該模塊中管理服務(wù)器與被管理基站之間的數(shù)據(jù)同步模塊的設(shè)計(jì)開發(fā)。由于精湛的專業(yè)優(yōu)勢(shì),在該項(xiàng)目設(shè)計(jì)與開發(fā)中,索紅升對(duì)配置模塊的處理邏輯進(jìn)行修改和優(yōu)化,通過(guò)技術(shù)創(chuàng)新,將同步單線程改為異步多線程處理模式,極大地提高了網(wǎng)元配置效率。因此,該技術(shù)也在公司內(nèi)部申報(bào)了專利發(fā)明。
初入代碼世界,順利完成了幾項(xiàng)重大項(xiàng)目后,讓索紅升意識(shí)到軟件行業(yè)潛力巨大,只要找到自己發(fā)展的方向,才能創(chuàng)造更多的可能性。
(二)扎根軟件行業(yè)汲取成長(zhǎng)養(yǎng)分
“軟件企業(yè)業(yè)務(wù)更新快,要從一名程序員走向架構(gòu)工程師,必須及時(shí)學(xué)習(xí)新知識(shí)、新技能,只有扎根項(xiàng)目一線,精心打磨專業(yè)技術(shù),不斷地提升自我、超越自我,進(jìn)而實(shí)現(xiàn)職業(yè)角色的轉(zhuǎn)變?!?/p>
兩年之后,華美優(yōu)客網(wǎng)路技術(shù)(深圳)有限公司,擔(dān)任java開發(fā)組長(zhǎng)、架構(gòu)師,該公司是移動(dòng)網(wǎng)絡(luò)市場(chǎng)上先進(jìn)的無(wú)線系統(tǒng)供應(yīng)商,集無(wú)線網(wǎng)絡(luò)產(chǎn)品的設(shè)計(jì)、研究、開發(fā)于一體,具備大型產(chǎn)品和項(xiàng)目開發(fā)實(shí)力。索紅升進(jìn)入公司后,主導(dǎo)了多個(gè)項(xiàng)目的設(shè)計(jì)和研發(fā),其中Flexmaster WLAN管理系統(tǒng)和SmartZone WLAN管理平臺(tái)兩個(gè)項(xiàng)目的設(shè)計(jì)開發(fā),給索紅升留下了特別深刻的印象,也讓他積累的豐富的工作經(jīng)驗(yàn)。
Flexmaster WLAN管理系統(tǒng)屬于企業(yè)級(jí)項(xiàng)目,由FM企業(yè)版與FM-Cloud云服務(wù)版兩個(gè)子項(xiàng)目組成。其中,F(xiàn)M屬于單機(jī)系統(tǒng),主要采用Browser+Tomcat+Mysql模型,通過(guò)http協(xié)議與網(wǎng)元交互,實(shí)現(xiàn)WLAN管理系統(tǒng)中的配置管理、告警管理、報(bào)表等多項(xiàng)功能。FM-Cloud是FM的云服務(wù)版,可為眾多中小企業(yè)提供云端無(wú)線網(wǎng)絡(luò)管理服務(wù)。其架構(gòu)上采用Nginx+Tomcat+Memcached+Mycat+Mysql集群模型,通過(guò)新增用戶管理模塊以及重構(gòu)數(shù)據(jù)抓取模式,實(shí)現(xiàn)了FM管理功能的服務(wù)化。該系統(tǒng)涉及技術(shù)眾多,實(shí)現(xiàn)難度較大,對(duì)架構(gòu)師的專業(yè)技能有極高的要求。
索紅升從容應(yīng)對(duì)挑戰(zhàn),作為構(gòu)架師他從更宏觀的視角與用戶、技術(shù)人員、業(yè)務(wù)人員進(jìn)行多方面交流,全面負(fù)責(zé)產(chǎn)品的架構(gòu)設(shè)計(jì)、系統(tǒng)優(yōu)化、項(xiàng)目管理、Java開發(fā)以及用戶支持等內(nèi)容,以極強(qiáng)的專業(yè)技術(shù),推動(dòng)項(xiàng)目順利實(shí)施。對(duì)FM的系統(tǒng)架構(gòu)進(jìn)行修改、優(yōu)化處理性能,引入多線模式完成數(shù)據(jù)抓取,實(shí)現(xiàn)單節(jié)點(diǎn)系統(tǒng)擴(kuò)容;重構(gòu)與編碼FM數(shù)據(jù)抓取模塊,將被動(dòng)抓取數(shù)據(jù)變?yōu)橹鲃?dòng)上報(bào);優(yōu)化Mysql配置、SQL查詢,完成FM系統(tǒng)遷移……極大地解決了用戶的實(shí)際需求。
SmartZone WLAN管理平臺(tái)是運(yùn)營(yíng)商級(jí)的WLAN管理平臺(tái),在該系統(tǒng)設(shè)計(jì)與開發(fā)中,采用了Browser+Tomcat+Cassandra模型,平臺(tái)分為數(shù)據(jù)子系統(tǒng)與控制子系統(tǒng),各個(gè)子系統(tǒng)內(nèi)部分若干個(gè)模塊協(xié)作運(yùn)行,數(shù)據(jù)子系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)導(dǎo)流,控制系統(tǒng)實(shí)現(xiàn)管理功能。開發(fā)環(huán)節(jié)涉及到的技術(shù)包括Java、C、Pytho、Groovy等數(shù)十種計(jì)算機(jī)語(yǔ)言。索紅升主要負(fù)責(zé)系統(tǒng)集群部署、啟動(dòng)/停止、性能監(jiān)控、備份恢復(fù)、升降級(jí)等模塊,開發(fā)系統(tǒng)網(wǎng)絡(luò)模塊的配置接口,快速搭建與基準(zhǔn)測(cè)試系統(tǒng)集群,以及分配項(xiàng)目Bug等內(nèi)容。
通過(guò)完整的項(xiàng)目歷練,讓索紅升具備了全面和深入的技術(shù)底蘊(yùn),成為了全面思考架構(gòu)和技術(shù)路線的技術(shù)決策者,能夠出色地完成技術(shù)選型、方向決策、技術(shù)方案規(guī)劃、定制實(shí)施策略等職能,也讓他對(duì)架構(gòu)師的使命有了更深層次的理解。
(三)助力平安銀行實(shí)現(xiàn)科技轉(zhuǎn)型
多年的行業(yè)積累,讓索紅升具備了技術(shù)領(lǐng)導(dǎo)力,能夠通過(guò)技術(shù)影響力去尋找目標(biāo)愿景,在更多的行業(yè)領(lǐng)域里帶領(lǐng)團(tuán)隊(duì)獲取戰(zhàn)略結(jié)果。
2017年,索紅升加入平安銀行。該銀行屬于跨區(qū)域經(jīng)營(yíng)的股份制銀行。隨著互聯(lián)網(wǎng)滲透到人們生活的方方面面,體驗(yàn)更好、成本更低、智能更優(yōu)、賦能更強(qiáng)成為新的商業(yè)標(biāo)準(zhǔn),銀行業(yè)的新產(chǎn)品、新業(yè)務(wù)、新模式、新業(yè)態(tài)的不斷涌現(xiàn),金融服務(wù)模式正在悄然變化,平安銀行也面臨著信息化、數(shù)字化轉(zhuǎn)型的迫切需要。
平安銀行要實(shí)現(xiàn)數(shù)字化轉(zhuǎn)型,必須要具備數(shù)據(jù)驅(qū)動(dòng)的理念,樹立大數(shù)據(jù)思維和互聯(lián)網(wǎng)思維,跳出傳統(tǒng)商業(yè)銀行的運(yùn)營(yíng)模式,基于科技手段建立全新的生態(tài)系統(tǒng),不斷優(yōu)化產(chǎn)品頂層設(shè)計(jì),才可能提高實(shí)現(xiàn)組織的快速轉(zhuǎn)型。
作為平臺(tái)架構(gòu)師和產(chǎn)品負(fù)責(zé)人,索紅升在加入平安銀行的三年多時(shí)間里,主導(dǎo)開發(fā)了SLB軟負(fù)載流量平臺(tái)系統(tǒng)、平安銀行PAAS項(xiàng)目和同城雙活項(xiàng)目。SLB項(xiàng)目是平安銀行首款流量負(fù)載平臺(tái),能夠幫助應(yīng)用實(shí)現(xiàn)負(fù)載均衡、流量拉入拉出、無(wú)損發(fā)布,藍(lán)綠灰度、堡壘驗(yàn)證等功能,SLB架構(gòu)上分為后管系統(tǒng)(SLB-admin)與服務(wù)實(shí)例(SLB-cluster),后管系統(tǒng)為BS架構(gòu),為用戶提供管理界面,通過(guò)http協(xié)議與服務(wù)實(shí)例交互,管理多個(gè)服務(wù)實(shí)例;服務(wù)實(shí)例為“二次開發(fā)的nginx”集群,集群中每個(gè)節(jié)點(diǎn)上運(yùn)行有定制代理(ng_agent),代理接收后管系統(tǒng)操作指令,控制同節(jié)點(diǎn)下nginx服務(wù)器的行為,實(shí)現(xiàn)流量的全方位管控。目前,該系統(tǒng)已經(jīng)作為平安銀行的基礎(chǔ)設(shè)施,在銀行范圍內(nèi)推廣使用。
在此項(xiàng)目中,索紅升全面負(fù)責(zé)產(chǎn)品總體開發(fā)進(jìn)度、架構(gòu)設(shè)計(jì)、數(shù)據(jù)模型設(shè)計(jì)和UI設(shè)計(jì),深度參與核心模塊編碼,SLB集群與監(jiān)控系統(tǒng)的對(duì)接,以及通過(guò)各種形式完成產(chǎn)品推廣,在推廣接入過(guò)程中負(fù)責(zé)存量老舊系統(tǒng)的架構(gòu)改造方案的設(shè)計(jì)與實(shí)施。同時(shí),負(fù)責(zé)完成了平安口袋銀行公網(wǎng)入口域名的規(guī)劃與管控,確保所有產(chǎn)品的各個(gè)集群穩(wěn)定運(yùn)行。平安銀行PAAS項(xiàng)目是信用卡中心A+核心升級(jí)項(xiàng)目, 在該項(xiàng)目設(shè)計(jì)中,索紅升主要負(fù)責(zé)DSU分流方案設(shè)計(jì)與落地實(shí)施、SLB產(chǎn)品的流量鏡像功能的設(shè)計(jì)開發(fā)與生產(chǎn)實(shí)施、多DSU支持功能開發(fā)設(shè)計(jì),以及負(fù)責(zé)A+核心相關(guān)SLB集群的穩(wěn)定運(yùn)行與日常問題排障。通過(guò)基礎(chǔ)設(shè)施的DSU改造以及應(yīng)用的微服務(wù)改造,完成A+核心基礎(chǔ)設(shè)施的去IOE化及軟件國(guó)產(chǎn)化。
同城雙活項(xiàng)目是平安銀行的同城多機(jī)房建設(shè)項(xiàng)目,在原有觀瀾IDC的基礎(chǔ)上,在深圳福田再建設(shè)一個(gè)IDC,為應(yīng)用提供雙活保障,當(dāng)一個(gè)IDC出現(xiàn)故障時(shí),流量可自行全部倒入另一個(gè)IDC,也支持雙IDC流量比例劃分和動(dòng)態(tài)調(diào)整。作為同城雙活接入層負(fù)責(zé)人,在短短的幾個(gè)月時(shí)間里,完成了接入層的整體架構(gòu)設(shè)計(jì)與方案落地、全稱參與全鏈路雙活方案的設(shè)計(jì)與規(guī)劃、SLB的雙活能力規(guī)劃開發(fā)、存量老舊系統(tǒng)的雙活改造,以及處理應(yīng)用在雙活改造過(guò)程中的架構(gòu)咨詢和疑難問題,助力平安銀行實(shí)現(xiàn)了數(shù)字化轉(zhuǎn)型。
(四)賦能電商交易平臺(tái)快速崛起
探索新的業(yè)務(wù)場(chǎng)景,是架構(gòu)工程師不斷進(jìn)步發(fā)展的重要途徑。在新的業(yè)務(wù)模型中,能夠充分釋放架構(gòu)師的才華,提升新技術(shù)應(yīng)用能力和創(chuàng)新能力。
2021年,索紅升加入麥克爾斯(深圳)科技服務(wù)有限公司,擔(dān)任資深經(jīng)理職務(wù)。全面負(fù)責(zé)優(yōu)化Michaels電商平臺(tái)架構(gòu),該平臺(tái)是美國(guó)藝術(shù)平臺(tái)零售巨頭Michaels為配合公司實(shí)現(xiàn)數(shù)字化轉(zhuǎn)型的發(fā)展戰(zhàn)略,自主研發(fā)的適應(yīng)于當(dāng)前業(yè)務(wù)布局的電商平臺(tái),主要包括自營(yíng)業(yè)務(wù)(DOTCOM)、三方商家業(yè)務(wù)(Marketplace)、個(gè)人賣家(Makerplace)三個(gè)子平臺(tái),項(xiàng)目使用Java,Springboot,SpringCloud,K8S, GCP等技術(shù)棧涉,采用微服務(wù)架構(gòu),使用谷歌云服務(wù)作為部署平臺(tái)。
作為第三方平臺(tái)Marketplace的開發(fā)負(fù)責(zé)人,索紅升與PM、其他開發(fā)者及運(yùn)維團(tuán)隊(duì)溝通產(chǎn)品的設(shè)計(jì),同時(shí)完成技術(shù)團(tuán)隊(duì)的招聘、培訓(xùn)與搭建,并帶領(lǐng)技術(shù)團(tuán)隊(duì)處理開發(fā)過(guò)程中遇到的疑難技術(shù)問題,設(shè)計(jì)架構(gòu)與優(yōu)化性能。在他的努力下,成功地將三方平臺(tái)Marketplace打造成公司內(nèi)部第一個(gè)達(dá)到生產(chǎn)級(jí)別的應(yīng)用平臺(tái),該平臺(tái)比其他兩個(gè)平臺(tái)提前半年部署到sandbox環(huán)境,并接納真實(shí)用戶入場(chǎng)內(nèi)測(cè)。同時(shí),作為技術(shù)委員會(huì)核心成員,他深度參與公司的重大技術(shù)選型與核心技術(shù)方案審核決策,主導(dǎo)了對(duì)全平臺(tái)API架構(gòu)設(shè)計(jì),完成了數(shù)據(jù)模型設(shè)計(jì)的復(fù)審,以及完成了入口網(wǎng)關(guān)和數(shù)據(jù)庫(kù)的性能測(cè)試。最終讓Michaels電商平臺(tái)在短時(shí)間內(nèi),重新獲得巨大的流量,用技術(shù)手段賦能電商平臺(tái)的崛起。
一路走來(lái),暗香盈袖。從軟件開發(fā)者到架構(gòu)工程師,索紅升對(duì)產(chǎn)品和項(xiàng)目有了更精準(zhǔn)的理解,他的技術(shù)能力在大量的項(xiàng)目實(shí)踐中得到遷越和升華。我們相信,在冰冷的代碼世界里,他一定會(huì)書寫出更多的精彩故事!