時代變了,這是敏捷DevOps、低代碼、微服務的正確打開姿勢

2020-12-16 機器之心Pro

在數位化進程不斷加快的今天,企業面對的是一個複雜的環境,交付要更快、架構要更靈活、人員還要更精簡。如果沒有一套完整的方法論和工具鏈,這些很難全部做到。

在上雲的過程中,部分問題可以得到解決,但要想做到真正的降本增效,還要從人員、方法、工具、平臺等方面進行變革。這一過程中也有很多經驗、平臺可以直接借鑑。

11 月 18 日,華為雲的多位技術專家走進南寧,在新一期的 DevRun 開發者沙龍上分享了他們在幫助企業進行數位化轉型過程中沉澱的經驗和技術。

值得一提的是,本次 DevRun 開發者沙龍還邀請到南寧市大數據發展局副局長張春為活動致辭,她表示,為了增加南寧的信息化人才吸引力,為本地企業輸送高質量人才,2019 年 7 月,南寧市人民政府與華為共同成立了華為(南寧)軟體開發雲創新中心,引進了華為軟體開發雲平臺。一方面,華為軟開雲服務為本地企業開發者帶來了高效實用的開發工具、先進的軟體開發理念,為南寧軟體產業發展了注入動力;另一方面,華為軟體開發人才培養雲資源為高校培養了更多人才,訓練學生掌握了企業級軟體開發流程,提高了軟體開發技能,減少了當地企業的新人培養成本。

用敏捷 DevOps 解決研發問題的最佳姿勢

我們經常聽說某公司幾天或幾周就上線了一款新的應用,而他們之所以能做到這一點,很多都離不開一種叫做「DevOps」的開發方式。

在傳統的開發方式中,很多組織將開發和系統管理劃分成不同的部門。開發部門的驅動力通常是「頻繁交付新特性」,而運營部門則更關注 IT 服務的可靠性和 IT 成本投入的效率。兩者目標的不匹配,就在開發與運營部門之間造成了鴻溝,從而減慢了 IT 交付業務價值的速度。DevOps 的出現改變了這一局面。

DevOps 由 Development 和 Operations 組合而成,它是企業內開發、技術運營和質量保障工作的融合,用於促進開發、技術運營和質保部門之間的溝通、協作與整合。DevOps 的出現很大程度上解決了開發和運維之間的管理混亂問題。

在數位化時代,企業都期望 DevOps 能夠帶來更高效的交付效率,提升客戶滿意度,但成功實踐 DevOps 依然是一個難題。《中國 DevOps 現狀調查報告(2020 年)》分析了中國企業 DevOps 的成熟度情況,發現處於初始級和基礎級的企業依然超過六成;僅有 0.85% 的企業處於卓越級,能夠做到 DevOps 全流程的數據化、智能化與持續改進。

那麼,企業在轉向 DevOps 的過程中究竟存在哪些難點,如何克服這些難點?在 11 月 18 日的 DevRun 開發者沙龍上,華為雲 DevCloud 首席技術布道師徐毅進行了詳細分析。

徐毅指出,要想向最終用戶持續、快速地交付價值,企業需要從多個方面入手,全方位地提升 DevOps 能力。

首先,最為基礎的是人與組織。在提升 DevOps 能力的過程中,企業要進行組織轉型及人員技能提升,使得組織結構與業務特點和競爭環境相吻合,選擇最合適的組織結構。

其次,企業需要從工程方法、最佳實踐、生態與工具平臺等 4 個因素進行 DevOps 變革。其中,工程方法是確保過程有序的關鍵;借鑑別人的最佳實踐可以快速提升效果;生態指的是人與人之間的協作;而強大的工具平臺則是工程方法、最佳實踐的有效載體。對於 DevOps 來講,離開工具平臺談 DevOps 變革是非常奢侈的。

除此之外,徐毅還指出了變革過程中的一些具體方法,如:從項目型走向產品型,考慮設立產品經理制,建立基於產品的價值交付型組織結構;訓練出有規矩、講紀律、有戰鬥力、能自管理的團隊;將需求故事化,基於用戶場景、信息共享、減少誤解;基於代碼分支模式進行協作,自動化構建部署流水線;藉助業界的先進工具和實踐快速提升基本能力等。

然而,對於企業來說,即使知道了這些模式,DevOps 能力的提升也很難一蹴而就。這是因為,業界的先進工具和實踐都需要學習才能掌握,而且學習曲線是非常陡峭的。

