給 DevOps 初學(xué)者的入門(mén)指南

當(dāng)我們談到 DevOps 時(shí),可能討論的是:流程和管理捎迫,運(yùn)維和自動(dòng)化晃酒,架構(gòu)和服務(wù),以及文化和組織等等概念窄绒。那么贝次,到底什么是"DevOps"呢?

什么是DevOps

隨著軟件發(fā)布迭代的頻率越來(lái)越高彰导,傳統(tǒng)的「瀑布型」(開(kāi)發(fā)—測(cè)試—發(fā)布)模式已經(jīng)不能滿足快速交付的需求蛔翅。2009 年左右 DevOps 應(yīng)運(yùn)而生,簡(jiǎn)單地來(lái)說(shuō)螺戳,就是更好的優(yōu)化開(kāi)發(fā)(DEV)搁宾、測(cè)試(QA)、運(yùn)維(OPS)的流程倔幼,開(kāi)發(fā)運(yùn)維一體化盖腿,通過(guò)高度自動(dòng)化工具與流程來(lái)使得軟件構(gòu)建、測(cè)試损同、發(fā)布更加快捷翩腐、頻繁和可靠。

flow.ci

關(guān)于 DevOps 是什么膏燃,DevOps 的合著者 John Willis 寫(xiě)了一個(gè)非常好的帖子茂卦,在這里.

Devops 的好處與價(jià)值

2016 DevOps 新趨勢(shì)調(diào)查報(bào)告顯示,74% 的公司在嘗試接受 DevOps组哩,那么 Devops 有哪些好處與價(jià)值呢等龙?

  • 代碼的提交直接觸發(fā):消除等待時(shí)間,快速反饋

  • 每個(gè)變化對(duì)應(yīng)一個(gè)交付管道:使問(wèn)題定位和調(diào)試變得簡(jiǎn)單

  • 全開(kāi)發(fā)流程高效自動(dòng)化:穩(wěn)定伶贰,快速蛛砰,交付結(jié)果可預(yù)測(cè)

  • 持續(xù)進(jìn)行自動(dòng)化回歸測(cè)試:提升交付質(zhì)量

  • 設(shè)施共享并按需提供:資源利用最大化

以上可以看出,DevOps 的好處更多基于在于持續(xù)部署與交付黍衙,這是對(duì)于業(yè)務(wù)與產(chǎn)品而言泥畅。而 DevOps 始于接受 DevOps 文化與技術(shù)方法論,它是部門(mén)間溝通協(xié)作的一組流程和方法琅翻,有助于改善公司組織文化位仁、提高員工的參與感柑贞。

Devops與持續(xù)集成

DevOps 是一個(gè)完整的面向IT運(yùn)維的工作流,以 IT 自動(dòng)化以及持續(xù)集成(CI)聂抢、持續(xù)部署(CD)為基礎(chǔ)钧嘶,來(lái)優(yōu)化程式開(kāi)發(fā)、測(cè)試琳疏、系統(tǒng)運(yùn)維等所有環(huán)節(jié)康辑。

縱觀各個(gè) DevOps 實(shí)踐公司的技術(shù)資料,最全面最經(jīng)典的是 flickr 的10+ deploys per day最佳實(shí)踐提到的 DevOps Tools 的技術(shù)關(guān)鍵點(diǎn):

1.Automated infrastructure(自動(dòng)化轿亮,系統(tǒng)之間的集成)
2.shared version control(SVN共享源碼) 
3.one step build and deploy(持續(xù)構(gòu)建和部署)
4.feature flags(主干開(kāi)發(fā))
5.Shared metrics
6.IRC and IM robots(信息整合)

以上的技術(shù)要點(diǎn)由持續(xù)集成/部署一線貫穿疮薇,主干開(kāi)發(fā)是進(jìn)行持續(xù)集成的前提,自動(dòng)化以及代碼周邊集中管理是實(shí)施持續(xù)集成的必要條件我注。毫無(wú)疑問(wèn)按咒,DevOps 是持續(xù)集成思想的延伸,持續(xù)集成/部署是 DevOps 的技術(shù)核心但骨,在沒(méi)有自動(dòng)化測(cè)試励七、持續(xù)集成/部署之下,DevOps就是空中樓閣奔缠。

