歡迎您光臨本站 註冊首頁

項目實施中應該注意的事項

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

項目實施中應該注意的事項


作為一名項目施工人員,撫琴煮酒前前後後也實施過一些大大小小的項目了,有併發量大的CDN廣告網站,還有證券類資訊網站以及電子商務網站等,還有就是一些併發不大但要求作成HA的小型網站等,感覺其實在實施過程還是有蠻多技巧和心得的,特寫出來與大家分享一下。

一、準備工作一定要做好做細
做為項目實施工作,還是比較有技術含量的,有的還因為合同期限,有時間限制,所以一定要在公司將所要布署的施工方案的技術活細化,最好是做個幾十遍,將各種各樣的意外都設想進去。眾所周知,Linux下軟體如果是源碼編譯安裝的話,有的也區分32位和64位的;更別說windows下的程序了,吃了一次虧后。我後期就直接建議上級領導,以後程序的開發環境和測試都統一為64位了,布署環境我們現在都統一為64位的CentOS5.x及 windows2003 企業版+SQL Server2008,這說的是伺服器的操作系統的統一性。再說下軟體版本的問題,比如說我們要用Nginx作負載均衡,這時候是用nginx 0.7x還是nginx0.8.15呢,我們經過了大量測試,並且作了相關的壓力測試,最後決定了用nginx0.8.15,在項目實施后發現其穩定性相當不錯,所以後期的項目實施中一直採用nginx0.8.15,其它的軟體版本類似,即測試的工作一定要作好做細做多,可能要浪費不少時間和精力,但這個工作一定要做,必須的。另外的是就是要跟客戶那邊的IT技術部門多溝通,弄清楚他們的機房帶寬,伺服器是放在自己機房還是放在電信機房,值班人員是否24 小時監控,伺服器的性能如何?是否是四核至強,單台大約能承受多少併發(很遺憾,這個問題基本沒多少IT技術能弄得很清楚),最好的做法是給對方的IT技術一張關於網路和系統的調查表,然後一定要得到對方肯定的反饋,我最喜歡的情況之一是對方什麼都沒,從路由器到伺服器和存儲都是我們推薦,他們購買,這種情況就能對伺服器性能一清二楚了。根據我所了解的系統管理員,一般都很熟悉windows系列,但一談到Linux和unix,尤其是Centos和 FreeBSD,基本就處於空白期了,所以一定要耐心跟他們核對。另外有一個件事,一定要跟大家提個醒,我們帶過去的程序,如果是Linux的源碼和資料庫的文件估計還
好,但如果是windows的文件,尤其是執行文件(一般是移動硬碟直接攜帶),一定要用最新的殺毒軟體,我們一般是NOD32和卡巴斯基,但這樣還不保險。最後是跟對方的技術支持多溝通,用對方的殺毒軟體來進行檢查,這個我們是有教訓的;如果你的軟體有病毒,損失全由你方來承擔,而且這個對於系統管理員而言,太不專業了。由於我負責的多是 linux/unix機器(我安裝的MySQL機器也很多),我這邊基本是從沒出過問題;而同事攜帶的移動硬碟,由於用的人太多了,結果拿到客戶的機房一掃,居然有毒,所以這事最好是在己方公司做好,不要因為細節影響大局。另外要多了解下對方那邊有無網路安全方面的防火牆,一定要一台防DDOS攻擊的,目前這方面還比較好,客戶做的多是證券系統和電子商務的,非常注意安全,一般都有Juniper系列的防火牆。

