chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

什么是DevOps?DevOps的優(yōu)勢以及生命周期

馬哥Linux運維 ? 來源:OSC開源社區(qū) ? 作者:炒蠶豆吃蹦豆 ? 2021-06-29 17:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在大多數(shù)情況下,軟件應用程序開發(fā)由于其規(guī)范性和復雜性而變得很耗時。為了在短時間內(nèi)交付高質量應用程序,軟件開發(fā)人員正在遵循一套通用的實踐,稱為DevOps生命周期。那么,DevOps在軟件應用程序開發(fā)領域中扮演著什么角色?讓我們深入了解其含義、用途以及DevOps生命周期中的每個關鍵階段。

什么是DevOps

在DevOps之前,從業(yè)人員使用瀑布模型或敏捷開發(fā)模型進行軟件項目開發(fā):瀑布模型或順序模型是軟件開發(fā)生命周期(SDLC)中的一種開創(chuàng)性方法,在這個模型中,軟件開發(fā)成為一個線性過程,不同的階段和任務被依次定位;而敏捷開發(fā)涉及各種方法的使用和SDLC中多個團隊的協(xié)作。

瀑布模型的線性和敏捷開發(fā)的跨功能性無法確??焖?、連續(xù)地交付無缺陷的軟件應用程序。軟件行業(yè)日益清晰地認識到:為了按時交付軟件產(chǎn)品和服務,開發(fā)和運維工作必須緊密合作。這樣的情況下,DevOps應運而生。

DevOps是一個簡單的縮寫詞,源于“development(開發(fā))”和“Operation(運維)”兩個詞,它涉及以特定的方式實踐應用程序開發(fā)的任務。更廣泛地說,軟件開發(fā)和IT運維的結合被稱為DevOps。

DevOps的優(yōu)勢

DevOps在促進IT運維和軟件開發(fā)之間的敏捷關系方面的有效性受到幾個因素的支持。通過在軟件開發(fā)和IT運維部門的多個業(yè)務部門內(nèi)實現(xiàn)更好的通信,DevOps通過以下優(yōu)勢的結合改進了軟件的總體生產(chǎn):穩(wěn)定的運行環(huán)境、超快速的交付、堅實的合作、時間優(yōu)化(特別是在修復/維護階段)、持續(xù)創(chuàng)新。

這樣的技術優(yōu)勢使得DevOps成為世界上軟件應用程序開發(fā)中備受追捧的方法。要了解DevOps如何實現(xiàn)這些優(yōu)勢,了解DevOps的完整生命周期是很重要的。讓我們分解DevOps中的關鍵階段,并找出實現(xiàn)完美、連續(xù)和快速軟件開發(fā)的過程。

解密DevOps生命周期

DevOps主要用于電子商務網(wǎng)站、云本地應用程序和其他大型分布式平臺的應用程序開發(fā)。它由多個階段組成,這些階段統(tǒng)稱為DevOps生命周期:持續(xù)發(fā)展、持續(xù)集成、持續(xù)測試、持續(xù)反饋、持續(xù)監(jiān)測、持續(xù)部署、持續(xù)運維。這七個階段是能確保DevOps優(yōu)化從提出到生產(chǎn)再到完整交付的整個開發(fā)流程的主要組成部分。下面是對DevOps生命周期的階段性、完整的分解和分析。

持續(xù)開發(fā)

DevOps生命周期的第一個階段是規(guī)劃和軟件編碼。其中規(guī)劃包括理解項目的遠景,并基于這些遠景設想軟件。做規(guī)劃不涉及任何主要工具,而維護代碼需要使用一系列工具。開發(fā)應用程序源代碼的第一步是從不同的編程語言中進行選擇。

JavaScript,C / C ++,Ruby和Python在DevOps中主要用于編碼應用程序。維護代碼的過程稱為源代碼管理(SCM),其中使用了諸如Git、TFS、GitLab、Subversion等版本控制工具。在SCM過程中,Git是支持分布式版本控制的首選工具。

它通過循環(huán)的非線性工作流對數(shù)據(jù)保證做出貢獻。對于涉及大量合作者參與開發(fā)活動的大型項目,Git通過提交消息在團隊之間建立可靠的通信。借助版本控制工具,可以在連續(xù)開發(fā)階段構建應用程序代碼的穩(wěn)定版本。開發(fā)人員還可以使用Garden,Maven和類似工具將代碼打包為.exe(可執(zhí)行)文件。

持續(xù)集成