我們做了一款 Hosted 持續(xù)集成產(chǎn)品—— flow.ci 掠抬,它融入了 workflow 機(jī)制的持續(xù)集成(CI)服務(wù),也可以理解為自動(dòng)化流程平臺(tái)校哎,除了集成代碼两波、編譯、測(cè)試之外闷哆,還可以集成常用的工具腰奋、靈活自定義流程,幫助你們塑造一個(gè)更優(yōu)秀智能的 DevOps 環(huán)境抱怔。

flow.ci

DevOps 的技術(shù)棧與工具鏈

Everything is Code劣坊,DevOps 也同樣要通過(guò)技術(shù)工具鏈完成持續(xù)集成、持續(xù)交付屈留、用戶反饋和系統(tǒng)優(yōu)化的整合局冰。Elasticbox 整理了 60+ 開(kāi)源工具與分類,其中包括版本控制&協(xié)作開(kāi)發(fā)工具灌危、自動(dòng)化構(gòu)建和測(cè)試工具康二、持續(xù)集成&交付工具、部署工具乍狐、維護(hù)工具赠摇、監(jiān)控固逗,警告&分析工具等等浅蚪,
補(bǔ)充了一些國(guó)內(nèi)的服務(wù)藕帜,可以讓你更好的執(zhí)行實(shí)施 DevOps 工作流。

  • 版本控制&協(xié)作開(kāi)發(fā):GitHub惜傲、GitLab洽故、BitBucket、SubVersion盗誊、Coding时甚、Bazaar

  • 自動(dòng)化構(gòu)建和測(cè)試:Apache Ant、Maven 哈踱、Selenium荒适、PyUnit、QUnit开镣、JMeter刀诬、Gradle、PHPUnit

  • 持續(xù)集成&交付:Jenkins邪财、Capistrano陕壹、BuildBot、Fabric树埠、Tinderbox糠馆、Travis CI、flow.ci Continuum怎憋、LuntBuild又碌、CruiseControl、Integrity绊袋、Gump赠橙、Go

  • 容器平臺(tái): Docker、Rocket愤炸、Ubuntu(LXC)期揪、第三方廠商如(AWS/阿里云)

  • 配置管理:Chef、Puppet规个、CFengine凤薛、Bash、Rudder诞仓、Powershell缤苫、RunDeck、Saltstack墅拭、Ansible

  • 微服務(wù)平臺(tái):OpenShift活玲、Cloud Foundry、Kubernetes、Mesosphere

  • 服務(wù)開(kāi)通:Puppet舒憾、Docker Swarm镀钓、Vagrant、Powershell镀迂、OpenStack Heat

  • 日志管理:Logstash丁溅、CollectD、StatsD

  • 監(jiān)控探遵,警告&分析:Nagios窟赏、Ganglia、Sensu箱季、zabbix涯穷、ICINGA镐作、Graphite驮瞧、Kibana

順便再分享一個(gè) DevOps BookMarks,涉及了DevOps方方面面的工具和內(nèi)容膨更,有興趣的同學(xué)可以去學(xué)習(xí)下诉稍。

DevOps 最佳實(shí)踐

自 2009 年提出 DevOps 的概念起蝠嘉,很多公司都開(kāi)始實(shí)施 DevOps,國(guó)外比較著名的有Amazon 杯巨、Google蚤告、Facebook等,國(guó)內(nèi)著名的有百度服爷、華為杜恰、阿里等。Amazon 是 DevOps 最佳實(shí)踐的最有說(shuō)服力的代表之一仍源。這是 Amazon 在 Why We Need DevOps 一個(gè)月的 DevOps 快照:

    11.6 seconds: 平均部署時(shí)長(zhǎng) (工作日)
    1,079: 一小時(shí)的最大部署量
    10,000: 主機(jī)平均并發(fā)接收部署量
    30,000: 主機(jī)最高并發(fā)接收部署量

從早期的大型 SOA (Service Oriented Architecture)到 DevOps 文化的形成心褐,Amazon 的每個(gè)工程師都可以完全獨(dú)立地編寫(xiě)代碼,測(cè)試代碼笼踩,版本管理逗爹,部署上線,服務(wù)監(jiān)測(cè)等任務(wù)嚎于。這套內(nèi)部強(qiáng)大的 DevOps 文化最終形成核聚變掘而, Amazon 一躍成為世界級(jí)別的云服務(wù)領(lǐng)導(dǎo)者 —— Amazon Web Services (AWS)。

除了 Amazon 外還有一些國(guó)內(nèi)外的 DevOps 實(shí)踐公司于购,一起來(lái)看看袍睡。

  • flickr