為了幫助企業克服這一難題,華為雲開發了 DevCloud 敏捷與 DevOps 專家服務,從人與組織、工程方法、工具平臺、最佳實踐等方面以諮詢、輔導、培訓、認證與評估等方式使能企業雲化與數位化轉型。

華為雲 DevCloud 是業界首家打通研發態、運行態和運維態的 DevOps 平臺。它實現了端到端 DevOps 的全覆蓋。30 年研發實踐積累提煉而成的華為雲 HE2E 實施框架從理論上覆蓋了「規劃與設計、計劃與跟蹤、迭代開發、持續交付」4 大關鍵領域,使得華為雲 DevCloud 支持從需求、設計、開發、構建、測試、部署、運維、反饋再回到需求,形成完整閉環,串聯起了端到端一站式開發的方法論和工具鏈。

在 IDC 2019 年發布的《IDC MarketScape:中國 DevOps 雲服務市場 2019 廠商評估》報告中,華為雲 DevCloud 位居 Leaders 象限,在國內廠商中能力和市場份額兩大維度均排名第一,全面領跑 DevOps 雲服務市場。

低代碼玩轉應用開發

隨著人工智慧、物聯網、區塊鏈等領域飛速發展,傳統行業在向網際網路化轉型的過程中,對軟體技術的要求越來越高,軟體實現越來越複雜,軟體構建技術難度以指數級增長。這導致企業業務應用平臺建設投資大、0-1 構建難、1-N 複製難等問題。與此同時,市場對於應用開發的需求也在與日俱增。全球知名 IT 研究與顧問諮詢公司 Gartner 預計,2021 年,市場的應用開發需求將 5 倍於 IT 公司的產能。

與之相矛盾的是,軟體開發效率卻難以像摩爾定律一樣快速提升。開發者被繁重、重複的代碼絆住了手腳,非開發人員被擋在開發工具、平臺的高門檻之外。此外,現實中的諸多不確定因素也讓軟體開發成果與工作量投入不成正比,包括人員之間的溝通協作、業務的靈活多變、業務與技術之間的鴻溝、軟體工程師技能差異等。

在這一背景下,低代碼開發以其可視化、快速便捷、結構化的形式特徵成為軟體開發的新趨勢。近年來,國內外科技巨頭紛紛加入了低代碼開發平臺的賽道,華為也不例外,他們開發的應用魔方 AppCube 低代碼平臺致力於讓上述不確定因子變為確定性因子,這是軟體開發效率改進一直努力的方向。

在本次開發者沙龍中,華為雲應用平臺 AppCube 運營經理劉國軍詳細解讀了 AppCube 的關鍵能力和優勢。

AppCube 是一個「平臺 + 資產 + 生態」的低代碼雲化應用開發與運行平臺。顧名思義,它就像一個魔方,可以讓你通過任意組合,排列各種模塊化元素,創建功能各異的應用。

作為一個 aPaaS 平臺,AppCube 具有如下優點:

極大地降低了構建門檻,允許業務開發者、業務管理員等多種角色以低代碼 / 零代碼的形式參與到開發過程中。加速了業務敏捷創新,利用豐富的組件與模板、積木式頁面構建、簡單易用的數據建模、靈活可視的服務 / 流程編排助力企業應用敏捷開發。圍繞行業場景,有針對性地沉澱與提供標準化開發能力。縮減了企業 IT 與大型應用構建成本。AppCube 的最終目標是成為滿足多場景、多角色參與、深積累的平臺,從而不斷幫助行業客戶與夥伴解決業務及工程痛點。

微服務架構帶來的新問題怎麼破

隨著業務的發展,企業的團隊規模往往越來越大,業務邏輯也越發複雜,但交付周期卻越來越短。在傳統的單體架構下,企業很難做到代碼的重用、共享和跨團隊合作,研發、測試、部署、維護的成本居高不下。而且,傳統單體架構的可伸縮性、可靠性都很差,往往牽一髮而動全身。這些弊端嚴重製約了業務的快速創新和敏捷交付。

SOA 架構的出現緩解了這些問題,但在網際網路化的交互模式下,它也面臨新的挑戰,如在流量突發尖峰時段不能及時調整,無法適應流量難以預知的網際網路新常態。在此基礎上,「微服務架構」的概念應運而生。

