国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

再一個交付故事:征服遺留系統

開發 開發工具
如今,我們所交付的典型軟件已經變成了由若干個Cloud Native Application所組成的分布式的微服務應用,但是在我們所服務的組織中,仍然存在著類似下面的這種巨大的老舊的單體應用,我們稱之為遺留系統。

背景

就像曉強在***個故事開篇所介紹的那樣,如今,我們所交付的典型軟件已經變成了由若干個Cloud Native Application所組成的分布式的微服務應用,但是在我們所服務的組織中,仍然存在著類似下面的這種巨大的老舊的單體應用,我們稱之為遺留系統。

遺留系統

有些遺留系統仍然在組織中扮演著重要的角色,持續為客戶提供著價值,而有些則已經成為了組織發展的瓶頸,無法適應業務的快速變化。這個故事便是關于我們是如何幫助客戶有效的維護、提升、最終擺脫這些遺留系統的。

提到遺留系統,我們并不陌生也不缺乏案例。過往的大型項目為我們提供了很多值得分享的經典案例,能夠從這些經驗和總結中感受到在這些項目中所克服的挑戰。這些挑戰分別來自于:

  • 如何有效的積累遺留系統的上下文
  • 如何對遺留系統進行維護和變更
  • 如何能平滑的完成對遺留系統的技術遷移

積累上下文

萬事開頭難,當我們開始任何一項交付工作時,最關鍵的問題便是如何能夠快速建立業務和技術上下文。而當我們開始接手一個遺留系統的時候,這個關鍵問題變得更加復雜和困難。

[[203454]]

遺留系統的上下文就和一個沒完成的拼圖一樣,碎片散落一地。有些信息只存在某些人深深的腦海里,有些信息在巨大而且過期的文檔里,難辨真偽。代碼不會撒謊,但是動輒幾百萬行的代碼很容易讓你迷失方向.

在應對這一難題上,我們從以往經驗中形成了一套行之有效的方法。

閱讀代碼

首先,通過溝通和詢問客戶團隊的業務或技術人員去了解到盡可能多的信息,然后通過閱讀文檔或在可用環境中演示來得到更具象的認識,最終通過閱讀代碼來解除剩下的疑問,完成巨大拼圖中的一部分。

但是在實際操作中確仍然不簡單。往往情況是這樣的,在經過多次溝通和在文檔中查閱信息后,獲得的信息往往和代碼中的無法對應起來,使整個過程需要不斷的反復。我在去年經歷的一次遺留系統改造項目中就有一次類似的經歷,團隊被這個令人沮喪的過程打敗,做出了一些基于已有信息的假設,最終給項目的交付造成了不大不小的風險,團隊付出了很大的代價才保證了項目的順利交付。

在獲得了上下文后,如何保持信息能得到及時的更新并有效的將信息共享給團隊其他人是緊接著需要思考的問題。Specification by Example為我們提供了很好的方式將所有信息有效的管理起來,構建一套和代碼一起管理的可執行的Live Document。但是對于一個遺留系統,這仍然是一個漫長和繁瑣的過程。在這整個信息收集和記錄的過程中,團隊需要展現強大的耐心才能有效的達成目標為后面的工作打下基礎。

開展變更

對于有些遺留系統我們只需要對其持續的監控,保證其能夠正常的提供服務。但是在大多數情況下隨著客戶的業務不斷變化,也會產生對遺留系統進行變更的需求,來迎合這些業務上的變化。那么如何在不破壞遺留系統的前提下修改遺留系統便成了應對遺留系統的第二個挑戰。

用我們所推崇和堅持的一系列敏捷技術實踐可以為遺留系統變更提供一張很好的保護網。

為遺留系統變更提供一張很好的保護網

  • 在進行對遺留系統的修改工作之前,通過一定的單元測試覆蓋,加上之前我們已經建立好的Live Document,能夠為我們很好的提供質量保證。
  • 通過建立針對遺留系統的CI/CD Pipeline可以使我們在修改遺留系統時快速的得到反饋,對變更進行及時的驗證。
  • 通過創建Stubs來Mock遺留系統的外部依賴則能幫助我們有效的縮短反饋環,可以大大增強我們對遺留系統進行變更的信心。

這些實踐看起來和我們所交付的其他項目沒有兩樣,但是當你需要為某個老舊語言編寫的遺留系統提供單元測試覆蓋的時候,當你的CI Pipeline需要支持一個老舊的商業中間件的自動化部署的時候,看似普通的技術實踐則會變得困難重重。

這個時候將堅持這些實踐作為原則變得尤為重要。這樣才能為遺留系統的變更提供有效的保障。