最全面最經(jīng)典的是 flickr 的10+ deploys per day,簡(jiǎn)直是 DevOps 教科書(shū)般的存在肋僧。

  • 百度

百度技術(shù)團(tuán)隊(duì)是如何利用DevOps斑胜,來(lái)看看解密百度持續(xù)交付方法與實(shí)踐控淡。

  • 騰訊

百度技術(shù)團(tuán)隊(duì)是如何利用DevOps,來(lái)看看解密百度持續(xù)交付方法與實(shí)踐止潘。

  • Netflix

解密Netflix 技術(shù)團(tuán)隊(duì)在整個(gè) DevOps 過(guò)程中使用的部署工具和服務(wù).

How We Build Code at Netflix.

  • Etsy

2009年掺炭,Etsy建立自己的工具來(lái)更好更快地部署發(fā)布,「Etsy 如何應(yīng)用 DevOps」值得一讀覆山。

  • LinkedIn

2009年,LinkedIn 團(tuán)隊(duì)就開(kāi)始使用自動(dòng)化部署工具泥栖,用于管理在1000+節(jié)點(diǎn)環(huán)境下發(fā)布上千個(gè)應(yīng)用/服務(wù)的復(fù)雜性簇宽。這是 LinkedIn 自己造的輪子 >>Deployment and Monitoring Automation with glu.

  • Airbnb

Airbnb 作為第三方平臺(tái)公司,需要迅速發(fā)布多個(gè)小型部署吧享。關(guān)于 Airbnb 的數(shù)據(jù)和基礎(chǔ)設(shè)施魏割,可以參考這個(gè)slides

  • Starbucks

星巴克的 DevOps 計(jì)劃>> Starbucks Announces #DevOpsTogether.

  • Ancestry.com

Ancestry.com 是 DevOps 運(yùn)動(dòng)的早期采用者钢颂,是 Continuous Delivery 和 DevOps 運(yùn)動(dòng)的先鋒钞它。想了解更多關(guān)于他們的過(guò)程、遷移和 DevOps 文化殊鞭,不妨查看一下他們的系列文章http://blogs.ancestry.com/techroots/category/devops/遭垛。

DevOps = Culture + Tools

如果想整個(gè)業(yè)務(wù)部署 DevOps,不但需要軟性要求即從上而下的培養(yǎng) DevOps 文化自上而下地進(jìn)行探索操灿,也有硬性工具鏈要求锯仪,才能獲得更高質(zhì)量的軟件交付。

最后趾盐,不論你是技術(shù)Leader庶喜,還是一名Dev、QA 或 Ops救鲤,實(shí)現(xiàn)全面的 DevOps 非常理想化也十分有挑戰(zhàn)久窟,希望這份 DevOps 初學(xué)者指南是一個(gè)好的開(kāi)始:)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市本缠,隨后出現(xiàn)的幾起案子斥扛,更是在濱河造成了極大的恐慌,老刑警劉巖丹锹,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件犹赖,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡卷仑,警方通過(guò)查閱死者的電腦和手機(jī)峻村,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)锡凝,“玉大人粘昨,你說(shuō)我怎么就攤上這事。” “怎么了张肾?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵芭析,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我吞瞪,道長(zhǎng)馁启,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任芍秆,我火速辦了婚禮惯疙,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘妖啥。我一直安慰自己霉颠,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布荆虱。 她就那樣靜靜地躺著蒿偎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪怀读。 梳的紋絲不亂的頭發(fā)上诉位,一...
    開(kāi)封第一講書(shū)人閱讀 51,365評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音菜枷,去河邊找鬼不从。 笑死,一個(gè)胖子當(dāng)著我的面吹牛犁跪,可吹牛的內(nèi)容都是我干的椿息。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼坷衍,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼寝优!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起枫耳,我...
    開(kāi)封第一講書(shū)人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤乏矾,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后迁杨,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體钻心,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年铅协,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了捷沸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡狐史,死狀恐怖痒给,靈堂內(nèi)的尸體忽然破棺而出说墨,到底是詐尸還是另有隱情,我是刑警寧澤苍柏,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布尼斧,位于F島的核電站,受9級(jí)特大地震影響试吁,放射性物質(zhì)發(fā)生泄漏棺棵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一熄捍、第九天 我趴在偏房一處隱蔽的房頂上張望烛恤。 院中可真熱鬧,春花似錦治唤、人聲如沸棒动。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至柜裸,卻和暖如春缕陕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背疙挺。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工扛邑, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人铐然。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓蔬崩,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親搀暑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子沥阳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容