????????這是最近一大學(xué)習(xí)方向,找工作也想找這樣的運(yùn)維崗筑凫,但devops是什么滑沧?別人問(wèn)起我又該如何解釋呢?所以翻翻資料寫寫文章記錄下關(guān)于這個(gè)名詞的所思所想好了巍实。
????????所謂devops是一種軟件開發(fā)和運(yùn)維一體化的方法滓技,也是一種小步快跑的開發(fā)模式,也就是將大的需求分割為一個(gè)個(gè)小目標(biāo)來(lái)完成棚潦,與此同時(shí)又盡可能維穩(wěn)令漂。具體操作模式分為五大步,即持續(xù)開發(fā)、持續(xù)測(cè)試丸边、持續(xù)部署叠必、持續(xù)集成和持續(xù)監(jiān)控,然后將監(jiān)控監(jiān)測(cè)到的情況加以總結(jié)后妹窖,如果出現(xiàn)了新的改進(jìn)目標(biāo)纬朝,或者客戶提出了新的需求,那么又會(huì)再次開啟一輪開發(fā)\測(cè)試\部署.... 繼而就形成了骄呼,如下所示的一個(gè)持續(xù)性閉環(huán)共苛。
????????對(duì)于軟件開發(fā)人員而言devops就是敏捷型開發(fā)+自動(dòng)化運(yùn)維判没,而對(duì)于運(yùn)維人員來(lái)說(shuō)就是盡可能的實(shí)踐自動(dòng)化運(yùn)維,同時(shí)又參與到開發(fā)工作中去隅茎,這對(duì)于不善于軟件開發(fā)的運(yùn)維工程師而言應(yīng)該是不小的考驗(yàn)(至少我工作兩三年中澄峰,碰見的運(yùn)維工程師,沒(méi)哪個(gè)愿意做開發(fā)的)辟犀。
????????之前知乎上也有看到一些前端工程師也在學(xué)習(xí)devops俏竞,貌似做開發(fā)的對(duì)于devops熱情度挺高的,而對(duì)于運(yùn)維工程師而言大概首要目標(biāo)就是學(xué)習(xí)docker以及學(xué)習(xí)使用那些用來(lái)實(shí)踐devops運(yùn)維開發(fā)所需要的工具踪蹬。要做到devops中重點(diǎn)提及的持續(xù)性胞此,搭建并使用起這些工具應(yīng)該是必不可少的。
如下是查到的比較全的關(guān)于devops實(shí)踐所需要的一些工具(存在文章中跃捣,供之后學(xué)習(xí)用吧)漱牵。
代碼管理(SCM):GitHub、GitLab疚漆、BitBucket酣胀、SubVersion
構(gòu)建工具:Ant、Gradle娶聘、maven
自動(dòng)部署:Capistrano闻镶、CodeDeploy
持續(xù)集成(CI):Bamboo、Hudson丸升、Jenkins
配置管理:Ansible铆农、Chef、Puppet狡耻、SaltStack墩剖、ScriptRock GuardRail
容器:Docker、LXC夷狰、第三方廠商如AWS
編排:Kubernetes岭皂、Core、Apache Mesos沼头、DC/OS
服務(wù)注冊(cè)與發(fā)現(xiàn):Zookeeper爷绘、etcd、Consul
腳本語(yǔ)言:python进倍、ruby土至、shell
日志管理:ELK、Logentries
系統(tǒng)監(jiān)控:Datadog猾昆、Graphite毙籽、Icinga、Nagios
性能監(jiān)控:AppDynamics毡庆、New Relic坑赡、Splunk
壓力測(cè)試:JMeter、Blaze Meter么抗、loader.io
預(yù)警:PagerDuty毅否、pingdom、廠商自帶如AWS SNS
HTTP加速器:Varnish
消息總線:ActiveMQ蝇刀、SQS
應(yīng)用服務(wù)器:Tomcat螟加、JBoss
Web服務(wù)器:Apache、Nginx吞琐、IIS
數(shù)據(jù)庫(kù):MySQL捆探、Oracle、PostgreSQL等關(guān)系型數(shù)據(jù)庫(kù)站粟;cassandra黍图、mongoDB、redis等NoSQL數(shù)據(jù)庫(kù)
項(xiàng)目管理(PM):Jira奴烙、Asana助被、Taiga、Trello切诀、Basecamp揩环、Pivotal Tracker
(碎碎念,想起以前公司的上司一個(gè)35歲左右的工程師,從我入職第一天就開始念叨整個(gè)devops的邏輯幅虑,還總說(shuō)運(yùn)維早晚要被開發(fā)取代丰滑,總是無(wú)限憧憬開發(fā)的工作...然而一年零8個(gè)月后我都要辭職了,也不見公司實(shí)踐devops的理論倒庵,更別說(shuō)用起devops相關(guān)的工具...其實(shí)我總在想褒墨,不管是運(yùn)維也好還是開發(fā),他們身上應(yīng)該都有一個(gè)同樣的角色哄芜,即problem solver貌亭,為了解決問(wèn)題,運(yùn)維工程師去學(xué)習(xí)開發(fā)學(xué)習(xí)編碼认臊,做到持續(xù)學(xué)習(xí)應(yīng)該也是必然的吧)