微服務旨在通過將功能分解到各個離散的服務中來實現對解決方案的解耦。它實現了各微服務獨立自製和自動彈性伸縮,避免牽一髮而動全身。此外,它還支持獨立部署和 DevOps 服務快速上線。這些優點使其大大縮短了業務上線周期(可按天 / 周進行升級發布),提高了可擴展性。

但需要指出的是,微服務也不是「銀彈」,會帶來一些新的問題,如:微服務業務如何拆分?如何基於微服務框架高效開發和上線?在不可預期的流量下如何保證業務高可靠運行?

在本次的 DevRun 開發者沙龍活動中,華為雲應用平臺微服務產品經理叢琳琳分享了華為雲微服務架構針對上述問題的解決方案。

華為雲微服務架構的技術沉澱可以分為環境管理、服務註冊發現、服務契約、負載均衡、灰度發布、限流、熔斷和容錯等幾個方面,而這些都可以在華為雲微服務引擎(CSE)和華為雲 ServiceStage 平臺中找到。

華為雲微服務引擎的微服務開發框架打包了微服務註冊、發現、通信和治理等基礎能力,支持 REST 和 RPC 協議;微服務治理中心提供了微服務負載均衡、限流、降級、熔斷、容錯等治理能力;微服務灰度發布支持按權重和接口參數(例如用戶群組或用戶所屬區域等等)定義微服務灰度發布規則等。而華為雲的 ServiceStage 應用託管和微服務管理平臺則可以幫助企業簡化部署、監控、運維和治理等應用生命周期管理工作,面向企業提供微服務、移動和 Web 類應用開發的全棧解決方案。

華為雲的微服務技術在傳統企業上雲的過程中發揮了重要作用。以坤德巖土為例,這家公司在數位化轉型過程中面臨微服務轉化難的問題,華為雲通過 ServicStage 平臺和 DevOps 標準化、應用架構標準化、交付環境標準化提供了應用開發、整合、發布、監控及運維等一站式解決方案,快速完成了坤德業務系統微服務化架構的改造。

此外,華為雲的微服務引擎也在使能數字政府、智慧園區、金融、工業雲、新零售、製造能源等多個行業。

本次 DevRun 開發者沙龍的活動現場還請來了華為(南寧)軟體開發雲創新中心總經理歐桂坤和南寧雲寶智城數據服務有限責任公司副總經理吳芸。

歐桂坤介紹了華為(南寧)軟體開發雲創新中心如何以華為雲 DevCloud 為基礎提供先進的產學研教學平臺、軟體集成開發平臺和軟體孵化創新平臺。在南寧本地,華為雲已經幫助 157 家企業、6 所高校上雲。企業上雲項目數高達一千多個,使用華為雲 DevCloud 的開發人員達三千多人,總計提交代碼兩萬多次,高校使用華為雲DevCloud 創建在線課程 20 餘門。

吳芸則介紹了南寧雲寶智城如何圍繞「數字產業化、產業數位化」的發展目標培育優質「上雲」企業,推動當地經濟高質量發展。她表示,為了更好地服務南寧市本地企業,雲寶智城申請成為了華為雲精英服務商,藉助華為在 5G、人工智慧、雲計算、大數據、物聯網、智慧城市等技術領域的領先優勢,依託於精英服務商的特權為企業、高校、科研機構等提供上雲服務。

活動最後,現場專家還帶領開發者就「基於微服務搭建天氣預報應用實踐」這一主題進行了實戰演練。

DevRun 開發者沙龍是一個分享知識和解決方案的平臺。在未來的日子裡,華為雲的技術團隊還將繼續深入全國各地,為各地開發者搭建一個與華為雲技術專家交流的平臺,共建親密互動的開發者生態。下一場 DevRun 開發者沙龍將於武漢舉辦,期待各位開發者的參與,11 月 21 日,我們武漢見。

