日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

哪吒:猪八戒十年DevOps演进之路

發布時間:2025/3/16 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 哪吒:猪八戒十年DevOps演进之路 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

時間先回退到2011年,那時候我剛加入豬八戒,加入公司之前我還不知道svn、git是什么東西,連發布代碼也是用的最傳統的FTP上傳方式。而早在2009年,來自Flickr員工在一場會議中所揭露了如何改善Dev和Ops的合作,達到了單日10次發布的高速度,催生了后來的DevOps運動。(題外話FTP的方式幾秒就能發一次代碼)所以DevOps到底解決了什么問題呢?接下來結合豬八戒的不同階段給大家介紹一下我們的DevOps演進之路。

豬八戒devops演進之路

1、初創期

雖然2009年就提出了DevOps,但國內很少人聽說過這個名稱,但是這并不代表我們沒有去解決dev和ops的協作問題。

那一年豬八戒網僅有4臺物理機,托管在某IDC機房,總的工程數20左右,均為PHP工程,技術人員20左右,由于迭代的頻率很高,每天發布30+次,公司僅有2個運維人員,所以如果沒有自動化的方式是很難完成這么高頻率的發布的,所以有了公司第一版的“DevOps”。

如下圖:

上圖的流程特別簡單,使用svn管理代碼,有兩個固定的分支,一個用于發布到測試環境,一個用于發布到線上環境。研發提交代碼后,通過svn自帶的hooks功能配合rsync將代碼分發到對應的服務器,由于當時所有應用都是部署在一臺物理機,所以只需要全量pull即可完成發布。通過這套簡單的流程即可實現研發合并并提交代碼即可發布上線。解決了快速發布的問題。

?

2、業務增長期

時間到了2013年,業務也快速增長服務器、應用、研發人員都出現了很大規模的增長,伴隨著很多問題也出現了,隨意的發布讓線上環境變得很不穩定,配置文件變更不當導致全站500頻頻出現。虛擬機的引入也讓之前的發布方式變得難以支持。所以此時急需對之前的發布方式進行升級,來滿足現階段的需求。

如下圖:

這個階段最大的變化是大量使用虛擬化,并對應用進行了獨立部署,同時為了控制發布取消了svn hooks引入了SYN系統(我們內部取名)。

SYN主要解決以下幾個問題

1、權限控制(可以控制到工程、環境、發布時間)

2、引入exclude_list來解決配置文件變更的問題

3、工程代碼映射關系(CMDB1.0維護工程和機器的關系)

4、代碼分發

通過SYN系統的引入,線上的穩定性開始變好,配置文件研發提交申請由運維人員統一進行維護,出現配置異常的情況也大幅下降,然而發布的效率也相對之前減少了很多。

3、多語言

時間到了2015年,業務規模和人員規模再次出現了大幅增長,開發語言也由以前的純PHP到大量引入JAVA語言,顯然之前的SYN系統已經不能滿足需求。這時我們開始引入Jenkins來解決CI的事情。其他結構基本沒有多大的變化。

如下圖:

我們繼續沿用了之前的SYN系統來控制權限,但是CI部分全部交給了Jenkins,這個階段我們的CMDB也完成了代碼、工程、資源的100%關聯。所以CD部分也變得非常方便,有一個短暫的階段為了解決多部門聯調的問題,出現了10套測試環境,得益于CMDB信息完善以及一些自動化的能力,所以在資源足夠的情況下可以很快速的完成一套環境的搭建。

4、微服務、容器

時間到了2016年,這個時候公司也引入了很多大廠的大牛,微服務、容器、DevOps也進入了我們世界,于是就有了長達2年的DevOps研發之路。

先看一個圖:

這種架構我相信了解過DevOps的都不會陌生,這里我重點介紹3個不一樣的地方。

(1)基于JIRA的研發流程管控。通過JIRA管理研發流程,發布的時候嚴格校驗狀態,確保所有發布均符合研發規范。

(2)SDL和流水線結合(DevSecOps),從創建工程的安全評審,到每次提交代碼的自動掃描,再到發布的安全測試,確保每一次發布的代碼都是安全的。

(3)豬八戒容器云,完美實現了流水線和多個K8S集群的封裝,解決了跨機房部署等問題,目前豬八戒網90%的工程均運行在容器中,較之前使用虛擬機部署減少資源60%以上,大幅減少了IT成本,同時服務發現、滾動發布、動態擴容等也讓業務更加穩定。