源代碼會被修改多次,這些頻繁的更改每周甚至每天都在發(fā)生著。下一階段的代碼集成是整個DevOps生命周期的核心。在持續(xù)集成中,將構建支持附加功能的新代碼,并將其集成到現(xiàn)有代碼中。在這個階段,源代碼中的錯誤會在早期就被檢測到。

為了生成為應用程序帶來更多功能的新代碼,開發(fā)人員運行用于單元測試、代碼評審、集成測試、編譯和打包的工具。將新代碼持續(xù)集成到現(xiàn)有源代碼中有助于反映最終用戶在使用更新后的代碼時所經(jīng)歷的更改。Jenkins是被廣泛應用的可靠的DevOps工具,用于獲取更新的源代碼并將構建構建為.exe格式。這些轉換是無縫進行的,更新的代碼將打包并進入下一階段,即生產(chǎn)服務器或測試服務器。

持續(xù)測試

一些開發(fā)人員在持續(xù)集成階段之前執(zhí)行持續(xù)測試階段。根據(jù)應用程序代碼中的更新,可以圍繞DevOps生命周期中的持續(xù)集成階段重新定位此階段。在這個階段,對開發(fā)的軟件進行不斷的Bug測試。使用Docker容器來模擬測試環(huán)境。通過自動化測試,開發(fā)人員可以節(jié)省往常在手動測試中浪費的精力和時間。

自動化測試生成的報告可改善測試評估過程,分析失敗的測試用例變得更加容易。經(jīng)過UAT(用戶接受測試)過程后,生成的測試套件更簡單且沒有Bug。TestNG,Selenium和JUnit是用于自動化測試的一些DevOps工具。這些工具還可以在預設的時間線上安排測試用例的執(zhí)行。

質量保證工程師(QA)可以使用這些工具對其他幾個代碼庫進行并行測試。它確保了應用程序實現(xiàn)功能完美和網(wǎng)絡互聯(lián)。最后,被測試的代碼被重新發(fā)送到持續(xù)集成階段以更新源代碼。

持續(xù)反饋

持續(xù)測試和持續(xù)集成是確保應用程序代碼持續(xù)改進的兩個關鍵階段,而持續(xù)反饋是分析這些改進的階段。開發(fā)人員可以在最終產(chǎn)品上評估這些修改的結果。最重要的是,測試這些應用程序的客戶可以在此階段分享他們的經(jīng)驗。在大多數(shù)情況下,DevOps生命周期的這一階段為應用程序開發(fā)過程提供了一個轉折點。及時評估反饋,開發(fā)人員開始著手進行新更改。這樣,客戶反饋很快就能得到積極的回應,這為發(fā)布軟件應用程序的新版本鋪平了道路。

持續(xù)監(jiān)測

監(jiān)測應用程序的性能對于應用程序開發(fā)人員至關重要。在此階段,開發(fā)人員記錄有關應用程序使用的數(shù)據(jù),并持續(xù)監(jiān)測著每個功能。“服務器無法訪問”或“內(nèi)存不足”是可以在這個階段被解決的一些常見系統(tǒng)錯誤。持續(xù)監(jiān)測有助于保持應用程序中服務的可用性。

它還能確認重復出現(xiàn)的系統(tǒng)錯誤的威脅和根本原因。在這個階段,安全問題可以得到解決,還能自動檢測和修復缺陷。與軟件開發(fā)團隊相比,IT運維團隊在這一階段的參與程度更高。他們的角色在監(jiān)視用戶活動、檢查系統(tǒng)是否有異常行為以及跟蹤錯誤的存在方面至關重要。

Sensu,ELK Stack,NewRelic,Splunk和Nagios是用于持續(xù)監(jiān)視的關鍵DevOps工具。這些工具可實現(xiàn)對系統(tǒng)、生產(chǎn)服務器和應用程序性能的全面控制。在這些工具的幫助下,運維團隊可以積極參與,以提高應用程序的可靠性和生產(chǎn)率。當在此階段檢測到重大問題時,應用程序將在DevOps生命周期的所有早期階段快速重新運行,這就是為何在這個階段找到解決各種問題的方法會變得更快的原因。

持續(xù)部署

通常來說,持續(xù)部署階段發(fā)生在持續(xù)監(jiān)視之前。但是,開發(fā)人員要確保這個階段在DevOps生命周期中始終處于活動狀態(tài),尤其是在應用程序上線并開始接收大量流量之后。在此階段,最終確定的應用程序代碼將被部署到生產(chǎn)服務器。

