色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

是否有了這個工具鏈就是DevOps?

華為開發者社區 ? 來源:華為云社區 ? 作者:華為云社區 ? 2021-01-13 15:23 ? 次閱讀

在古代,帶兵作戰的將領,不僅要能善于用兵,而且要能保障糧食的充足。正所謂兵馬未動,糧草先行。糧草永遠擺在第一位,因為在冷**時代,戰爭中的將士都是在拼力氣,吃飽才有力氣打仗。

在今天互聯網的“戰爭”環境中,我們為了能更快應對市場變化,一直以來不斷調整作戰的方針和打法,也從傳統的開發方式轉變為了敏捷開發,由敏捷開發又過渡了到DevOps。在2019年的中國DevOps行業報告中指出:“盡管受訪企業期望 DevOps 能夠帶來更高效的交付效率,提升客戶滿意度,創造更多的商業價值,但成功實踐 DevOps 依然是一個難題 。”

其中,28.22% 被調查者認為自己組織的 DevOps 實踐是不成功的, 41.13%的被調查者不清楚如何衡量自己組織的 DevOps 實踐是否成功。如果以一個更加直觀的數據來展示,就是在接受調查的企業中有69.35%是沒有能很好的了解和實踐DevOps的。

也許,在實踐DevOps的這幾年來,并沒有多少公司是真正知道什么是DevOps的。DevOps只是從字面上理解的打破部門墻的一鍵發布的工具鏈嗎,是否有了這個工具鏈就是DevOps?答案是否定的。

那么,DevOps是什么?

DevOps 是集文化理念、實踐和工具于一身,可以提高組織高速交付應用程序和服務的能力,與使用傳統軟件開發和基礎設施管理流程相比,能夠幫助組織更快地發展和改進產品。這種速度使組織能夠更好地服務其客戶,并在市場上更高效地參與競爭。

——AWS

從AWS給出的定義來看,好像也還是比較的抽象。那如果簡單的來說,DevOps就是讓軟件過程既“快”又“穩”。何為快和穩,這個快和穩體現在,部署頻率、交付周期、平均修復時長、變更失敗比例這4個維度上。

在2018年的DevOps調查報告中基于上述4個維度,由于僅有6%達到了所規定的高性能指標,為了避免特殊原因造成數據過低,所以放寬的條件,并給出了準高性能DevOps指標。

4c855eba-45dd-11eb-8b86-12bb97331649.png

從達成這一準高性能DevOps指標的團隊分析來看,其具體體現在三個方面:一方面是自動化、標準化、質量保證、敏捷方法的實踐活動上;一方面是DevOps各個階段的對應工具上。除此以外就是,團隊正在開發應用的架構上。 架構的選擇對于DevOps的實踐是至關重要的,從某種程度上來說,架構就是DevOps這場戰役的糧草,它是支撐著DevOps成功落地的重要前提。受訪的準高性能DevOps指標的團隊將“使用微服務框架”作為團隊正在開發應用的架構上的Top1。

4cceedb4-45dd-11eb-8b86-12bb97331649.jpg

什么是微服務

是一種軟件架構風格,它是以專注于單一責任與功能的小型功能區塊 (Small Building Blocks) 為基礎,利用模塊化的方式組合出復雜的大型應用程序,各功能區塊使用與語言無關 (Language-Independent/Language agnostic) 的 API 集相互通信

微服務的起源是由 Peter Rodgers 博士于 2005 年度云計算博覽會提出的微 Web 服務 (Micro-Web-Service) 開始,Juval L?wy 則是與他有類似的前導想法,將類別變成細粒服務 (granular services),以作為Microsoft下一階段的軟件架構,其核心想法是讓服務是由類似 Unix 管道的訪問方式使用,而且復雜的服務背后是使用簡單URI來開放接口,任何服務,任何細粒都能被開放 (exposed)。這個設計在 HP 的實驗室被實現,具有改變復雜軟件系統的強大力量。

2014年,Martin Fowler與James Lewis共同提出了微服務的概念,定義了微服務是由以單一應用程序構成的小服務,自己擁有自己的行程與輕量化處理,服務依業務功能設計,以全自動的方式部署,與其他服務使用 HTTP API 通信。同時服務會使用最小的規模的集中管理 (例如Docker) 能力,服務可以用不同的編程語言與數據庫等組件實現。

