天天看點

傳統企業轉向網際網路,如何快速提升研發效能?

網際網路時代,随着業務的迅猛發展,企業越來越希望通過實施devops來提升研發、運維等it部門的效率,支撐業務發展。網際網路企業如何利用工具讓devops落地?傳統企業如何提升研發效能,更快速的網際網路化?這些都是企業面臨的問題。

近期,阿裡巴巴持續內建持續傳遞平台——雲效,在深圳阿裡中心舉辦了一場“業務為王時代,devops怎麼玩?”主題沙龍,由阿裡巴巴技術專家從雲效新概念的提出,到阿裡巴巴devops落地實踐、到企業如何利用雲效進行高效研發、再到阿裡巴巴ci/cd之分層自動化,幫助參會者從理念、政策、實踐、效果等方面,全面深入的了解devops玩法,以及具體如何落地的思路。

雲效:網際網路+時代的企業級研發效能提升服務

雲效是網際網路業務下催生的研發效能平台,2012年,雲效孵化自阿裡巴巴b2b事業群,為阿裡内部提供研發效能服務;2013年,雲效真正實作持續內建持續傳遞并落地實施; 2015年底,雲效與首家網際網路保險公司衆安保險合作,開啟商業化第一步,後來正式為網際網路+企業提供服務。

雲效經過長期落地實踐,沉澱出一套含測試政策、研發政策的工具産品,開始更好的支撐傳統企業的網際網路化。本次沙龍上,雲效負責人章屹正式提出:“網際網路+時代的企業級研發效能提升服務”新概念,為傳統企業賦能!目前已經覆寫新零售、地産、券商、銀行、保險等行業,為顧家家居、李錦記、世聯行、國泰君安、光大銀行、天弘基金等傳統企業服務。

雲效特色

流式實時傳遞:內建驗證速度比對項目研發速度,為業務加速,改變傳統周期性傳遞模式;

自動化品質保證:建構自動化品質保證體系,提升研發品質,為品質護航,改變傳統手工技術品質保證體系;

柔性化管理:大資料支撐的柔性化研發技術管理,管理政策可私有定制,改變傳統團隊統一技術管理模式。

雲效政策

雲效擁抱傳統企業,根據傳統企業研發團隊規模大小、研發人員技能高低等,進行定制化實施政策,賦能技術團隊,使業務無線可能。

傳統企業轉向網際網路,如何快速提升研發效能?
傳統企業轉向網際網路,如何快速提升研發效能?
傳統企業轉向網際網路,如何快速提升研發效能?

落地資料

在合作中,雲效為衆安保險部署4個月時間,測試環境和持續內建累計為衆安提效232人日;雲效為五礦電商部署測試環境累計超過6萬次,ui自動化用例積累數量超過600個,實作了五礦業務場景的自動化的全面覆寫。

阿裡巴巴devops落地實踐

章屹:阿裡巴巴進階技術專家。清華大學電子工程系碩士畢業,十多年從事軟體的測試、開發、系統設計工作。現為阿裡巴巴進階技術專家,工程效能部技術負責人,負責雲效的技術規劃和建設工作。

在阿裡巴巴内部推行開發自測、開發自運維的環境下,阿裡巴巴devops應運而生。阿裡巴巴devops面臨這幾個問題:1.開發的測試和運維能力培養問題;2.開發自測自運維帶來的效率和品質問題;3.devops的實施進度問題;4.測試團隊和運維團隊的未來發展問題;5.技術的發展(微服務、容器化)帶來的挑戰。

為了解決devops落地問題,雲效跟開發、測試、運維團隊一起,為開發服務,讓他們自運維、自測,提升效率。

devops實施政策

傳統企業轉向網際網路,如何快速提升研發效能?
傳統企業轉向網際網路,如何快速提升研發效能?
傳統企業轉向網際網路,如何快速提升研發效能?

如何賦能開發自運維、自測?

在賦能開發自運維、自測過程中,工具的價值最為凸顯。

傳統解決方案:大內建環境;固定釋出時間(每周一次、兩周一次、一年四次……);