配置管理是這一階段的關鍵過程,它在所有服務器上執(zhí)行應用程序代碼的精確部署,建立并管理應用程序性能和功能條件的一致性。將代碼發(fā)布到服務器,為所有服務器安排更新,并且這些配置在整個生產(chǎn)過程中保持一致。Ansible、Puppet和Chef是用于配置管理的一些有效的DevOps工具,它們經(jīng)常執(zhí)行新代碼的快速和連續(xù)部署。

容器化工具用于通過配置管理過程實現(xiàn)連續(xù)部署。Vagrant是一種容器化工具,可在從開發(fā)和測試到階段和生產(chǎn)的不同環(huán)境中發(fā)展一致性。同樣,連續(xù)部署的可伸縮性由Docker等工具處理。這些工具通過復制和打包來自測試,登臺和開發(fā)階段的軟件耦合,消除了各種生產(chǎn)故障和系統(tǒng)錯誤。最終,該應用程序可以在不同的計算機上流暢運行。

持續(xù)運維

DevOps生命周期的最后一個階段是最短且最簡單的階段。持續(xù)運維的目的是使發(fā)布的應用程序和后續(xù)更新的過程自動化。持續(xù)運維中的開發(fā)周期更短,從而使開發(fā)人員能夠不斷加快該應用程序的上市時間。

DevOps生命周期可交付成果

DevOps生命周期的每一個階段都由兩個共同因素控制:最大程度的自動化和連續(xù)性。多功能工具取代了額外的步驟,大大縮短了檢測故障所需的時間。DevOps運行在一個生命周期中,這個生命周期提供了軟件應用程序的最佳版本。

最終產(chǎn)品使企業(yè)能夠恢復迅速開發(fā)的速度并同時改善用戶體驗。

高投資回報率(ROI)簡化了成本控制,開發(fā)和運維團隊可以有機合作。

與持續(xù)部署解決方案相結合,將編程代碼發(fā)送到1000多臺生產(chǎn)服務器上是可行的。在DevOps生命周期中,有一些高級模式是為部署而設計的。類似的特性用于交付按需部署和審核。

隨著技術的不斷創(chuàng)新,DevOps繼續(xù)以最高的質量和速度發(fā)展。如今,它已成為全球數(shù)百萬公司數(shù)字化轉型之旅的戰(zhàn)略組成部分。

DevOPS生命周期顯然打破了團隊合作的障礙。當可以使用DevOps構建負責任的業(yè)務環(huán)境時,無需進行任何冗余的工作。

DevOps工具生成的報告提供了業(yè)務洞察力并增強了SDLC中的可見性。通過端到端的價值管理,DevOps系統(tǒng)地提高了交付速度。

有了DevOps,項目管理和規(guī)劃的任務將最終完成。DevOps既能應用于大型企業(yè),也能服務于中小企業(yè)。組織、安排、調整和跟蹤項目都變得更容易。DevOps生命周期的所有階段都保持完整的可跟蹤性。

大多數(shù)軟件開發(fā)人員都可以從DevOps提供的分支工具中受益。它可以高效地設計應用程序UI和管理UX代碼、安全地開發(fā)和存儲項目數(shù)據(jù)。

由于代碼中的每次更改都會影響生產(chǎn)階段,因此用于自動監(jiān)視和發(fā)布管理的工具分別有助于檢測錯誤和模擬用戶響應。

由于使用了單一的分布式版本控制工具,并且通過提供具有快速迭代自由度的高價值業(yè)務產(chǎn)品,工作流不會中斷。

使用DevOps包管理工具可以為軟件應用程序創(chuàng)建可靠的供應鏈。應用程序及其依賴項被捆綁到容器中,容器將進一步管理。開發(fā)人員可以通過安全的容器注冊表和存儲庫輕松地構建代碼包。DevOps通過自動化軟件開發(fā)管道加速了自由、不間斷的流程。

自動化測試使團隊可以完全接受DevOps生命周期的不同階段,因為這有助于維持高標準的產(chǎn)品質量。編碼,驗證,更改,構建新代碼,甚至將它們集成到源代碼中都非常容易。

除了自動化測試之外,還有代碼質量分析、動態(tài)分析安全測試和靜態(tài)分析安全測試等過程來收集重要的反饋并將其傳遞給開發(fā)人員和測試人員。這增強了開發(fā)和操作團隊提高代碼質量的能力。

