女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

什么是DevOps?DevOps的優勢以及生命周期

馬哥Linux運維 ? 來源:OSC開源社區 ? 作者:炒蠶豆吃蹦豆 ? 2021-06-29 17:19 ? 次閱讀

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

什么是DevOps

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

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

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

DevOps的優勢

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

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

解密DevOps生命周期

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

持續開發

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

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

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

持續集成

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

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

持續測試

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

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

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

持續反饋

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

持續監測

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

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

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

持續部署

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

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

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

持續運維

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

DevOps生命周期可交付成果

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

最終產品使企業能夠恢復迅速開發的速度并同時改善用戶體驗。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

盡管DevOps目前是在全球大多數企業的軟件開發項目的技術背景下進行的,但在未來幾年,它將繼續在現代靜態網頁和動態軟件應用程序的開發中得到多樣化的應用。

參考文獻: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

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

    關注

    6

    文章

    967

    瀏覽量

    55502
  • C++
    C++
    +關注

    關注

    22

    文章

    2117

    瀏覽量

    74781
  • SCM
    SCM
    +關注

    關注

    2

    文章

    67

    瀏覽量

    15463
  • devops
    +關注

    關注

    0

    文章

    120

    瀏覽量

    12404

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

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    ArkUI-X中Plugin生命周期開發指南

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

    ServiceAbility的生命周期介紹

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

    UIAbility組件生命周期介紹

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

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

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

    KaihongOS操作系統:頁面的生命周期介紹

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

    KaihongOS操作系統:UIAbility的生命周期

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

    一文讀懂產品生命周期管理系統(PLM)?

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

    PLM產品生命周期管理系統需要采集哪些數據

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

    設備全生命周期管理系統,一站式管控設備 “一生”

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

    PLM解決方案,產品生命周期管理軟件

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

    汽車軟件DevOps解決方案

    經緯恒潤汽車軟件DevOps解決方案是專為現代汽車行業設計的一套集成化需求、開發、測試、部署、OTA與監控,旨在加速軟件開發流程,提高軟件質量和安全性,同時確保整個生命周期的高效性和靈活性。
    的頭像 發表于 12-16 10:33 ?1787次閱讀
    汽車軟件<b class='flag-5'>DevOps</b>解決方案

    devops使用最廣泛的集成工具盤點

    devops使用最廣泛的集成工具包括GitLab(全棧DevOps平臺)、Jenkins(CI/CD自動化服務器)、Docker(容器化技術)、Kubernetes(容器編排平臺)、Ansible
    的頭像 發表于 11-26 13:48 ?522次閱讀

    什么是PLM產品生命周期管理系統?

    在當今競爭激烈的制造業環境中,企業不僅要關注產品的設計和生產,還需要對產品的整個生命周期進行全面管理。這包括了從產品概念構思、設計開發、生產制造、銷售分發,到最終報廢處理的每一個環節。為了高效、系統
    的頭像 發表于 11-23 16:14 ?971次閱讀
    什么是PLM產品<b class='flag-5'>生命周期</b>管理系統?

    鴻蒙開發組件:DataAbility的生命周期

    應用開發者可以根據業務場景實現data.js/data.ets中的生命周期相關接口。DataAbility生命周期接口說明見下表。
    的頭像 發表于 06-20 09:39 ?672次閱讀

    鴻蒙開發:【PageAbility的生命周期

    PageAbility生命周期是PageAbility被調度到INACTIVE、ACTIVE、BACKGROUND等各個狀態的統稱。PageAbility生命周期流轉及狀態說明見如下圖1、表1所示。
    的頭像 發表于 06-17 10:05 ?943次閱讀
    鴻蒙開發:【PageAbility的<b class='flag-5'>生命周期</b>】