【云駐共創】 華為云大咖帶你玩轉云原生 DevSecOps
一、敏捷開發以及 DevOps 思想

1.1 新形勢下企業面臨多重挑戰
挑戰
詳情
交付頻率高,研發周期短
1.?????? 小特性 1 天交付一次,版本 2 周交付一次
2.?????? 快速交付、快速反饋
3.?????? 精益創業模式
跨地域協作多,部署發布復雜
1.?????? 跨地域溝通協作多、效率低
2.?????? 研發環境、類生產環境、生產環境不一致
3.?????? 多 region 并行部署,上線復雜
4.?????? 急需一站式開發、測試、部署、運維平臺
可靠性與安全要求高
1.?????? 7*24 小時運行,可靠性要求高
2.?????? 公有云服務,安全要求高
3.?????? 核心研發數據在傳輸與存儲上存在風險
1.2 敏捷價值觀-敏捷軟件開發宣言
我們一直在實踐中探尋更好的軟件開發方法,
身體力行的同時也幫助他人。由此我們建立了如下價值觀:
個體和互動?高于 流程和工具
工作的軟件?高于 詳盡的文檔
客戶合作?高于 合同談判
響應變化?高于 遵循計劃
也就是說,盡管右項有其價值,
我們更重視左項的價值。
1.3 敏捷宣言遵循的原則
我們遵循以下原則:
我們最重要的目標,是通過持續不斷地
及早交付有價值的軟件使客戶滿意。
欣然面對需求變化,即使在開發后期也一樣。
為了客戶的競爭優勢,敏捷過程掌控變化。
經常地交付可工作的軟件,
相隔幾星期或一兩個月,傾向于采取較短的周期。
業務人員和開發人員必須相互合作,
項目中的每一天都不例外。
激發個體的斗志,以他們為核心搭建項目。
提供所需的環境和支援,輔以信任,從而達成目標。
不論團隊內外,傳遞信息效果最好效率也最高的方式是
面對面的交談。
可工作的軟件是進度的首要度量標準。
敏捷過程倡導可持續開發。
責任人、開發人員和用戶要能夠共同維持其步調穩定延續。
堅持不懈地追求技術卓越和良好設計,敏捷能力由此增強。
以簡潔為本,它是極力減少不必要工作量的藝術。
最好的架構、需求和設計出自自組織團隊。
團隊定期地反思如何能提高成效,
并依此調整自身的舉止表現。
1.4 價值驅動-敏捷與傳統瀑布型模式的最大區別
基于敏捷的方式,可以實現研發過程的持續高可視性、高適應性,更早且持續產出業務價值,更早發現和解決風險
瀑布型模式:屬于計劃驅動形式,在固定需求的基礎上進行計劃和排期,估算出需要的資源和預計的時間,再在實際的生產過程中不斷的調整更詳細的需求和時間。
敏捷模式:屬于價值驅動形式,固定了資源和最小發布周期的時間,通過這些信息確定最有價值的任務,也就是通過現有的資源開發最大價值的功能,并且每個迭代都是如此。
敏捷開發和傳統開發的區別:
可視性:敏捷的可視性最高,因為每個迭代都規劃了目前最有價值的功能,這樣小而頻繁的交付可以很清晰展示出任務的進度。而傳統開發,只有在項目啟動和項目最終整合階段可視性才是最好的。
適應性:敏捷生來適應性就超強,不僅可以選擇哪些是最有價值的任務,也可以根據項目的實際需要,臨時調換任務。而傳統開發隨著項目整體的不斷向前推進,其適應性越來越差。
業務價值:敏捷一直強調開發最有價值的功能。
風險:在敏捷中每個迭代都是實現了最有價值的需求,所以在開發前期就實現了價值最大的功能,越往后相對最開始的價值越低,所以,越往后風險越小。而傳統開發只有在最后整合階段才能看到最終的成品,才能發現風險。
1.5 Scrum 團隊模型(三種角色)
Product Owner
PO 是一個人并只能由一個人來承擔
負責管理產品待辦事項表(Product Backlog)并保證其對于客戶和團隊保持透明
對產品待辦事項表進行優先級排序
與團隊一起來進行工作量估算
對于項目的成功負責并保證投資回報率(ROI)
Scrum Master
保證 Scrum 團隊可以遵守 Scrum 的價值,實踐和規范
幫助 Scrum 團隊和組織采用 Scrum模式進行項目流程組織
指導并帶領團隊變得更加高效,實現更高質量
保護團隊不要受外界因素的干擾
保證各個不同角色之間的良好協作,消除障礙
幫助 PO 更好地利用團隊的能力
不要管理團隊
團隊
最佳團隊大小:5-9 人
多功能團隊:程序員,測試人員,設計師,數據庫管理員和架構師
保證團隊成員全職參與開發
自我管理,沒有頭銜之分,不組建子團隊
成員更替只能在迭代之前進行,最佳方式是在發布之間進行
1.6 DevOps 是什么
1.6.1 DevOps 的概念
根據維基百科,DevOps(Development 和 Operations的組合詞)是一種重視“軟件開發人員(Dev)”和 “IT 運維技術人員(Ops)”之間溝通合作的文化、運動或慣例。透過自動化“軟件交付”和“架構變更”的流程,來使得構建、測試、發布軟件能夠更加地敏捷、頻繁和可靠。
1.6.2 DevOps 專家的觀點
DevOps 打破開發和運維之間的孤島,積極協作。廣義上指整個組織級的協作優化,包括 IT、HR、財務和公司供應商。約束理論告訴我們,需要優化整體而非單個“孤島”。整體是與客戶問題相關的業務,從精益角度來說,是整個價值鏈。
DevOps 通常指的是新興的專業化運動,提倡開發和 IT 運維之間的高度協同,從而在完成高頻部署的同時,提高生產環境的可靠性、穩定性、彈性和安全性。DevOps 聚焦實現更快的上市時間,減少 IT 浪費,提高組織效率。
1.6.3 DevOps 領先企業的觀點
亞馬遜認為,DevOps 側重于改善協作、溝通,整合軟件開發與 IT 運維。是一個總稱,用來描述一種理念、文化變革和模式轉變。
DevOps 幫助亞馬遜從軟件開發敏捷走向業務和運維的敏捷。
開發階段,DevOps 重點放在代碼構建,代碼覆蓋,單元測試,打包和部署;運維階段,在基礎設施上聚焦環境分配,配置,編排和部署。
微軟認為,DevOps 不僅是一項技術或工具集,也是觀點和文化的轉變。它結合人、流程、適當的工具,使應用程序生命周期更快,更可預測。
我們應將 DevOps 視為過程而非目的,應該選擇適當范圍的選項,增量式實施,通過這些項目展示成功,學習,并演進。
1.7 DevOps 生命周期過程
下面是 DevOps 全流程的圖示
由開發完成的功能代碼,需要編譯構建之后才能部署到服務器或者容器,團隊不斷的部署新功能,這個不斷循環往復的過程的就是持續集成。一個個功能通過測試,交付運營的不斷循環往復的過程就是持續交付。通過一些工具進行監控、收集指標、分析數據,實現對整個過程的度量。這些過程都是自動化完成的,也就是一個完整的 DevOps 過程。
二、華為云 HE2E DevOps 框架與 DevCloud 介紹
2.1 HE2E DevOps 框架
HE2E即華為端到端的DevOps實施框架,是結合了華為30年研發經驗并集合了業界先進的實踐所形成的一套可操作可落地的敏捷開發方法論。
2.2 華為云 DevCloud – 一站式 DevOps 平臺
軟件開發平臺(DevCloud)是面向開發者提供的一站式云端DevOps平臺,即開即用,隨時隨地在云端交付軟件全生命周期,覆蓋需求下發、代碼提交、代碼檢查、代碼編譯、驗證、部署、發布,打通軟件交付的完整路徑,提供軟件研發流程的端到端支持,全面支撐落地DevOps。
2.3 端到端工具鏈服務 – 涵蓋軟件生命周期環節
提供端到端工具服務、覆蓋整個生命周期,并與其它產品預集成,開箱即用,簡化應用云上開發,云上部署,簡化部署、發布,簡化應用上云。內嵌研發最佳工程實踐、專業的敏捷項目管理和迭代規劃、豐富的代碼檢查規范、質量門禁控制的流水線,幫助企業縮短達成高質量高效率研發的時間。
2.3.1 持續規劃與設計
2 種項目管理流程(Scrum 和看板)
自定義的研發作業流
14 種度量看板
6+ 華為實踐模板 Wiki
2.3.2 持續開發和集成
10+ 種語言和 20+ 種框架
CloudIDE 支持 10+ 種編程語言,30 秒極速啟動,對接多種代碼倉庫
開源鏡像站支持 100+ 開源組件、工具操作系統加速下載,全國 CDN,國內唯一的 Maven Central 鏡像站
2.3.3 持續測試與反饋
云測支持 REST、Swagger 等多種接口免編碼功能測試,利用云端彈性資源快速模擬 3K+ 用戶并發性能測試
2萬+ 真機,利用精準圖像和空間識別技術測試移動 APP 兼容性
2.3.4 持續安全與審計
主機漏洞掃描進度高、支持多種通過 Linux 系統以及華為自研 EulerOS 系統
Web 漏洞掃描,零環境搭建成本、一鍵完成掃描
提供清晰簡潔的掃描報告和修復建議
2.3.5 持續部署與發布
可視化編排流水線,支持并行/串行、人工卡點、質量門禁、構建/檢查/測試/部署等多任務類型、分層分級流水線等
利用統一調度引擎、云上彈性資源能力實現百萬級并發任務調度能力
2.3.6 持續運維與監控
全方位覆蓋業務、應用和基礎設施層監控
指標、日志、性能、告警等多維度關聯分析
2.3 DevSevcOps 的價值和實踐
權衡 DevOps 速度與現有安全要求的需求催生了一個名為 DevSecOps的概念,DevSecOps 基于 “安全問題,人人有責”的原則。它強調應用程序開發人員可以怎樣把安全檢查與他們的集成和部署流水線構建在一起。
2.4 持續集成與持續交付
持續集成強調開發人員提交了新代碼之后,立刻進行構建、單元測試,根據構建和測試結果,我們可以確定新代碼和原有代碼能否正確的集成在一起。
持續交付是持續集成的延續,將集成后的代碼部署到類生產環境,確保可以以可持續的方式快速向客戶發布新的更改。如果代碼沒有問題,可以繼續手動部署到生產環境中。
三、華為開發者認證框架
華為云開發者認證體系,貼合數字產業生態戰略,在云原生、人工智能、大數據、物聯網、區塊鏈、移動開發、數據庫等技術領域建立賦能體系以及認證標準,與人社部、工信部頒發的新興職業能力標準相匹配,提供清晰的開發者成長路徑。
關于云原生入門級學習認證,請參考官方連接,云原生入門級學習認證_云原生入門級開發者認證_華為云開發者學堂-華為云 (huaweicloud.com)。
本文整理自華為云社區【內容共創】活動第15期。
https://bbs.huaweicloud.com/blogs/345822
任務2:華為云大咖帶你玩轉云原生DevSecOps
上云必讀 云原生 云硬盤 EVS 敏捷開發
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。