關鍵基礎設施配置信息(密碼和登錄ID)的訪問受工具保護,這些工具將它們偽裝成秘密變量。為了獲得額外的安全性,DevOps提供了有限的訪問權限—只有經(jīng)過授權的用戶和進程才能獲得訪問權限。

憑借其獨立的開發(fā)環(huán)境和更快的開發(fā)方法,DevOps成為技術市場的重要貢獻者。它是通過創(chuàng)建動態(tài)應用程序來解決技術業(yè)務挑戰(zhàn)的最重要的工具集。由于這種方法給開發(fā)人員和用戶都能帶來好處,DevOps的采用率持續(xù)增加。國內(nèi)大廠如阿里、騰訊、華為、等都有自己的云端DevOps解決方案。

fea3afb6-d6a1-11eb-9e57-12bb97331649.png

以開源和私有部署為主要特點的禪道項目管理軟件也已經(jīng)內(nèi)置了對Git、Subversion、Jenkins的集成,同時還提供了zentao ztf的自動化測試框架,打通了項目管理工具和持續(xù)集成工具中間的溝壑,禪道與ZTF的結合貫穿整個DevOps生命周期。

盡管DevOps目前是在全球大多數(shù)企業(yè)的軟件開發(fā)項目的技術背景下進行的,但在未來幾年,它將繼續(xù)在現(xiàn)代靜態(tài)網(wǎng)頁和動態(tài)軟件應用程序的開發(fā)中得到多樣化的應用。

參考文獻:Amol Muratkar.What is DevOps Lifecycle and How to Manage Yours [OL]。(2020-03-26)https://dzone.com/articles/what-is-devops-lifecycle-how-to-manage-yours

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編碼
    +關注

    關注

    6

    文章

    1034

    瀏覽量

    56798
  • C++
    C++
    +關注

    關注

    22

    文章

    2123

    瀏覽量

    76873
  • SCM
    SCM
    +關注

    關注

    2

    文章

    68

    瀏覽量

    15796
  • devops
    +關注

    關注

    0

    文章

    130

    瀏覽量

    12829

