首頁 > 行業新聞 > 詳情

DevOps和面向運維的開發

來源:倚博科技   時間:2018年5月6日

前言

現在大家都在討論DevOps,回憶過去,在2011年我還不了解DevOps的時候,開發和運維是如何協作的呢?我提出了自己的想法:面向運維的開發!

都是套路

我們試想一下,我們研發人員編寫代碼是為了什么?為了實現業務邏輯?實現業務功能?滿足某些業務需求?這些都沒錯。其實還有一個大家都贊同的目標就是為了線上運行!那么既然是為了線上運行,是不是應該按照線上運行的規范來著手開發呢?貌似一下子就把開發套進去了,哈哈。

這個觀點有點駭然,其實意義很簡單就是想在項目開始初期時運維就要參與進來,制定相關的標準和規范,開發在編碼過程中要遵守這些標準和規范,滿足運維提出的“可運維”的要求。因為我們的目標都是為了項目上線后可以更快、更穩定、更安全的運行,這個目標肯定會得到多個部門和領導的支持。

可運維的標準?

針對可運維的標準要看具體情況,不同的團隊、業務都有不同的標準。例如我之前就是在這幾個方面來著手制定“可運維”。

  • 部署:環境規劃、代碼托管、自動化部署、差異配置文件處理等。
  • 監控:某個新業務上線,是否能夠有效的監控、如何知道某個接口被調用的多少次?
  • 安全:都誰可以調用本業務的接口?(黑白名單),能調用多少次?(頻率限制)。
  • 備份:該業務是否可以做負載均衡?負載均衡需要考慮什么(數據同步)?
  • 日志:該業務都產生哪些日志?日志如何收集、日志如何歸檔、日志保留時間。

總結起來就是說開發、運維雙方進行協商,解決這些問題。例如開發可以編寫一個API,我們通過API可以進行性能監控,或者程序內部實現ACL等類似的溝通。

我相信在中小企業,很多運維人員都往往都是在業務上線后,才開始考慮這些問題,運維會處于一個完全被動的局面。所以我們要主動出擊,那么在項目初期,運維要把我們的運維相關的需求告知項目負責人和相關領導。

我們該怎么做?

下面我簡單的列舉了一些我們要做的事情,當然不僅僅這些:

  • 提前建立運維體系:包括但不局限于多維監控、安全、備份、負載均衡、日志平臺、部署系統等。
  • 了解業務:尤其是做應用運維,不懂業務就是耍流氓嘛。
  • 參與需求評審:項目開始在需求評審階段,把運維的標準化要求提出來,一起探討。
  • 主動溝通:在中小企業運維往往被忽視,那么就需要我們主動去溝通。
黑豹之月彩金