柚子快報(bào)邀請(qǐng)碼778899分享:運(yùn)維 DEVOPS——1
柚子快報(bào)邀請(qǐng)碼778899分享:運(yùn)維 DEVOPS——1
起源
DevOps作為一個(gè)概念是由Patrick Debois和Andrew Shafer在2009年的敏捷會(huì)議上提出的。他們?cè)噲D通過(guò)促進(jìn)協(xié)作文化和在整個(gè)軟件開(kāi)發(fā)生命周期中共享責(zé)任來(lái)彌合軟件開(kāi)發(fā)和操作之間的差距。 SRE,即站點(diǎn)可靠性工程,是谷歌在21世紀(jì)初首創(chuàng)的,用于解決管理大型復(fù)雜系統(tǒng)的操作挑戰(zhàn)。谷歌開(kāi)發(fā)了SRE實(shí)踐和工具,如Borg集群管理系統(tǒng)和Monarch監(jiān)控系統(tǒng),以提高其服務(wù)的可靠性和效率。 平臺(tái)工程是一個(gè)較新的概念,建立在SRE工程的基礎(chǔ)上。平臺(tái)工程的確切起源不太清楚,但它通常被理解為DevOps和SRE實(shí)踐的擴(kuò)展,重點(diǎn)是為支持整個(gè)業(yè)務(wù)視角的產(chǎn)品開(kāi)發(fā)交付一個(gè)全面的平臺(tái)。
DevOps
DevOps 是開(kāi)發(fā) (Dev) 和運(yùn)營(yíng) (Ops) 的復(fù)合詞,它將人、流程和技術(shù)結(jié)合起來(lái),不斷地為客戶提供價(jià)值。
DevOps 對(duì)團(tuán)隊(duì)意味著什么? DevOps 使以前孤立的角色(開(kāi)發(fā)、IT 運(yùn)營(yíng)、質(zhì)量工程和安全)可以協(xié)調(diào)和協(xié)作,以生產(chǎn)更好、更可靠的產(chǎn)品。通過(guò)采用 DevOps 文化、做法和工具,團(tuán)隊(duì)能夠更好地響應(yīng)客戶需求,增強(qiáng)對(duì)所構(gòu)建應(yīng)用程序的信心,更快地實(shí)現(xiàn)業(yè)務(wù)目標(biāo)。
DevOps做法包括:
CICD 版本控制 敏捷軟件開(kāi)發(fā) IaaS基礎(chǔ)結(jié)構(gòu)即代碼 配置管理 持續(xù)監(jiān)視
DevOps的興起源于企業(yè)有意彌合運(yùn)維與開(kāi)發(fā)之間的裂隙,但在實(shí)施過(guò)程中有部分企業(yè)簡(jiǎn)單粗暴地將其理解為“讓開(kāi)發(fā)人員去負(fù)責(zé)運(yùn)維的工作”,甚至讓高級(jí)開(kāi)發(fā)人員接管了運(yùn)維角色,導(dǎo)致了開(kāi)發(fā)漸漸不堪重負(fù)。
平臺(tái)工程
平臺(tái)工程定義為“設(shè)計(jì)和構(gòu)建工具鏈和工作流的學(xué)科,為云原生時(shí)代的軟件工程組織提供自助服務(wù)功能。平臺(tái)工程師提供的集成產(chǎn)品通常被稱為‘內(nèi)部開(kāi)發(fā)人員平臺(tái)(IDP)’,涵蓋了應(yīng)用程序整個(gè)生命周期的運(yùn)營(yíng)需求?!?/p>
簡(jiǎn)單來(lái)說(shuō),平臺(tái)工程面向的是開(kāi)發(fā)人員,作為一套自助式內(nèi)部開(kāi)發(fā)者平臺(tái)的機(jī)制和架構(gòu),用于構(gòu)建和運(yùn)營(yíng)支持軟件交付和生命周期管理,主要目標(biāo)是優(yōu)化開(kāi)發(fā)者體驗(yàn),并加快產(chǎn)品團(tuán)隊(duì)為客戶創(chuàng)造價(jià)值的速度。
平臺(tái)工程對(duì)于彌合開(kāi)發(fā)和運(yùn)維之間的溝壑是有助益的。內(nèi)部開(kāi)發(fā)平臺(tái)和DevOps團(tuán)隊(duì)的工作會(huì)有一定的交集,DevOps工程師也會(huì)有一定機(jī)會(huì)過(guò)渡到平臺(tái)工程師的角色,在整個(gè)組織中產(chǎn)生更廣泛的影響,并將他們的專業(yè)知識(shí)應(yīng)用于為開(kāi)發(fā)人員提供更好的體驗(yàn)。開(kāi)發(fā)人員不必在基礎(chǔ)設(shè)施和其他Ops任務(wù)上陷入泥沼,運(yùn)維可以更聚焦向上游轉(zhuǎn)移到更關(guān)鍵的任務(wù)。內(nèi)部開(kāi)發(fā)人員平臺(tái)使開(kāi)發(fā)人員和運(yùn)維人員能夠?qū)W⒂诟髯怨ぷ鞯暮诵穆氊?zé)和優(yōu)勢(shì),真正實(shí)現(xiàn)“術(shù)業(yè)有專攻”“專人做專事”。
區(qū)別
DevOps 和平臺(tái)工程的主要區(qū)別在于:
DevOps關(guān)注的是軟件開(kāi)發(fā)與運(yùn)維之間的協(xié)作與溝通,而平臺(tái)工程關(guān)注的是為軟件開(kāi)發(fā)提供一個(gè)可靠、靈活、易用的平臺(tái)。
DevOps涉及到多個(gè)角色(如開(kāi)發(fā)人員、測(cè)試人員、運(yùn)維人員等),而平臺(tái)工程涉及到一個(gè)專門的團(tuán)隊(duì)(即平臺(tái)團(tuán)隊(duì)),負(fù)責(zé)構(gòu)建、維護(hù)、優(yōu)化平臺(tái)。
DevOps使用各種現(xiàn)有或定制的工具來(lái)實(shí)現(xiàn)持續(xù)集成、持續(xù)交付、持續(xù)部署等目標(biāo),而平臺(tái)工程使用統(tǒng)一的內(nèi)部開(kāi)發(fā)平臺(tái)(IDP)來(lái)提供這些功能。
DevOps需要不斷地調(diào)整和改進(jìn)流程和文化,以適應(yīng)不同的項(xiàng)目和需求,而平臺(tái)工程需要不斷地更新和擴(kuò)展平臺(tái)功能,以滿足不同的用戶和場(chǎng)景。
結(jié)論
采用DevOps方式來(lái)將人、流程和技術(shù)結(jié)合起來(lái),不斷地提供價(jià)值。
規(guī)程
角色
DevOps是Develop與Operations的縮寫,它是企業(yè)內(nèi)開(kāi)發(fā)、技術(shù)運(yùn)營(yíng)和質(zhì)量保障這三方面工作的融合,用于促進(jìn)開(kāi)發(fā)、技術(shù)運(yùn)營(yíng)和質(zhì)保部門之間的溝通、協(xié)作與整合。
研發(fā)人員:開(kāi)發(fā)是由功能性需求(通常與業(yè)務(wù)需求直接相關(guān))驅(qū)動(dòng)的。
運(yùn)營(yíng)人員:運(yùn)營(yíng)是由非功能性需求(例如可獲得性、可監(jiān)視性、可靠性、性能等)驅(qū)動(dòng)的。
流程
DevOps流程包含:計(jì)劃(plan)、編碼(code)、編譯(build)、測(cè)試(test)、發(fā)布(release)、部署(deploy)、運(yùn)營(yíng)(operate)、監(jiān)控(monitor),這是一個(gè)循環(huán)的過(guò)程。
PLAN:開(kāi)發(fā)團(tuán)隊(duì)根據(jù)客戶的目標(biāo)制定開(kāi)發(fā)計(jì)劃 CODE:根據(jù)PLAN開(kāi)始編碼過(guò)程,需要將不同版本的代碼存儲(chǔ)在一個(gè)庫(kù)中。 BUILD:編碼完成后,需要將代碼構(gòu)建并且運(yùn)行。 TEST:成功構(gòu)建項(xiàng)目后,需要測(cè)試代碼是否存在BUG或錯(cuò)誤。 DEPLOY:代碼經(jīng)過(guò)手動(dòng)測(cè)試和自動(dòng)化測(cè)試后,認(rèn)定代碼已經(jīng)準(zhǔn)備好部署并且交給運(yùn)維團(tuán)隊(duì)。 OPERATE:運(yùn)維團(tuán)隊(duì)將代碼部署到生產(chǎn)環(huán)境中。 MONITOR:項(xiàng)目部署上線后,需要持續(xù)的監(jiān)控產(chǎn)品。 INTEGRATE:然后將監(jiān)控階段收到的反饋發(fā)送回PLAN階段,整體反復(fù)的流程就是DevOps的核心,即持續(xù)集成、持續(xù)部署。
柚子快報(bào)邀請(qǐng)碼778899分享:運(yùn)維 DEVOPS——1
文章鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。