雲效持續傳遞解決方案:所有應用24小時随時提測并釋出,無釋出視窗限制;預釋出內建環境,半小時完成自動化并無人值守。

devops實施結果

開發自運維之後,研發效率大幅提升:日均節省資源人數增長,內建驗證釋出耗時減少,專業性團隊(性能、壓測等)隊伍在增長;品質得到保證:應用運維故障個數大幅下降;研發模式創新:自動化case數量增加,50%項目小需求研發自測,測試不接手, 測試全監控。

企業如何利用雲效進行高效研發?

苗欣:阿裡資深研發工程師。主要負責雲效平台解決方案服務輸出。在自動化測試技術、持續內建等方面擁有多年實踐經驗,擁有多項技術專利。

雲效,源于内部,是阿裡巴巴技術部實作持續傳遞的統一協同工作平台,實作開發測試全流程自動化,支撐項目的持續內建與持續傳遞。目前客戶覆寫銀行,保險,券商,電商,新零售等。

一個項目如何在雲效實作持續內建?

傳統企業轉向網際網路,如何快速提升研發效能?

視訊連結:(進入頁面後選擇左側幫助視訊欄--雲效研發整體流程視訊)

<a href="http://ali-aegis.aliyun.com/help/help.html?spm=0.0.0.0.w35kax">http://ali-aegis.aliyun.com/help/help.html?spm=0.0.0.0.w35kax</a>

視訊解讀:

項目準備階段:我們評審好項目需求,初步完成項目的資源評估,以及确定項目的傳遞日期後,即可在雲效配置管理系統建立項目,填寫項目成員,申請應用代碼分支。雲效提供配置管理功能,同時開放接口,支援對接外部的配管系統。

開發階段:開發在本機編寫代碼,每次代碼ci後,雲效單測內建系統會自動檢測代碼變更,幾分鐘後收到郵件提醒,在郵件中,可以看到單測用例,靜态掃描等資訊,也可點選項目或者數字連結到雲效單測內建系統,在系統上我們可以看到每次代碼送出運作的詳細情況。

測試準備階段(含開發自測):開發在編寫代碼的同時,測試也進入測試準備階段。測試在雲效平台可以編寫ui、接口、以及手工測試用例,用例編寫完成後,還需要準備一些測試資料,在雲效的資料銀行提供了豐富的測試資料生成方式,我們可以根據配置單,快速生成所需要的測試資料。

測試階段(環境部署、接口、ui、手工用例測試):開發自測通過後,項目進入測試階段。開發在項目中打一個測試包,打開環境管理,點選申請,這時雲效平台會自動申請一台雲伺服器,選出剛打出來的測試部署包,點選部署,測試環境的部署就自動開始了。在部署過程中,可以實時監控部署日志,擷取hosts綁定資訊。測試在平台響應“接手測試”,在項目中運作寫好的接口測試用例,運作ui用例,以及在手工用例系統中,運作功能用例,及時送出發現的缺陷。開發在收到缺陷郵件提醒後,可以在平台修複缺陷。接口、ui、功能測試都完成後,測試可以在平台響應功能“測試通過”。

內建測試階段:開發在平台送出內建,項目進入內建隊列,平台自動從應用的主幹拉取最新的release分支,将項目中的分支和release分支合并,打出內建測試包,部署到內建測試環境,觸發內建自動化腳本運作。項目成員可以在內建環境進行測試驗證,驗證通過後,平台上響應“驗證通過”。配管将釋出包部署到正式環境,觸發代碼合并主幹。

這樣,就在雲效平台上完成了一個項目持續內建過程。

阿裡巴巴ci/cd之分層自動化

金桐:阿裡巴巴産品專家。從事多年網際網路系統的研發和測試工作,現在主要負責雲效分層自動化測試的産品設計。

手工測試效率低下,釋出頻繁,回歸量大、成本高,重複勞動很枯燥。自動化測試,就是用機器執行替代測試手工操作的一種測試方法,能夠幫助測試人員從重複、枯燥的手工測試中解放出來,進而節省人力、時間或硬體資源。節約勞力為(n-1)m,m為此項工作單次需要投入的資源,n為此項工作需要重複工作的次數。