技術遷移

當然僅憑耐心和原則是無法征服動輒幾百萬行代碼的龐然大物的。應對遺留系統對技巧有著更高的要求。在這方面,我的ThoughtWorks同事們已經從過去的項目經歷中總結和分享了很多應對遺留系統的技巧。特別是在對遺留系統進行技術遷移的過程中。比如:

  1. 影響結構圖與特征草圖的使用,幫助我們去梳理程序中各個模塊之間的關系和依賴。
  2. Branch By Abstraction的使用,使我們可以逐漸的替換將系統中遺留的部分更新并剔除出去。
  3. Strangler Pattern的使用,讓新老系統在一定的時間段內共存,使遺留系統能夠平滑的遷移到新的技術架構。
  4. Feature Toggle的使用使我們能在部署后發現異常時快速的切換回老系統,使遷移風險降到了***。
  5. 針對遺留系統的數據特點建立自定義的數據管道,完成遺留系統數據的遷移。

正是對這些技巧的靈活使用使我們真的做到了“舊的不變,新的創建,一步切換,舊的再見”。

寫在***

遺留系統是個難題,在應對一個巨大的遺留系統時沒有捷徑,同時也沒有神奇的秘籍或令人目眩的黑科技。重要的是,團隊需要意識到在面對一個遺留系統的時候我們需要具備:

  • 更強大的耐心 – 去有效的收集和鞏固遺留系統漫長發展過程中遺失的上下文。
  • 更堅定的原則 – 去堅持敏捷技術實踐,為遺留系統編織可靠的保護網給遺留系統的變更提供保障。
  • 更豐富的技巧 – 去***程度降低遺留系統技術遷移過程中對現有業務的影響,逐步平滑的完成遺留系統的遷移。

【本文是51CTO專欄作者“ThoughtWorks”的原創稿件,微信公眾號:思特沃克,轉載請聯系原作者】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2017-08-31 10:32:35

交付技術

2012-11-29 09:49:17

軟件項目項目

2019-05-30 10:15:30

2020-06-23 10:03:33

版本控制項目

2015-08-13 14:35:43

2018-06-05 15:41:22

進程線程協程

2020-10-10 06:21:15

爬蟲互聯網

2020-07-09 18:46:52

物聯網IIoT技術

2017-07-05 15:09:52

密碼token瀏覽器

2019-02-12 08:30:19

微軟系統無人機

2022-07-08 09:41:20

遺留系統服務拆分

2012-06-05 09:54:59

Fedora女孩游戲

2019-10-17 13:57:38

戴爾

2009-08-26 17:05:55

.NET委托

2017-12-14 14:36:54

金融工具敏捷大房間計劃

2021-07-12 05:01:11

云原生軟件架構

2009-09-01 16:03:32

C#單元測試

2014-10-21 11:11:08

Siri人工智能

2018-07-03 15:20:36

Promise函數借錢

2025-06-04 08:00:00

YUM源運維服務器
點贊
收藏

51CTO技術棧公眾號