微服務的特點

根據Martin Fowler的分析,微服務架構有以下的一些通用特性,但并非所有微服務架構應用都必須具備所有這些特性:

1.通過服務實現應用的組件化(Componentizationvia Services):微服務架構中將組件定義為可被獨立替換和升級的軟件單元,在應用架構設計中通過將整體應用切分成可獨立部署及升級的微服務方式進行組件化設計。

2.圍繞業務能力組織服務(Organizedaround Business Capabilities):微服務架構采取以業務能力為出發點組織服務的策略,因此微服務團隊的組織結構必須是跨功能的(如:既管應用,也管數據庫)、強搭配的DevOps開發運維一體化團隊,通常這些團隊不會太大(如:亞馬遜的“Two pizza team”- 不超過12人)。

3.產品而非項目模式(Productsnot Projects):傳統的應用模式是一個團隊以項目模式開發完整的應用,開發完成后就交付給運維團隊負責維護;微服務架構則倡導一個團隊應該如開發產品般負責一個“微服務”完整的生命周期,倡導“誰開發,誰運營”的開發運維一體化方法。

4.智能端點與管道扁平化(Smartendpoints and dumb pipes):微服務架構主張將組件間通訊的相關業務邏輯/智能放在組件端點側而非放在通訊組件中,通訊機制或組件應該盡量簡單及松耦合。RESTful HTTP協議和僅提供消息路由功能的輕量級異步機制是微服務架構中最常用的通訊機制。

5.“去中心化”治理(DecentralizedGovernance):整體式應用往往傾向于采用單一技術平臺,微服務架構則鼓勵使用合適的工具完成各自的任務,每個微服務可以考慮選用最佳工具完成(如不同的編程語言)。微服務的技術標準傾向于尋找其他開發者已成功驗證解決類似問題的技術。

6.“去中心化”數據管理(DecentralizedData Management):微服務架構倡導采用多樣性持久化(PolyglotPersistence)的方法,讓每個微服務管理其自有數據庫,并允許不同微服務采用不同的數據持久化技術。

7.基礎設施自動化(InfrastructureAutomation):云化及自動化部署等技術極大地降低了微服務構建、部署和運維的難度,通過應用持續集成和持續交付等方法有助于達到加速推出市場的目的。

8.故障處理設計(Designfor failure):微服務架構所帶來的一個后果是必須考慮每個服務的失敗容錯機制。因此,微服務非常重視建立架構及業務相關指標的實時監控和日志機制。

9.演進式的設計(EvolutionaryDesign):微服務應用更注重快速更新,因此系統的設計會隨時間不斷變化及演進。微服務的設計受業務功能的生命周期等因素影響。如某應用是整體式應用,但逐漸朝微應用架構方向演進,整體式應用仍是核心,但新功能將使用應用所提供的API構建。再如在某微服務應用中,可替代性模塊化設計的基本原則,在實施后發現某兩個微服務經常必須同時更新,則這很可能意味著應將其合并為一個微服務。

微服務適用的場景

基于微服務的優勢,我們可以看到,微服務比較實用于以下場景:

對于業務流程較為復雜,且業務會變得逐漸復雜的項目,可以考慮使用微服務架構

項目存在多個團隊(公司)多種開發語言時

核心業務和非核心業務變得涇渭分明

需要平滑升級時(服務無中斷、客戶無感知)

想對系統進行細粒度監控時 (bug調查困難或性能等問題)

既然微服務有其使用的場景,那么也一定有其優缺點。

既然微服務有其使用的場景,那么也一定有其優缺點。

微服務的優勢

微服務的誕生正是在互聯網高速發展,技術日新月異變化以及傳統架構無法適應快速變化等多種因素共同推動下的必然產物。從一個網站的演變可以看到使用微服務后帶來了很多優點,總結如下:

邏輯清晰:

這個特點是由微服務的單一職責的要求所帶來的。邏輯清晰帶來的是微服務的可維護性,在我們對一個微服務進行修改時,能夠更容易分析到這個修改到底會產生什么影響,從而通過完備的測試保證修改質量。

簡化部署:

微服務則可以只對一個微服務單獨進行部署,不影響其他功能的同時,在效率上也得到了提升,從而快速的發布新的功能。