原文標題:DevOps生命周期,你想知道的全都在這里了!

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    ALM(應用生命周期管理)解析:一文了解其概念、關鍵階段及Perforce ALM工具推薦

    什么是ALM(應用生命周期管理)?它遠不止是SDLC!一文了解其概念、關鍵階段以及如何借助Perforce ALM這類工具,實現(xiàn)端到端的可追溯性、加速發(fā)布并保障合規(guī)性。
    的頭像 發(fā)表于 09-19 11:03 ?1487次閱讀
    ALM(應用<b class='flag-5'>生命周期</b>管理)解析:一文了解其概念、關鍵階段及Perforce ALM工具推薦

    【HarmonyOS 5】鴻蒙頁面和組件生命周期函數(shù)

    【HarmonyOS 5】鴻蒙頁面和組件生命周期函數(shù) ##鴻蒙開發(fā)能力 ##HarmonyOS SDK應用服務##鴻蒙金融類應用 (金融理財# 一、生命周期階段: 創(chuàng)建階段 build: 構建組件
    的頭像 發(fā)表于 07-11 18:24 ?974次閱讀

    CYW20706的生命周期狀態(tài)如何?

    CYW20706的生命周期狀態(tài)如何? 我注意到CYW20706不再列在AIROC? Bluetooth? LE& Bluetooth? 下。貿(mào)澤現(xiàn)在還將該器件列為不建議用于未來設計。 對于CYW20706來說,什么是好的更換零件。 還會有支持 LE Audio 的雙棧藍牙 SoC 嗎?
    發(fā)表于 07-04 07:25

    關于生命周期中的aboutToAppear和onPageShow的理解和應用

    ?##HarmonyOS 應用開發(fā)## 在官網(wǎng)的“自定義組件的生命周期”這一章節(jié)當中介紹的生命周期中,有兩個對開發(fā)我覺得很重要的生命周期,分別是aboutToAppear和onPageShow
    發(fā)表于 06-30 17:32

    羅徹斯特電子應對長生命周期應用的技術變革

    )、高帶寬內(nèi)存(HBM)以及以數(shù)據(jù)中心為核心的網(wǎng)絡和存儲設備領域。盡管業(yè)界普遍積極推動新技術的應用,但許多長生命周期的應用并不適合。因此,在引入新技術之前,必須全面評估目標應用的設計周期生命
    的頭像 發(fā)表于 06-24 09:24 ?524次閱讀

    ArkUI-X中Plugin生命周期開發(fā)指南

    ArkUI-X插件用于拓展ArkUI應用的能力,提供管理插件生命周期的能力。本文主要介紹Android平臺的ArkUI-X插件生命周期的使用。 Android平臺創(chuàng)建ArkUI-X插件生命周期
    發(fā)表于 06-04 22:36

    ServiceAbility的生命周期介紹

    ServiceAbility的生命周期 開發(fā)者可以根據(jù)業(yè)務場景重寫生命周期相關接口。ServiceAbility生命周期接口說明見下表。 表1 ServiceAbility生命周期
    發(fā)表于 05-28 08:22

    UIAbility組件生命周期介紹

    UIAbility組件生命周期 概述 當用戶打開、切換和返回到對應應用時,應用中的UIAbility實例會在其生命周期的不同狀態(tài)之間轉換。UIAbility類提供了一系列回調,通過這些回調可以
    發(fā)表于 05-16 08:28

    EMC工程電磁兼容性測試整改:全生命周期管控體系

    深圳南柯電子|EMC工程電磁兼容性測試整改:全生命周期管控體系
    的頭像 發(fā)表于 04-28 11:17 ?832次閱讀
    EMC工程電磁兼容性測試整改:全<b class='flag-5'>生命周期</b>管控體系

    KaihongOS操作系統(tǒng):頁面的生命周期介紹

    頁面的生命周期 在KaihongOS中,學習頁面的生命周期前需要先了解自定義組件。 1. 自定義組件(Component) 自定義組件是通過@Component裝飾的UI單元,可以組合多個系統(tǒng)
    發(fā)表于 04-25 08:18

    KaihongOS操作系統(tǒng):UIAbility的生命周期

    UIAbility的生命周期 在KaihongOS中,EntryAbility.ets 是一個關鍵的文件,它定義了應用的入口Ability。以下是EntryAbility.ets中涉及的生命周期
    發(fā)表于 04-25 07:04

    一文讀懂產(chǎn)品生命周期管理系統(tǒng)(PLM)?

    在當今快速迭代的制造業(yè)和科技領域,企業(yè)能否高效管理產(chǎn)品從概念到退市的全生命周期,已成為其核心競爭力的重要體現(xiàn)。產(chǎn)品生命周期管理系統(tǒng)(Product Lifecycle Management, PLM
    的頭像 發(fā)表于 03-10 17:09 ?2418次閱讀
    一文讀懂產(chǎn)品<b class='flag-5'>生命周期</b>管理系統(tǒng)(PLM)?

    PLM產(chǎn)品生命周期管理系統(tǒng)需要采集哪些數(shù)據(jù)

    在當今競爭激烈的商業(yè)環(huán)境中,企業(yè)要想保持領先地位,實現(xiàn)可持續(xù)發(fā)展,就必須不斷優(yōu)化產(chǎn)品研發(fā)、生產(chǎn)和管理流程。而PLM(產(chǎn)品生命周期管理系統(tǒng)),正是企業(yè)實現(xiàn)這一目標的關鍵利器,它是一種先進的管理
    的頭像 發(fā)表于 02-24 17:13 ?1014次閱讀
    PLM產(chǎn)品<b class='flag-5'>生命周期</b>管理系統(tǒng)需要采集哪些數(shù)據(jù)

    設備全生命周期管理系統(tǒng),一站式管控設備 “一生”

    文章探討了設備全生命周期管理的概念和實踐,闡述了中設智控在設備全生命周期管理方面的技術優(yōu)勢和應用案例。文章指出,全生命周期管理的核心價值在于降低綜合成本、延長設備壽命、提升生產(chǎn)效率和實
    的頭像 發(fā)表于 02-21 10:09 ?1917次閱讀
    設備全<b class='flag-5'>生命周期</b>管理系統(tǒng),一站式管控設備 “一生”

    PLM解決方案,產(chǎn)品生命周期管理軟件

    PLM解決方案產(chǎn)品生命周期管理軟件規(guī)劃、開發(fā)和交付超越客戶期望的創(chuàng)新產(chǎn)品。借助我們適用于任意規(guī)模的可擴展、適應性強的PLM解決方案,利用準確的產(chǎn)品數(shù)據(jù)推動多學科團隊之間的協(xié)作。優(yōu)化產(chǎn)品生命周期客戶
    的頭像 發(fā)表于 02-10 10:15 ?947次閱讀
    PLM解決方案,產(chǎn)品<b class='flag-5'>生命周期</b>管理軟件