日本午夜免费一区二区| 青青青国产精品| 成人午夜电影久久影院| 91精品国产91久久| 亚洲乱亚洲乱妇| 99国产精品久久久久| av在线不卡观看| 欧美做受69| 亚洲男人天堂九九视频| 黄上黄在线观看| 国产精品视频免费| 天天综合五月天| 中文精品久久| 国产91精品久| 成人免费视频观看| 91精品国产综合久久蜜臀 | 欧美成人三级视频网站| 天天影视久久综合| 亚洲欧美日韩国产综合| 国产不卡一区二区视频| 蜜桃av一区二区三区| 97人人模人人爽人人少妇| 精品在线网站观看| 日韩三级影视基地| 国产免费不卡| 亚洲精品一区二区三区福利| 黄色小视频在线观看| 亚洲最新视频在线播放| 国产综合免费视频| 成人高清视频在线| 国产盗摄视频在线观看| 久久国产精品99精品国产| 日韩videos| 久久亚洲国产精品一区二区| 久久亚洲高清| 日韩一级网站| 久久国产一区| 在线精品观看| 综合色中文字幕| 欧美日本中文字幕| gogo大尺度成人免费视频| 一夜七次郎国产精品亚洲| 日韩在线伦理| 国产亚洲一区精品| 成人免费毛片嘿嘿连载视频…| 国产婷婷成人久久av免费高清| 国产精品论坛| 尤物精品国产第一福利三区| 成人国产一区| 日韩中文在线观看| 日本在线视频一区二区三区| 久久免费高清视频| 你微笑时很美电视剧整集高清不卡| 欧美亚洲免费电影| 色综合天天爱| 99爱精品视频| 免费一区二区视频| 18禁免费观看网站| 国产精品久久久久国产精品日日 | 亚洲精品成人自拍| 久久激五月天综合精品| 一本久道久久综合狠狠爱亚洲精品| 美女高潮久久久| 日本www在线视频| 国产精品国产三级国产普通话蜜臀 | 国产视频丨精品|在线观看| 黑森林国产精品av| 美女福利精品视频| 亚洲系列另类av| 999精品在线观看| 久久精品国产99| 欧美一级黄色影院| 亚洲午夜久久久久久久久久久| 国内精品在线视频| 日韩精品一区二区三区视频播放| 国产综合色在线观看| 欧美在线视频观看免费网站| 成人自拍性视频| 久久亚洲影视| 日韩av在线电影观看| 成人综合激情网| 四虎影视永久免费观看| 色av综合在线| 欧美电影免费观看高清完整| 97精品国产97久久久久久免费 | 精品亚洲aⅴ在线观看| www.久久久久爱免| 国产精品久久久久久久9999| 久久亚洲二区| 国产精品一区二区小说| 欧美日韩在线播| 久久久国产精品网站| 国产欧美日韩高清| 国产精品91一区二区| 成人在线小说| 一本一本久久a久久精品牛牛影视| 少妇精品久久久一区二区三区| 日韩欧美一区二区视频在线播放| 国产欧美一区二区三区鸳鸯浴 | 日本电影在线观看网站| 色吧影院999| 在线看片成人| 日韩精品免费播放| 91精品国产全国免费观看| 亚洲欧美一级| 欧美男人的天堂| 亚洲精品国久久99热| 亚洲伦乱视频| 国产成人成网站在线播放青青| 成人黄色国产精品网站大全在线免费观看| 在线观看老湿视频福利| 亚洲男人的天堂在线| 女生裸体视频一区二区三区| 波多野结衣家庭教师视频| 99这里只有精品视频| 日韩毛片在线观看| 中文字幕乱码亚洲无线精品一区| 欧美成人三级在线视频| 欧美日韩国产一级片| 亚洲精品3区| 草草视频在线免费观看| 欧美精品欧美精品系列| 欧美女优在线视频| 日韩精品 欧美| 欧美电影免费观看完整版| 四季av一区二区三区免费观看| 无码内射中文字幕岛国片| 日韩一区二区三| 亚洲国产精品日韩专区av有中文| 久久久久久久久久网| 日韩视频一区二区| 在线看片不卡| 一级日本免费的| 色综合色综合网色综合| 国产成人av福利| 都市激情国产精品| 日本在线成人一区二区| 日本福利一区二区| 国产精品videosex性欧美| jizzjizz中文| 91国产一区在线| 26uuu成人网一区二区三区| 乡村艳史在线观看| 日韩av电影免费在线| 在线成人午夜影院| 精品二区久久| 手机福利小视频在线播放| 2019精品视频| 国产精品初高中害羞小美女文| 色999韩欧美国产综合俺来也| 最近中文字幕免费mv| 亚洲精品久久久久中文字幕二区| 久久久国产精品一区二区中文| 在线观看黄av| 看高清中日韩色视频| 欧美另类z0zxhd电影| 一区二区三区国产盗摄| 免费在线观看黄| 日韩性感在线| 亚洲欧美国产另类| 成人性生交大合| 精品一区91| 成人羞羞视频免费看看| 国产成人av在线播放| 亚洲图片欧美色图| 一区二区电影在线观看| 国内在线免费高清视频| 精品国产乱码久久久久| 日韩午夜av电影| 国产麻豆成人精品| 欧美xxxxx牲另类人与| 亚洲免费影视| 黑人极品ⅴideos精品欧美棵| 亚洲伊人婷婷| 自拍偷拍亚洲区| 国产欧美一区二区精品秋霞影院 | 视频一区二区精品| 亚洲精品成人久久电影| 国产成人精品一区二| 精品亚洲美女网站| 另类小说第一页| 国产精品欧美在线| 欧美亚一区二区| 久久激五月天综合精品| 9999在线精品视频| 美乳中文字幕| 99久久综合狠狠综合久久止| 欧美一级在线观看| www.视频一区| 成人羞羞网站| 成人性生交大片免费看在线播放| 自拍日韩亚洲一区在线| 欧美亚洲免费电影| 欧美另类久久久品| 成人福利在线看| 蜜桃一区二区三区| 国产一区久久精品| 日韩视频免费在线播放| 亚洲va久久久噜噜噜| 国产网站欧美日韩免费精品在线观看|