相關焦點

  • 2020Gdevops北京站 中郵消費金融李遠鑫解讀敏捷運維背後的深度...
    維峰會在京舉辦,中郵消費金融有限公司部門負責人、資深架構師李遠鑫受邀出席,並發表「敏捷消費金融中臺架構下的深度服務治理」主題演講,系統分享了中郵消費金融現代化服務治理體系以及在敏捷開發過程中的實踐經驗。
  • 中郵消費金融李遠鑫:借力深度服務治理,打造敏捷高效的運維體系
    來源:時刻頭條2020年12月11日,2020年Gdevops全球敏捷運維峰會在京舉辦,中郵消費金融有限公司部門負責人、資深架構師李遠鑫受邀出席,並發表「敏捷消費金融中臺架構下的深度服務治理」主題演講,系統分享了中郵消費金融現代化服務治理體系以及在敏捷開發過程中的實踐經驗
  • 錘子的墨村 之 程序猿眼中的REA DevOps
    REA DevOps全工具鏈REA實際使用到的全工具鏈包括:代碼倉庫:github企業版。構建和部署工具:Buildkite和Jenkins,還有一些老的項目依然在使用Bamboo。容器平臺:微服務用Docker進行打包,Docker的引入讓公司內部微服務的部署流程一致化。
  • DevOps術語表-徵集協作者
    DevOps 術語表協作網址:     http://martinliu.cn/2017/01/07/devops-glossary/Github:     https://github.com/martinliu/martinliu.github.io/blob/master/_posts/2017-01-07-devops-glossary.md   誠邀協作:審校: 歡迎大家通過微信文章留言、微信群、QQ群等來交流您對術語條目的反饋,請提出您的觀點或者優化建議等等。
  • 這才是Java微服務劃分的正確姿勢,學會了嗎?
    我們知道微服務是一種理念,沒有確切的定義和邊界,好比設計原則,是屬於抽象的概念。在定義不明確的情況下談劃分也是一種各說各話,具體問題需要具體分析,所以這篇文章談到的劃分也不是絕對標準,僅供參考。有人說微服不難,難的是服務的劃分,雖然我持保留意見。但是從側面也反應了劃分具有一定的困難。這裡的矛盾在於粒度。
  • Gdevops北京站:網際網路、金融與運營商的智慧運維、資料庫、Fintech...
    2020年,Gdevops全球敏捷運維峰會開啟了傳播前沿技術、助力技術人成長進階、促進跨界交流合作的第五個年頭。依託迄今成功舉辦的17場大會在分享議題上的精心打磨、在技術圈子裡的口碑傳播,Gdevops在展開新一年技術巡演中邀請到更頂級的嘉賓陣容,將帶來更重磅的科技成果與獨家實踐。2020 Gdevops北京站
  • 技術掌舵人齊聚Gdevops峰會,解讀資料庫、智慧運維、Fintech轉型精要
    依託迄今成功舉辦的17場大會在分享議題上的精心打磨、在技術圈子裡的口碑傳播,Gdevops在展開新一年技術巡演中邀請到更頂級的嘉賓陣容,將帶來更重磅的科技成果與獨家實踐。突破點1:資料庫——雲時代下資料庫的革新與創變從過去40年至今,資料庫的形態基本經歷了傳統商業資料庫、開源資料庫到雲原生資料庫的演進過程。
  • 一站式打卡「雲原生」時代的高效開發:微服務和資料庫還能這樣玩
    在這場近90分鐘腦力風暴,與近2小時實戰修煉中,主題直奔當下火熱的「雲原生」,並結合雲原生時代的「微服務」與「資料庫」,深入淺出揭開一站式高效開發的秘籍。12月19日,DevRun開發者沙龍華為雲南京雲原生專場在南京成功舉辦。
  • DevOps到底是什麼意思?
    分工之後,傳統的軟體開發流程是這樣的:軟體開發人員花費數周和數月編寫代碼,然後將代碼交給QA(質量保障)團隊進行測試,然後將最終的發布版交給運維團隊去布署。所有的這三個階段,即開發,測試,布署。早期所採用的軟體交付模型,稱之為「瀑布(Waterfall)模型」。
  • 微服務,如何拆分服務是精髓|技術前沿
    本篇我們討論雲原生的又一個重要理念——微服務。其實之前在《理解了雲原生,才能正確迎接雲時代的到來》一文中已經簡單闡釋過微服務,它是區別於過去單一架構產品開發模式的一種新型方式,為的是持續交付這一雲原生終極目標。可以說,微服務是雲原生的靈魂。
  • 華為雲MVP王立傑:敏捷DevOps的「傳道授業解惑」師者
    《敏捷無敵之DevOps時代》、《京東敏捷實踐指南》作者,《敏捷開發一千零一夜》主編,江湖人稱「無敵哥」。當前,數位化大時代下企業面對的商業環境瞬息萬變,各種新技術突飛猛進的同時,IT企業要對市場和競爭對手的變化做出快速敏捷的響應,才能在市場中稱雄,不被淘汰。
  • 談數據:微服務環境下,數據如何治理?
    在微服務架構中,只需要在特定的某種服務中增加所需功能,而不影響整體進程的架構這個定義也不知道是哪位兄臺更新的,這專業的語言、晦澀的詞語,讓我這有IT技術基礎的看著都一臉懵逼。本質上,微服務是就一種用於構建應用的技術架構,他是IT技術發展的產物。
  • 企業對DevOps的偏見,及幾個轉型建議
    在有些企業中,初期會創建一個名為「devops」的專業團隊來解決各種「devops問題」,這便是良好運營的開端。這個團隊可能會負責接手開發團隊的應用程式,使用自動化工具進行打包,進行部署並將其轉交給Site Reliability團隊。不幸的是,集中式的devops團隊也可能變成「silo」 ,也要不斷接受傳統運維組所面臨的「項目末期」交接挑戰。
  • DevOps團隊如何選擇監控工具
    網絡監控:這將查看計算機網絡進出的數據。你的監控工具可以捕獲有關組件(如交換機,防火牆,伺服器等)中的所有請求和響應。應用程式性能監控: APM解決方案收集有關服務運行情況的數據。通過這些工具,我們可以對應用程式性能問題進行檢測和診斷,以確保服務以預期的水平運行。第三方組件監控:這涉及監控體系結構中第三方組件的運行狀況和可用性。
  • 實現微服務架構最流行Style,Spring Boot+Spring Cloud
    我的學習是先從Spring boot開始的,然後接觸到微服務架構,當然,這一切最大的啟迪還是感謝我的一個老師,是他給我指明了新的道路,讓我眼前一亮,再次感謝。微服務的流行,Martin功不可沒,這老頭也是個奇人,特別擅長抽象歸納和製造概念,我覺的這就是最牛逼的markting啊,感覺這也是目前國人欠缺的能力。
  • 厲害了,教你用 Spring Cloud 實現微服務
    我的學習是先從Spring boot開始的,然後接觸到微服務架構,當然,這一切最大的啟迪還是感謝我的一個老師,是他給我指明了新的道路,讓我眼前一亮,再次感謝。微服務的流行,Martin功不可沒,這老頭也是個奇人,特別擅長抽象歸納和製造概念,我覺的這就是最牛逼的markting啊,感覺這也是目前國人欠缺的能力。
  • 基於Spring Boot和Spring Cloud實現微服務架構學習
    >本公眾號主要推送java技術、web(html/js/ui)技術、資料庫技術、web項目開發經驗、IT生活、IT熱點,讓有經驗的人知識面更廣、技術更紮實、工資更高,讓0基礎的人秒變大牛,讓你的生活更積極,更有樂趣。點擊上方的藍字,這樣您每天可以看到更多的java知識和資訊!完全是免費訂閱,請放心關注。
  • 精讀| 什麼是微服務架構?
    今天的這篇文章主要關注的是「微服務架構」,詳細闡述了微服務的定義、特點、優勢、應用場景等重要內容。01作者開篇以問題形式引入了本文的主題——微服務,吸引讀者繼續往下閱讀尋找答案。這篇博文可以幫助你理解,開發者們是如何根據自己的需求,使用微服務來擴展應用的。在這篇文章中,你將了解到:● 為什麼要用微服務?● 什麼是微服務?
  • 一文搞懂DevOps
    今天這篇文章,就和大家好好聊一聊DevOps。DevOps是什麼?先看下 「官方」解釋,以下來自百度百科。這可能是剛接觸到DevOps的第一反應。2009年,Patrick Debois(DevOps之父)在提出Dev和Ops概念時的主要目的是如何在運維工作中應用 Scrum 和其它敏捷實踐,為的是促成開發運維合作(打破開發和運維之間的部門牆)。為什麼會有部門牆?參考康威定律:「設計系統的架構受制於產生這些設計的組織的溝通結構。」
  • 基於Spring Boot和Spring Cloud實現微服務架構
    我的學習是先從Spring boot開始的,然後接觸到微服務架構,當然,這一切最大的啟迪還是感謝我的一個老師,是他給我指明了新的道路,讓我眼前一亮,再次感謝。WHAT - 什麼是微服務微服務簡介微服務的流行,Martin功不可沒,這老頭也是個奇人,特別擅長抽象歸納和製造概念,我覺的這就是最牛逼的markting啊,感覺這也是目前國人欠缺的能力。