TASC提升DevOps流水線效能

TASC提升DevOps流水線效能

2024.04.30

位於TASC的技術團隊成員,一家領先的員工健康福利管理公司,感受到了手動流程的束縛,這讓他們無法以超過蝸牛步伐的速度推出軟件。開發、運營、質量保證(QA)、項目經理(PM)和業務分析師正在推動代碼進行測試、預上線和生產環境或執行用戶接受測試(UAT)測試,需要更快地推進流水線上的功能。

TASC的DevOps工程師John Gildenzoph表示:“我們每個月做一次發布,每次在星期六的早上關閉整個網站六到八小時來完成部署。”

該公司開始使用Automic Release Automation(ARA)來組織其流水線,引入DevOps並將軟件創新推向生產。

手動挑戰

在採用ARA之前,TASC使用的是Jenkins——這幾乎是它首次嘗試DevOps風格自動化的步驟。在此之前,公司的流程大多是手動進行的,使用源代碼庫實施。

Gildenzoph表示:“任何人要在他們的工作站上部署應用進行開發,或者部署到測試環境甚至生產環境,他們必須到服務器上,檢出源代碼,構建源代碼並部署構件。”

TASC在多達30個JBoss服務器上進行這項操作,這些服務器是其主要的網絡服務器,僅使用兩名開發者。一名開發者從第一個節點開始,另一名從最後一個節點開始,他們向中間工作,逐個手動更新每台服務器。他說:“我們來自黑暗時代,那時除了服務器和版本控制軟件外,我們真的沒有使用其他任何產品。Jenkins是我們意識到需要一直運行構建的第一次嘗試。”

統一DevOps工具,填補空白

TASC使用ARA將各種DevOps工具整合到流水線中,並在沒有特定工具的地方填補空白。“ARA是平台無關的。您可以像使用裝配線一樣使用它,並且可以按照您的喜好在裝配線上插入工人應用程序,”Gildenzoph說。在一個例子中,TASC將Jenkins作為其中一個“工人應用程序”,即作為其構建工具:ARA指示Jenkins構建軟件,然後將軟件自己移動到下一個工具以進行下一個工作。

Gildenzoph表示,所有公司需要在流水線上的開發過程中每一步添加最佳工具的是一個命令行界面(CLI)或API,使他們能夠將該工具腳本化以與ARA集成。這樣,如果公司決定對過程的任何部分使用新工具,它可以簡單地將該工具在那一點上腳本化到ARA,而不是用一個新工具替換整個流水線。

TASC還使用ARA來協調其對Amazon EC2和ECS產品的使用。與此同時,TASC正在努力將Docker容器的管理以相同的方式加入到ARA中。

TASC的IaaS

TASC使用ARA創建整個開發、測試、預上線和生產環境,公司將在這些環境中部署軟件。利用ARA及其自動化引擎,這是一種複雜的計時任務,用於開發工作流程,TASC與其Amazon雲端存在進行交互,創建整個應用堆棧。

Gildenzoph表示:“我們看到Automic正在開發ARA產品的下一代演進,這是一個供應產品,將與各種雲技術如Amazon或OpenStack互動,所以我們將能夠以較少的自製方式創建那個環境。它將是更多的拖放能力,具有運行手冊與您的雲進行互動。”

這些雲技術也將像Gildenzoph的ARA裝配線比喻中的應用/工人設置一樣。

提升成果

Gildenzoph表示:“我們從最初的手動情景轉變到在某些情況下不需要停機就能部署軟件。我們已經擁有了編排工具,它能夠分流部分集群、更新集群,然後將那些部分重新上線,以便我們的客戶察覺不到。”這對於使用網站進行呼叫中心流程和提交靈活索賠的內部和外部客戶分別都是有益的。

自從採用Automic以來,TASC變得更加敏捷,通常按每周時間表發布軟件。這使得企業能夠更快速、更有效地響應客戶對新功能、創新和對網站的增強的請求。

當TASC購買另一家公司以將其產品加入TASC時,加速的流水線使得公司能夠更迅速、更無縫地導入那家公司和產品。

相關文章