天天看點

運維遊戲到底如何開發?

我1996年參加工作,在銀行系統從事系統管理和軟體開發工作,從那時開始便和運維開發結下了不解之緣。 最早的這三年多時間算是打基礎的階段,在銀行系統,從事對資料庫、unix系統相關的運維和開發。

2000年我獨自到闖蕩,先後在藍點、騰訊等公司從事研發工作。 在藍點屬于技術提升階段,主要了解Linux和網絡,研發一些網絡安全相關的産品。 騰訊工作則拓展了視野,工作上涉及對海量使用者IT系統的架構設計、運維開發,這個階段接觸到不少和海量使用者、資料打交道的項目。另外,我很喜歡騰訊的人文關懷,也努力将這種氛圍帶到其他地方。

在工作10年後,我于2010年攜家帶口來到上海盛大。 除了從事基礎服務和運維的研發外,也負責POI、資料等營運。對于這個階段最大的體會是好的機會需要堅持,當時做過的旅遊、LBS、O2O等産品都挺不錯,但轉變方向太快, 如果能堅持一兩年,收益會非常可觀。

2012年8月來到與盛大同在張江的1号店,開始建立運維開發團隊,經過不到四年的發展,1号店私有雲從無到有從小到大,運維開發團隊從2、3人發展到近20人,一粒種子成長為小樹。 現在我的團隊是平台保障部,整個部門除了實作平台研發工作:為公司提供運維自動化、SOA基礎架構和辦公自動化服務外,還需要負責全公司的監控、品質保障、測試、應急處理等。平台保障部屬于一個大部門,我負責的部分包括下面綠色框線中部分:

除了這幾塊具體業務,我還負責包括應急指揮中心(一個虛拟團隊,由值班員、值班經理、系統咨詢、架構、各業務組成)和演練,近期開展了交換機切換、大促縮容、流量切換等演練,目的是通過演練發現潛在的問題,讓我們的業務更加健壯。

從無到有建立運維開發團隊

回想2012年8月剛到1号店的時候,除了一款被吐槽的釋出系統,沒看到什麼運維工具,大家運維得很辛苦:發生問題三更起來處理是家常便飯,不光是遊戲運維同學出面,而是各團隊都要來參與處理;人多情況比較亂,大家的意見也各不相同,有的要求復原,有的憑經驗要重新開機應用,有的建議檢視DB。

當時做釋出系統的同學剛離職,負責維護的兩位同學也感到很迷茫,其中一位剛畢業一兩年,感覺玩不轉了。釋出一次之後發生故障機率很大,有時出了問題復原,居然復原了幾個小時,結果大家甯願手工釋出也不願意用釋出系統。www.sangpi.com

雖然是一頭黑線,但是也要上啊。 我花了幾個通宵時間,把釋出系統所有的問題彙總并且歸類,包括釋出系統自身的、業務的、操作的等類别,然後和各個對應的團隊溝通改進方案, 内部也就DevOps的理念進行交流引導。為什麼要需要各個團隊的參與?因為如果釋出不夠高效穩定,受到影響的包括營運、研發、測試、産品、運維各個團隊,最終會嚴重影響業務的正常運轉和特性的快速疊代。最後通過各團隊的一緻行動,我們終于在兩周多的時間内穩定了釋出系統,也就奠定了現在的運維開發團隊。

當時還沒有私有雲的樣子,在監控選型上也有些不同意見,有的希望完全自研,有的要求不要給業務研發看到,有的認為隻要用開源的即可。 結合當時的人員狀況和公司的實際,我采用了開源+少量自研的方法,并倡導全員監控的理念,得以在較短時間讓各團隊都用上了友善的監控。 有了釋出、監控能力之後,對基礎資料的要求越來越高,上司對我們的支援力度也在加大,我們得以有機會開始建設私有雲的第一個版本,涵蓋CMDB、裝機、釋出、監控、配置管理等。 随着産品越來越豐富、使用者越來越多,我們開始了對各産品進行優化美化,通過API方式打通内外平台系統,逐漸發展成了現在的樂道雲平台。 我們選擇樂道這個名稱,有三個含義:快樂運維之道、安貧樂道、津津樂道。