二、在項目實施過程一定要注意多部門的溝通和配合
這一點其實也很重要,一套系統,一般包含的是程序+數據+圖片等文件,所以你作為項目實施人員,平進一定要注意與這些部門多溝通多了解,我的同事們很不了解,我為什麼總是跟開發的一起工作和探討問題。其實作為系統工程師,即System Admin,你可以不精通C++或PHP,但一定要懂這些,比如php、比如java,另外跟數據部門也要多注意交流,看資料庫是運行在什麼平台下?是 MySQL還是SQL server2008,這樣才能做的有的放矢,胸有成竹。公司內部的交流基本應該還算是比較順利的,難點就在於項目施工過程中的多部門協調和交流問題。我跟同事的做法是,我們會提前跟客戶的業務領導打招呼,約定在一個時間段將所有的施工人員召集起來開一個交流會。比方說,我在南京做的某證券系統,我們是從武漢出飛,三小時的動車。下了火車后我們直接就去客戶的辦公室,拿出了項目的施工拓補圖,迅速的跟所有的施工人員開了一個會,說了項目施工中的重點和困難。人確實很辛苦很累,但這事最好提前和迅速,鬼知道項目實施過程中會出現什麼樣的意外。第二天我們去電信機房時,還是有的吃驚。HP的工作人員一下子來了六位,剛開始我不是特別理解,後來明白了,4U的伺服器確實長得彪悍,小弟我在北京時練就了一點本領,就是能扛著1U的伺服器,奔流如飛。結果在4U的伺服器前硬楞了,怕閃腰不敢上;還是HP想得比較周到,派的都是年輕小伙,呵呵。言歸正傳,我記得那個項目算是中等項目,一共有六位HP的工程師,華賽派了一位網路工程師,天泰派了一位安全工程師,我們的客戶是派了三個IT技術支持過來,我們這邊是我和同事二人。人多力量大,毛爺斧說的好,各人各司其職,迅速的做事,效率還是蠻高的,HP用了KVM來安裝系統,8台伺服器同時安裝;那邊的二位工程師也很迅速的設定IP,做內網IP映射等。總之,我擔心的意外也沒發生,基本一天的時間,可以將所有伺服器的系統安裝正常,開放Linux的遠程(SSH:22)和windows的遠程(我們是用Remote Admin),網路方面基本也暢通。天泰的安全工程師也調試了一天,開啟了防火牆的透明(Transparent模式)后,留下了他的聯繫方式給我們就回上海了,臨走時說我們可以24小時找他。我們都笑了,白天上班時間還是可以找的,晚上就算了,免得大煞風景。這是比較成功案例,失敗的例子我也經常遇到,比如網路不通或對方將我們的網路設置錯誤等等,那就是比較折磨人了,這事我放在第三點來說。  

三、迅速和穩定的處理項目實施中遇到的突發事件
這一點不好說,看項目實施人員的經驗和能力了。比如我有次去武漢某證券公司布署Nginx+Apache(web)的1+3的小型網站時,忽然發現有台 HP360的主板壞了,怎麼也裝不上系統;我當機立斷,立馬放棄這台,只部署成1+2方案,然後最後將情況跟負責我們的副總彙報了下,保證整台系統還是按額定的時間上線,然後我又跟公司的Qs做了大量的壓力測試,發現能頂上,所以就暫時就定成1+2了;還有一次就比較鬱悶了,我們過去實施時,發現客戶已請了家外包公司將機房的網路做好了,讓我無語的是,由於客戶要求做HA系統,所以我們將施工拓補圖上多畫了一個網段,即10.0.0.0網段,然而客戶這邊的IT老總意圖理解錯了,居然將整套系統做成了二個網段,還劃分了VLAN,當時就徹底把我雷翻了,本來明明就是在區域網的一套系統,怎麼搞得這麼複雜啊?沒辦法,只好花了一下午時間跟他解釋什麼叫Heartbeat,然後跟他解釋這世上還有一種東東叫雙絞線,等他明白過來,再讓外包公司的人過來重新布線和分配交換機的IP時,寶貴的工期已足足過了三天;我那三天也沒辦法,只能先將系統和能布署的全布署上去,最後只等網路ping通了,期間也想過增加一條靜態路由的方法,但對方的網路工程師不停的做抽插網線的實驗,最後只有作罷。還有一件事也比較鬱悶,也是替客戶將所有系統布署好后,發現80埠怎麼也通不了;仔細盤查了對方的網路工程師,確定問題不出在對方這裡(熟練的網工難道還不會映射一個80埠?),我用遠程telnet 對方映射的外網IP 80埠時發現好無反映,忽然想到:是不是機房封了80?我的神額,這麼簡單的問題難道事先沒溝通好,暈死我了,立馬讓對方的老總跟機房備案,開通80,但時間還是浪費了不少...總之,在項目施工中,不斷的會遇到許多煩心的事,讓你焦頭爛額,讓你心跳加速,所以這也要看你的應變能力了。注意的是,耐心的跟對方溝通,畢竟人跟人之間需要交流;你要理解的是:就是你是某方面的權威,但在另一方面,你可能什麼都不算。所以,低調做人,高調做事,這也是項目施工中應該注意的。

