1. 程式人生 > >關於運維(2)

關於運維(2)

關於運維(2)

產品生命週期

運維的職責覆蓋了產品從設計到釋出、執行維護、變更升級及至下線的生命週期,各個階段的職責包括:

  • 產品釋出前

    這個階段運維工程師的職責是參與設計並把有關運維准入,主要包括:

    • (1) 產品的業務熟悉;

    • (2) 產品架構設計的合理性評估,包括是否存在單點,是否可容錯,是否有強耦合等,同時需要提供產品設計的合理性建議以使產品能夠滿足上線釋出並穩定執行的基本要求;

    • (3) 資源評估,包括所需的伺服器資源、網路資源以及資源的分佈等,同時把相關產品對資源預算申請的合理性,控制服務成本;

    • (4) 資源就位,將申請的伺服器及基礎環境/域名準備就位。

  • 產品釋出

    這個階段運維工程師負責釋出的具體工作,將具體的軟體和系統/硬體資源整合形成產品並對外提供服務。

    對於已線上服務的更新也屬於釋出範疇,這個時候的產品 釋出一般要保障線上釋出,在不中斷對外服務的情況下完成產品的升級。對於大型複雜的變更也存在中止服務部署完成後再重新提供服務的情況,但這種情況需要運維工程師通過儘可能的技術手段來避免。

  • 產品執行維護

    這個階段的主要工作包括:

    • (1) 監控:對服務執行的狀態進行實時的監控,隨時發現服務的執行異常和資源消耗情況;輸出重要的日常服務執行報表以評估服務/業務整體執行狀況,發現服務隱患;

    • (2) 故障處理:對服務出現的任何異常進行及時處理,儘可能避免問題的擴大化甚至中止服務。這之前運維工程師需要針對各類服務異常,如機房/網路故障、程式bug等問題制定處理的預案,問題出現時可以自動或手動執行預案達到止損的目的。除了日常小故障外,運維工程師還需要考慮產品不同程度受損情況下的災難恢復,包括諸如地震等不可抗力導致大規模機房故障、線上產品被刪除等對產品造成致命傷害的情況。

    • (3)容量管理:包括服務規模擴張後的資源評估、擴容、機房遷移、流量排程等規劃和具體實施。

  • 產品效能/成本優化

    產品對外提供服務最重要的一點是使用者體驗,使用者體驗中非常重要的是產品的可用性和響應速度。而如何用最合理的資源(如機器、頻寬等)支援產品提供高可用和高速度的使用者體驗,這也是運維工程師的重要職責。

  • 產品下線

    發展良好的網際網路產品將始終線上對外提供服務,但網際網路產品快速迭代,也存在相當多孵化的產品最後被淘汰的情況,這些產品都需要做下線處理,這個過程運維工程師主要做好資源回收的工作,將機器/網路等資源回收後納入資源池中供其它服務使用。