在臺灣第一屆DevOps研討會中,日本樂天揭露了去年一次改造開發團隊體質的經驗,如何解決樂天旅遊網站因持續整合伺服器出現效能瓶頸,導致所有產品無法如期上線的問題。樂天集團旅遊業務開發維運部旅遊網站團隊經理,同時也是推動整個計畫的核心人物之一直井和久表示,會有這項計畫的原因,是當初樂天旅遊的持續整合伺服器負載過重,隨時都有10項工作在佇列中等待被處理,然而他們的程式要正式上線前,都要經過持續整合的過程,當這個環節出現瓶頸,所有程式部署的工作便無法如期進行。

直井和久說,之前他們使用的持續整合伺服器歷史悠久,只有一臺伺服器在提供持續整合的工作,而且沒有維護團隊負責,平均執行中的工作多達10數個,在等待佇列的工作也隨時都有10個,伺服器負荷高到無法開啟持續整合伺服器的網頁,他說,每次要開啟腳本控制臺都是賭博。

而直井和久與其他熱血同事便主動擔起更新持續整合伺服器的任務,然而這項任務並不這麼容易,首先他們必須取得產品團隊以及公司利害關係人的同意,不能僅讓工程師覺得好用而已,必須還能衡量出改進後的商業價值,最重要的不能讓這個計劃只是曇花一現,而要能持續的維護,並且培養新人接手。

樂天旅遊要解決的第一件事就是要減輕持續整合伺服器的負載,直井和久表示,而這件事也無法一蹴可幾,必須一個階段一個階段完成。第1步先簡單的擴增成5臺持續整合伺服器,並把比較複雜的工作丟給新增的伺服器,第2步將原本的持續整合伺服器轉成主伺服器(Master)並新增一些監控機制,而四臺從伺服器(Slave)同時執行任務,第3步是將整個架構轉成基礎建設即程式碼(Infrastructure as Code),他們使用持續交付的工具Chef確保所有的持續整合伺服器運作正常,而整個持續整合伺服器是建立在Container中,而Container是建構在樂天旅遊內部Vmware的虛擬機器上。

減輕持續整合伺服器的工作解決了原本部署程式的瓶頸,使用腳本主控臺不再是賭博,而新增的監控機制,系統可以自動收集比較詳細的資訊,像是工作列表、工作執行時間以及每一個從伺服器的狀態。

樂天集團旅遊業務開發維運部旅遊網站團隊經理直井和久表示,將持續整合伺服器架構改變,達到基礎架構即程式碼(Infrastructure as Code)的階段後,最直接感受到的是持續整合伺服器負載超量的警告e-mail從8月的241封下降到9月的108封。

直井和久認為,DevOps就是開發與營運團隊的合作,而專案要成功的是關鍵是,所有成員齊心朝同一目標前進。DevOps不僅是IT的工作,同時也是一種政策以及文化,光僅是採用工具是不夠的。


Advertisement

更多 iThome相關內容