目前1号店的技術團隊大約1000人規模,為全國幾千萬使用者的購物提供強大技術架構、研發和運維服務。 我負責的運維開發團隊有20人,與其他團隊密切配合(運維、研發、架構等),高效管理上萬台裝置的平穩運作。其他團隊主要是運維自動化的需求方,我們會按照業務的緊急重要程度安排需求的溝通、設計、快速原型和疊代。

這四年堅持做運維開發工作,恰好趕上電商和雲計算的高速發展階段,加上上司和團隊的支援,是以取得了一點成績。我期待未來能在雲端化和智能化上做出更多有益的産品。

最有成就感的是帶過的那些團隊

說一個20年前對我觸動很大的事情:當時在銀行系統工作, 上司對我說“上司就是服務”。當時我不太了解,但是在有了一定工作經驗後,我越來越認可這一觀點。團隊裡每個人都是我服務的對象,遇到問題上司要沖鋒在前,遇到獎勵讓最有功的同學上,遇到黑鍋我來,甚至還要檢查下還有沒多的鍋?都給我壓上。 需要什麼資源我會盡量争取,短期争取不到的我也始終惦記着。想方設法為團隊謀些,多讓團隊做出些有價值的産品,提升成員的成就感。“上司就是服務”這句話現在算是骨髓了,要感謝當時的上司:黃昌雲行長。

現在帶領團隊,我很注重快樂高效與成長,實際上每個人有自己的優勢與長處,我會努力創造一個好的環境,讓每位成員各司其職、各盡其能、各得其所。

我非常喜歡“好日子,慢慢過”這句話,這也慢慢成為了團隊名言。我的觀點是工作要快,事情盡量做在前面,高效高品質研發;但生活要放慢,我們周末在家陪寶寶講故事,在陽台品茶看書聽音樂,在餐桌全家人共度快樂時光。 平時如果看到團隊成員加班,我會要求他/她早點回家,未來需要的是健康體魄創造性思想,而不是代碼勞工。

如果問我這些年的工作什麼最令我有成就感?是我帶過的團隊,他們都有着共同的特點:快樂、高效、穩定、戰鬥力強。

技術生涯發展的幾點建議

這裡想先講講我早年的一個經曆。那時是在騰訊剛接手快速Tips項目,即大家看到的QQ彈窗,項目交接的前任同學剛剛因為事故受到了處罰。他好心提醒我,盡量少接需求,以免重蹈覆轍。 一方面,我對騰訊制度的完善受到觸動,事故的各類懲處會一級級追究到VP;另一方面,我卻認為少做事不是解決問題的辦法。于是,我快速開發了一個測試背景,無論誰想測試彈窗,可以直接使用,而且影響範圍可控。最後,這樣的方案既能友善各團隊用新産品,又不會引發事故。 是以我現在在1号店的團隊也建立了内部的獎懲制度,甚至包括涉黃也有懲處,友善積累活動經費。同時建立私有雲平台,讓各個團隊可以友善地釋出、監控、檢視日志等,為業務團隊高效研發創造良好的環境。

舉這個經曆為例子,是為了說明技術人應該怎樣看待和處理公司的項目需求。少做事情一不能響應業務需求,二也失去了鍛煉自己的機會。要通過思考和努力,在盡可能的範圍内,完成工作保證品質。如果給出一個廣泛性的建議,那就是遇到困難問題,主動想辦法解決,對每個職場人的發展都大有裨益。一個人職業的發展過程,伴随着解決的問題越來越大、越來越難,如果解決的問題千篇一律甚至越來越簡單,那很有可能是職業道路越走越窄。

再具體一點,對于處在技術生涯中不同階段的技術人,發展側重點略有差别。 對于剛剛入行的技術新人,要重視打基礎的這個階段,無論是什麼規模的公司,我建議:

多思:為何這樣設計、實作,能帶來哪些益處,會有什麼問題。

多做:别讓自己閑下來,多做事沒壞處,哪怕短期沒有直覺的收益,“風物長宜放眼量”。

溝通:及時回複,及時更新進度,有困難的确難以解決時及時尋求幫助。

還有一點,有個能帶着你一起成長的團隊和老大,很重要。

工作三到五年之後,要保持學習和發展。還有,就是要評估下是否達到了職場發展的瓶頸,我建議從下面四個角度着手:

空間:自己在團隊中的位置,公司在行業中的位置,行業的發展情況,綜合出可以預見的發展空間。

履歷:每半年更新一下自己的履歷。不是鼓勵大家頻繁跳槽,而是通過這種方式,我們可以檢查過去半年有沒有成績和進步。

持續性:馬上可能面臨組建家庭等問題,現有的工作生活與學習方式是否可持續,如果不可持續如何調整。

目标:我們離長期目标是更近了嗎?有沒有更好的途徑、方法確定目标的實作?

關于加班這個話題

對于加班,我個人的看法是:如果是自己為了成長或業務,主動加班,很好,也是職業精神所在;但是如果隻是被動加班,被不成文的規定、文化束縛,被不合理的進度限制,我不贊成。

作為知識工作者,如果不能留出思考時間,不能留出精力來發展業餘愛好,不能在運動場上鍛煉體魄,不能和朋友知己交流經驗,長期來看一定是難以持續的。

的确,在這個時代,技術人很吃香。尤其是在一些人文關懷比較到位的公司,除了薪資不錯,待遇也挺好。不過我們的夢想更重要,如果夢想和穩定沖突,我建議還是選擇夢想:隻有做真正喜歡的事情,才不枉此生。當你的職業就是你的夢想的時候,你會發自内心地熱愛工作的時光。

我看IT發展及其未來

結合這二十年工作,對于行業環境的發展,我能感受到的四個方面:

硬體:記憶體從幾M到幾G,硬碟從幾百M到幾百G。别說錄音帶了,連當年常見磁盤都已經找不到了。

程式設計語言:可能現在很少有人知道Cobol啦,以前在銀行可是很吃香的。C語言還是曆久彌新,而Python、JS等變得越來越熱門。

網絡條件:從幾十K的貓,到現在家裡100M光寬帶和手機4G,不可同日而語。

行業:這20年來熱門語言和概念越來越多,不過很多基礎軟硬體沒有什麼變化。伺服器是X86,運作的OS是LINUX系統,Java、PHP應用在Tomcat、Apache上跑,資料庫不少仍是MySQL、Oracle,網絡協定也還是TCP/IP。 變的是我們對IT的依賴程度越來越高,要求越來越嚴格,衍生出不少新概念新産品,如電商、電子支付、不斷更新的智能手機。

未來,随着軟硬體和網絡的進化,人們希望随時随地獲得高效安全的服務。我認為會展現在如下的三方面:

雲端:大部分人處理事務隻需要一個接入端,可能是手機、平闆或建築物的表面,随時處理公司、家庭的事務。

智能:很多工作外包給智能機器人,家中的智能管家負責打掃、烹饪、保安;工廠的智能機械負責流水線的運轉;投資也交給智能顧問

安全:從買衣買書買手機,到手機轉賬、理财、交流,我們對安全的要求越來越高,這方面也是大有可為。 是以,IT服務的雲端化、智能化、安全化将是技術發展的方向。

未來的這些發展趨勢,具體對應到我們運維行業人員,要跟上和引領技術的發展。

首先實作運維的雲端化,讓各團隊随時随地了解業務健康狀況,便捷地建構、測試、釋出;

其次通過機器學習讓運維更加智能,如何報警隻報根源避免被現象淹沒,如何自動修複典型故障,如何提前自動擴容避免事故,是我們需要探索的重要方向;

最後在安全這塊,除了做好運維平台自身的安全,如何幫助業務實作更好的安全,以電商為例,通過一鍵削峰、防CC、防黃牛等安全項目,讓業務安全平穩運作。

我們目前研發的主要内容是私有雲,有了堅實的基礎,與公有雲的融合也很便捷,1号店已經有多次成功實施的經驗,與公有雲的融合需要通過自動部署、釋出、配置等,迅速将公有雲與私有雲打通。

繼續閱讀