可擴展性強:

在分布式系統中,采用微服務的系統相對單塊系統具備更好的可擴展性。 靈活組合減少浪費:在微服務架構中,可以通過組合已有的微服務以達到功能重用的目的,減少了重復浪費。

技術異構:

微服務間松耦合,不同的微服務可以選擇不同的技術棧進行開發。

微服務的缺點

以往單體應用,排查問題通常是看一下日志,研究錯誤信息和調用堆棧。而微服務架構整個應用分散成多個服務,定位故障點非常困難。在微服務架構中,一個服務故障可能會產生雪崩效用,導致整個系統故障。微服務架構雖然邏輯設計上看是完美的,但就像積木搭建的華麗宮殿一樣,經不起風吹草動。

微服務架構雖然解決了舊問題,也引入了新的問題:提高了系統的復雜度,此外還有:

服務的注冊與發現問題;

服務之間的分布式事務問題;

數據隔離再來的報表處理問題;

服務之間的分布式一致性問題;

服務管理的復雜性,服務的編排;

不同服務實例的管理。

微服務在使用上是一把“雙刃劍”,這就像糧草如果在搬運的過程中被敵方奪取,那可能會是毀滅性的。所以DevOps團隊在微服務的架構上需要非常的重視,一個成熟度高的微服務框架才是實現其DevOps的重要前提,反之亦然。

責任編輯:lq

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

    關注

    0

    文章

    332

    瀏覽量

    21363
  • 應用程序
    +關注

    關注

    37

    文章

    3277

    瀏覽量

    57734
  • devops
    +關注

    關注

    0

    文章

    115

    瀏覽量

    12028

原文標題:沒有它你的DevOps是玩不轉的,你信不信?