如果自動化這麼好,為什麼大家沒有全部做自動化?因為自動化測試也是有煩惱的。主要表現在:成本高(代碼能力、自動化架構、ide 準備、排程、多環境),效果差(浏覽器影響、執行機影響、依賴環境影響、腳本健壯性不強),覆寫率低(架構不萬能、上下層難全、接口參數排列多),及時性低(代碼變更頻繁、遺漏的變更、項目結束才發現)等等。

為了降低成本,提高準确性,就要考慮降低人員成本、制作成本、運維成本、運作成本,同時擴大覆寫率、資料獨立、提供好的方法和腳本。當然,就需要實行分層自動化。

在了解分層自動化之前,我們先看自動化測試金字塔,其中ui代表頁面級系統測試,service代表服務業務測試(接口測試),unit代表單元測試。金字塔越高,表示需要投入的精力和工作量越大。分層自動化測試倡導的就是,将系統分層,根據層次特點用合适的自動化方法進行測試的一種測試政策。

傳統企業轉向網際網路,如何快速提升研發效能?

阿裡巴巴分層自動化在經過政策的沉澱調整後,又經曆了長期的工具與流程實踐,并從自動化成本和效果這兩個點上突破,進行分層自動化工具和項目流程的雙重革命,最終達到業内領先的研發測試比。在阿裡實踐分層自動化需要很多分層工具,包括配置管理aton、ui測試的aui、單元測試的amon、環境管理的aenv、接口測試sat、性能測試perf、內建自動化pre等。

這裡來介紹幾個革命性工具:

ui自動化—aui

創新型web-ui自動化測試架構,無需安裝複雜底層環境和 ide

建立和維護腳本,都無需接觸代碼,全部為 web 頁面可視化使用

支援本地回放,支援雲端執行,解放機器,釋放雙手

支援項目持續內建,線上監控等各種複雜場景

接口自動化—sat

可視化的接口測試,無需編寫代碼

支援普通接口調試和複雜背景互動的接口測試的用例沉澱

支援主幹,項目用例的沉澱與回歸

支援項目持續內建

性能壓測—perf

基于 jmeter 的性能壓測平台

集腳本,場景,壓測,監控和報表為一體,可快速施壓的平台

支援多種協定,适合 http,service 接口等測試

比 loadrunner 易上手,更輕量

單元測試—amon

可對代碼主幹及各項目分支進行單測內建

對有代碼變更的項目分支自定義頻率內建

對有代碼變更的應用主幹自定義頻率內建

擁有單測用例結果、覆寫率結果、靜态掃描結果、sonar 代碼分析等品質資料

內建自動化—pre

支援多種自動化架構接入

支援項目內建相關所有自動化的自動統一觸發

支援多種自動化架構不同環境觸發

支援日常持續內建

支援自動化失敗的原因彙總與總結

阿裡分層自動化實踐帶來了很有意義的成果,在阿裡内部,大幅提高了研發測試比,減少了重複勞動帶來的加班,同時帶動了更多高效工具的誕生;在研發方面,單測成本降低了,覆寫率可視化了,自測有保障了,故障降低了;在測試方面,降低了測試要求,增加了工作成就感;對雲效客戶來說,給企業賦能,提高了研發測試效率。

關于雲效:雲效,是阿裡巴巴網際網路業務催生下的新型研發效能平台,曆經阿裡集團衆多業務打磨,覆寫研發測試全流程,通過研發效能綜合管理和專項自動化提效工具,将自動化驗證、流式實時傳遞、柔性化技術管理等網際網路研發模式引入銀行、證券、保險、微金融、民航、新零售等各個行業的傳統企業,同時也根據這些行業特性不斷豐富發展,使傳統企業與網際網路結合,加強諸多新業務的快速疊代和品質提升,使技術賦予業務無限可能。

來源:阿裡技術

<a href="http://mp.weixin.qq.com/s/kbwyjb5bcwz27osu4_n71q">原文連結</a>