四、在項目施工中多學習,提高個人的能力
實際的線上環境還是很鍛煉人的,這也是現在不少公司為什麼一定要招有項目實施經驗的人的原因。我個人感覺,一個成熟並安全的系統,還是很有技術含量的。你要了解網路、程序、資料庫,還要了解什麼叫併發,什麼叫SSL(哪家公司支持多域名的SSL),什麼叫網架架構,你的網站安全嗎,監控怎麼辦呢?文件伺服器壓力大嗎,單台web崩潰了怎麼辦,PHP的session共享怎麼解決,MySQL資料庫做成什麼樣的,是主從複製還是做成MySQL- cluster(別被MySQL群集忽悠了,還是主從複製更適用於你的線上系統,相信哥吧),你的SQL Server2008是單台還是做成SQL Server 2008故障轉移群集?shell很熟悉了吧,Apache下的正則熟悉不,能不能在十分鐘搞定?這些對於網站的即時更新都是很重要的),有時候,做系統集成這塊也挺累的,你要掌握的東西太多了,而網工相對而言壓力就小多了,你只要保證網路通暢即可;小公司就不說了,一個IT技術支持就要做N多的事,有意思嗎?我不知道大家有沒有這種情況,我現在維護的電子商務網站,我跟同事經常會遇到老大就站在身後,看你處理故障的事情,如果2分鐘能處理的事,我絕對不會拖到第3分鐘,沒辦法,壓力逼著人成長。項目實施一般都是有合同時間期限的,所以需要大家在短期內做好布署工作,測試這塊可以跟對方商量,對方也要花一段時間進行內測的;一個成熟安全的系統下來,你會發現你成長得非常快,平時不太注意的細節在線上就是重大的安全生產問題了。所以公司一般有外出部署項目,我一般會同意出去,雖然累,雖然項目提成少得可憐,但為了成長值也就忍了。

五、最後就是系統的測試和監控了
壓力測試和性能測試一般由公司和對方的測試人員進行,這個大家一般都會給比較充分的時間,這個問題不大。特別是壓力測試這塊,公司很多Qs不是太懂併發,所以你可以耐心跟他們溝通,順便熟悉下他們用的Load Runner,那東東我了解了幾次,說老實話,很複雜,還是Apache自帶的工具和webbench簡單些,呵呵。監控這塊我強烈建議用Nagios,郵件和簡訊通知都要做,並求對方的系統工程師24小時開機,遇到緊急事件要即時處理。事實證明,如果都是做雙機HA,並且有DDOS防火牆的話,緊急事件還是比較少的。

以上即時我為項目實施工程中的一些經驗和心得,與大家共享下。記住,技術不能完全左右項目的成功與質量,因為技術只佔其中一半的分量,有可能一半也算不上。實施完一個成熟和安全的網站或系統,其中的成就感和酸甜苦辣也只有自己知道,希望大家能從中學習到東西(特別是項目實施人員。

[火星人 ] 項目實施中應該注意的事項已經有208次圍觀

http://coctec.com/docs/service/show-post-4450.html