文章出處:【微信號:Huawei_Developer,微信公眾號:華為開發者社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    汽車軟件DevOps解決方案

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

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

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

    RISC-V 工具簡介

    性能是硬件+工具的綜合能力體現,單比較硬件頻率指標沒有實際意義。調試高效性直接影響了開發者分析解決問題效率,也是決定處理器能否開發者接受、是否可以被廣泛應用。 三、RISC-V
    發表于 10-25 22:59

    Devops工具集成的意義及基本原理

    Devops工具集成的意義在于實現開發(Development)與運維(Operations)之間的緊密協作,通過自動化流程提高軟件交付的速度、質量和穩定性。其基本原理是通過一系列相互連接的
    的頭像 發表于 10-14 10:32 ?202次閱讀

    常用的devops工具集成方法

    常用的devops工具集成方法涵蓋了軟件開發和運維的各個方面,從版本控制到自動化構建、測試、部署和監控。這些工具的有效集成可以幫助團隊提高協作效率,減少溝通障礙,實現快速、高質量的軟件交付。
    的頭像 發表于 10-09 11:21 ?260次閱讀

    上手體驗 | 無障礙使用ZCC工具編譯SDK例程

    各位關注先楫的小伙伴們可能已經發現,先楫SDK1.6已經支持ZCC工具。大家可能會好奇ZCC工具是什么新事物,好不好上手。關于ZCC工具
    的頭像 發表于 07-13 08:17 ?454次閱讀
    上手體驗 | 無障礙使用ZCC<b class='flag-5'>工具</b><b class='flag-5'>鏈</b>編譯SDK例程

    esp32-lyrat接DuerOS對話功能之后,是否還可以進行錄音?

    想問一下,esp32-lyrat 接入 DuerOS 對話功能之后,還是否可以進行錄音? 也就是,想要問一下,加入DuerOS是否會將e
    發表于 06-28 16:30

    opensuse linux安裝好了交叉工具并且設置 IDF_PATH,make all的時候會報錯為什么?

    opensuse linux,已經安裝好了交叉工具(官網下載的)并且設置 IDF_PATH??梢詍ake menuconfig,但是make all的時候會報錯。我的編譯器是裝好的, 可以查看到編譯器信息
    發表于 06-26 06:57

    這個調試工具咋賣39.9?分析原理后,我悟

    工程名稱:立創DAPLINK調試工具前言今天,講透這個嵌入式產品的設計原理。如圖所示,這是一個基于立創·GD32F407天空星開發板設計的DAPLINK調試工具。是本次的學習案例。下文會圍繞其
    的頭像 發表于 06-21 08:04 ?180次閱讀
    <b class='flag-5'>這個</b>調試<b class='flag-5'>工具</b>咋賣39.9?分析<b class='flag-5'>了</b>原理后,我悟<b class='flag-5'>了</b>

    搭建ESP-idf環境時,如何自主選擇工具的版本?

    一般搭建ESP-idf環境時,工具的版本是跟隨腳本設置好的,但是如果我想使用其他版本的工具該怎么做呢?我看到這里一些說明:https:
    發表于 06-06 07:14

    存內生態構建重要一環- 存內計算工具

    本篇文章重點講述存內計算相關工具,我們將從工具定義出發,依次講述工具研究背景及現有
    的頭像 發表于 05-16 14:37 ?1136次閱讀
    存內生態構建重要一環- 存內計算<b class='flag-5'>工具</b><b class='flag-5'>鏈</b>

    工具工具——映射與調度、模擬與驗證、開發與測試工具

    本篇文章將重點介紹工具工具相關知識,我們將從工具的基本概念出發,重點介紹工具
    的頭像 發表于 05-16 14:30 ?2979次閱讀
    <b class='flag-5'>工具</b><b class='flag-5'>鏈</b><b class='flag-5'>工具</b>——映射與調度、模擬與驗證、開發與測試<b class='flag-5'>工具</b>

    存內計算技術工具——量化篇

    本篇文章將重點講述存內計算技術工具之“量化”,我們將從面向存內計算芯片的深度學習編譯工具、神經網絡中的量化(包括訓練后量化與量化感知訓練)、基于存內計算芯片硬件特性的量化
    的頭像 發表于 05-16 12:35 ?1256次閱讀
    存內計算技術<b class='flag-5'>工具</b><b class='flag-5'>鏈</b>——量化篇

    如何在DevOps環境中實施測試用例管理

    由于DevOps 工作流程使用CI/CD 方法進行軟件開發,因此您的測試管理工具還應該能夠與GitLab 和Jenkins 等CI/CD 工具集成。
    的頭像 發表于 01-29 09:30 ?1528次閱讀
    如何在<b class='flag-5'>DevOps</b>環境中實施測試用例管理

    什么是DevOps中的持續測試?持續測試如何融入DevOps?

    持續測試(CT) 是在整個軟件開發生命周期(SDLC) 中自動測試軟件應用程序和組件的實踐。在 DevOps 中,持續測試是在整個DevOps 管道中集成測試活動的實踐。
    的頭像 發表于 01-09 09:10 ?571次閱讀
    什么是<b class='flag-5'>DevOps</b>中的持續測試?持續測試如何融入<b class='flag-5'>DevOps</b>?
    主站蜘蛛池模板: 国产一级特黄aa毛片| 欧美三级aaa| 午夜影院美女| 国内精品蜜汁乔依琳视频| 在镜头里被CAO翻了H| 女bbbbxxx孕妇| 国产成人啪精品视频免费网| 亚洲国产日韩欧美在线a乱码| 久久精品日本免费线| swag合集120部| 胸大的姑娘中文字幕视频| 久久五月综合婷婷中文云霸高清| 99久久免费精品国产免费| 宿舍BL 纯肉各种PLAY H| 精品久久日日躁夜夜躁AV| 99亚偷拍自图区亚洲| 小SAO货水真多把你CAO烂| 久久只精品99品免费久| 第一会所欧美无码原创| 亚洲一区在线观看无码欧美| 欧美精品v欧洲高清| 河南老太XXXXXHD| xfplay 无码专区 亚洲| 亚洲性爱城| 色男人的天堂久久综合| 久久一本综合| 国产性夜夜性夜夜爽91| jizz老师| 中国hdxxxx医院护士| 乡村教师电影版| 漂亮的保姆6在线观看中文| 九九精彩视频在线观看视频| 二次元美女扒开内裤喷水| 中文字幕乱码亚洲无线三区| 我强进了老师身体在线观看| 嫩草成人影院| 精品国产5g影院天天爽| 国产成人综合在线观看网站| 91九色porny蝌蚪| 亚洲幼女网| 亚洲 欧美 国产 视频二区|