程序員的運維知識體系


image.png

作為程序員的你,能勝任運維的工作嗎?

背景

那么運維主要解決那些問題呢?

答:1.部署,但是大部分工作可自動化; 2.維護產線系統穩定;

作為程序員的你,清晰自己的程序如何部署上線非常重要,出問題了才知道如何修復。
作為程序員的你,設計的時候就要規避部署帶來的問題。

作為程序員的你,如果能勝任運維,那么你就天然具備成為為當下非常熱門的職位devOps工程師的知識儲備;

問題 答案
where are we?現狀 是程序員,但是運維知識了解很少
where are we go?目的 是程序員,也能勝任運維工作
how can we go there?實現路徑 梳理運維的知識體系,逐步學習

實現路徑

按照以下條目,補全知識體系,再找一個實際項目實戰即可。

shell

shell是最古老的運維語言,可直接跟操作系統打交道;

linux核心庫

掌握常見的核心庫,ls cd ps grep kill cut sort uniq

第三方庫

rsync 和 curl

虛擬化

虛擬機和docker

容器化

docker-swarm和kubernetes

運維框架

chef , puppet, ansible ,openstack

公有雲

aws, aliyun

小結

程序員了解運維的知識體系非常重要,無論是對定位問題還是架構設計都有一定幫助。

運維知識體系.png

補充

現在運維流行DevOps,高級一點就是AI,

運維技能:
1.懂網絡:
一般要求CCNA(最好CCNP)或同等水平

2.懂系統:
懂得主流的linux系統操作(Centos、ubuntu、debian等)
操作命令、維護、性能優化、故障排查

3.簡單安全:
一些簡單的安全知識

4.半個DBA:
一般中小公司前期沒有DBA,需要運維做
最起碼會SQL語句、主從
群集:redis、mysql、MongoDB等

5.會運維開發:
一般用於開發運維工具、運維系統(如CMDB、ELK日志系統等)
運維主要語言是shell、python/Go
python web框架:Django、tonado等
Go web框架:Beego、Gin、Iris等
有的還會用PHP及框架(TP、YII、Laravel做web前端)
中小公司運維一般都沒有專職的前端,需要運維兼職所以要學前端知識

6.懂點開發:
般都懂一點本公司開發的語言,如公司用PHP需要學習、如公司用java web也需要學習一下,目標:
1)更好的維護網站,排錯
2)運維自動化、DevOps,因DevOps是基於敏捷開發,極限編程的思想,所以得懂一點軟件工程

7.主職:
1)各種環境的搭建:LAMP、LNMP、負載均衡(nginx、haproxy、VLS等)、web群集、數據庫群集、主流的docker[必會]
2)排錯[必會]
3)批量安裝系統安裝:Cobbler[少]
4)部署工具:Ansible/SaltStack[重要]
5)主流的部署方案:如雲、docker、k8s等[必會]
6)監控系統:zabbix、Open-Falcon[至少掌握其中一種]
7)自動化:gitlab CI/CD、jenkins結合ansible/salt、docker[必會]
8)運維流程的制定
9)減少背鍋的次數:運維是出名的“背鍋俠”,制定明確的責任可以減少背鍋
10)等等

8.會點構架
一般中小公司沒有構架師,所以當業務增大出現瓶頸,運維得給出解決方案
和開發討論如何擴展

原創不易,關注誠可貴,轉發價更高!轉載請注明出處,讓我們互通有無,共同進步,歡迎溝通交流。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM