回覆列表
-
1 # 企業數字化
-
2 # 程式設計師的自我修養thx
我理解這樣的程式設計師即是開發也是運維,所以需要比開發學的更多東西。另外這種一般也是小公司,大公司基本分工明確,各司其職。
-
3 # 一一哥Sun
其實目前隨著技術的發展,以後的趨勢會越來越想DevOps的目標發展。
前端已經不是單純的html+css+js那麼簡單,更多的是要求一個前端既能開發pc端,又能開發移動端,還能開發小程式,甚至連資料庫和後臺都要前端搞定。也就是說連前端都在向全棧的趨勢發展。
那麼後端呢?後端也不再是單純的架構與介面開發,資料庫的架構設計與最佳化維護,程式的部署與上線,專案的自動化運維,軟體更新後要實現不停機的釋出。以前可能寫後端的就是寫後端的,釋出部署運維都是有伺服器運維人員搞定,但是最近越來越多的招聘要求表明,公司更多的是要一個可以搞定運維的後端開發人員。
比如Java中目前比較流行的服務網格化,K8s,Jenkins,docker等技術體系的出現,這些東西都要求Java開發人員去掌握,那麼其實這些東西不都是運維人員應該乾的嗎?
隨著智慧化的發展,以後的程式碼編寫肯定不是再像以前那樣,一個專案動不動就幾十萬幾百萬幾千萬行程式碼,更多的是輕量級開發,可以很快速的實現專案開發。那麼剩下的操作,運維其實就很重要了。
所以現在,尤其是一些中小型公司,公司裡甚至都沒有專門的運維人員,後端程式設計師一肩挑,前後端+運維自己搞定,這必然是以後的發展趨勢。
DevOps主要體現出兩方面的理念:開發運維一體化和自動化。
一體化的著眼點主要是讓程式設計師有大局的觀念,不要只顧著寫好自己模組的程式碼就交差,而是要從全域性的角度考慮自己的程式碼對上下游有什麼影響,在實際的生產環境中會不會有問題,在極端情況下會不會對服務效能、安全等方面產生影響等。
從自動化的角度看,程式設計師既然擁有掌控程式碼的能力,就應該具有不做重複事情的理念。計算機的發明,就是用來解決人類,把一些重複的事情交給計算機,只要提供指令,計算機就可以又快又好地一遍遍的執行。軟體從開發到上線,中間經歷很多步驟,如果因為修改一個小bug,而一遍遍地手工重複上線過程,一來影響效率,二來人手操作難免失誤,所以DevOps的提出,就是把這個流程自動化,可以一切按照既定的流程走,避免各種意外發生。