附容器云項目核心組件(如果大家對容器云感興趣可以在評論區留言):

目前我們的流水線每天支持業務發布150+次,發布成功率99.8%+,完成一次從測試環境到線上發布平均耗時595s。

?

5、一站式研發平臺

DevOps只是研發過程中的一部分,所以我們需要有一套新的平臺來解決工程的全生命周期管理。去年10月份我們開始以需求為出發點,圍繞工程全生命周期管理的平臺打造。底層架構和上面的沒有什么區別,只是對產品做了大量減法,讓產品的用戶體驗更好,下面從功能角度簡單介紹一下我們的一站式研發平臺。

(1)重新定義工程類型,對歷史所有工程進行盤點最終梳理出6大類型便于研發準確的創建工程。根據類型不同最小化的讓用戶輸入信息。

(2)本著誰定義,誰負責的DevOps理念,一站式研發平臺把所有權限交給了工程負責人。工程負責人可以完成配置、發布,接收告警等所有工程管理配置功能。

(3)需求發布

前面已經提到,我們對研發流程管控是較為嚴格的,任何需求的發布都需要經過嚴格的流程審批,每個流程可以發布的內容也是嚴格限制的。為此我們引入需求管理,把每次交付串聯起來。

(4)技術架構

一站式研發平臺圍繞項目全生命周期,以場景化的方式把可能用到的研發工具串聯起來,各個功能仍然由不同的子系統完成。整體架構如下圖。

?

對于云原生的一些看法

我個人是比較擁抱云的,特別是云原生,我們目前業務雖然都在云上,但是全都是使用的云的基礎設施,其他服務全都是內部團隊在做,從投入的角度來說確實很大,而且期間也不乏走了很多彎路,我也聽到很多關于擁抱云原生應用后的一些擔憂,確實有利有弊,自建對于技術團隊來說更加靈活因為技術相對可控,一旦擁抱云就會有很多限制,畢竟云上都是通用能力,如果有大量定制化的需求很難得到滿足。另外如果企業已經投入了大量的成本有一套自有的能力,上云短期也會有很大的適應、改造和資金成本。

引用孫子兵法開篇的第一句話“兵者,國之大事,死生之地,存亡之道,不可不察也”。是否擁抱亦是如此。


本篇文章主要是整體介紹,不涉及過多技術實現細節,如果各位對哪方面感興趣可以在文末留言,后續我們的技術大牛輸出相關技術細節文章。

?

- EOF -

想要加入中生代架構群的小伙伴,請添加群合伙人大白的微信

申請備注(姓名+公司+技術方向)才能通過哦!

技術人成長精彩文章推薦

阿里高級技術專家宋意:平凡人在阿里十年的成長之旅

RocketMQ 大神丁威親述參與開源社區的方式

多隆:從工程師到阿里巴巴合伙人

為什么說IT科技公司應該留住35歲員工?

工程師的基本功是什么?如何練習?聽美團技術大咖怎么說

美團技術專家云鵬:寫給工程師的十條精進原則!

找CTO杜仲:再談中年危機和應對策略

阿里合伙人范禹:常掛在阿里技術人嘴邊的四句土話

Erik Dietrich:二十年的編程,教會我的五件事!

支付寶研究員兼OceanBase總架構師楊傳輝:我在數據庫夢之隊的十年成長路

Mobvista首席架構師蔡超:工作感悟之失敗與成功,我的8點總結

奈學教育CEO孫玄:成為一個有情懷的工程師,我的12點思考

Netstars CTO陳斌:架構師的成長之路

阿里技術專家麒燁:修煉測試基本功

左耳朵耗子:程序員如何把控自己的職業?

阿里6年,我的技術蛻變之路!

程序員管理思維修煉,只需要反復閱讀本篇

“教授”洪強寧和他穿越的技術江湖

大神手把手教你投身技術18年而沒有中年危機的秘訣

阿里合伙人程立:阿里15年,我撕掉了身上兩個標簽

CTO 技術管理的“三板斧”

技術管理者必備管理模板

張一鳴:優秀年輕人的五個特點

技術團隊的工程師文化:效率與價值

美團大咖:程序員35歲前應做好的技術積累

史海峰:萬字長文剖析技術人如何成長

? ?END ? ?? #技術人必備#

點個在看,讓更多人看見

總結

以上是生活随笔為你收集整理的哪吒:猪八戒十年DevOps演进之路的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。