DevSecOps

What is DevSecOps

DevOps能實踐開發思想最佳化,也是一種提升組織快速交付應用程式和服務的能力,強調開發(Develop)、維運(Operation)、品質保證(QA)互相協調合作,降低軟體開發成本,提升交付效率,維持穩定運行。
DevSecOps是DevOps加上安全 (security)的簡稱,目標在軟體開發的每一個環節都能整合安全性檢核;代表開發團隊在達到交付條件時都必需符合資訊安全檢測。

跨部協同合作,快速自動交付

DevSecOps將各開發階段自動化及訊息公開,幫助企業軟體開發部門,解決傳統流程中,端對端(End to end)所產生訊息不對稱,以及協作不順暢的問題,並且將開發流程的每個階段自動化,進而提升軟體交付的速度。

自動化組態管理,架構靈活、獨立佈署

DevSecOps實踐涉及軟體開發的整個生命週期,需要開發與維運人員的協作,還需要透過自動化流程工具實現管理目標。
DevOps的可運用的工具包含Docker容器、GitSubversion版本管理、Ant Maven建構工具、selenium與JUnit測試軟體、持續整合的Jenkins服務。

軟體資安合規檢測

DevSecOps在開發階段就導入安全檢測流程(白箱檢測、弱點掃描)。 在整個開發週期中,將會對程式碼進行檢查、審核、掃描與測試,以確定是否有安全問題,以期這些問題能夠提早發現提前獲得解決。

專案管理-Jira software

混合Kanban/Scrum看板專案管理

利用JIRA Software所提供的功能,針對客戶特性、團隊管理模式、專案執行方法及開發架構進行融合。讓專案管理人員可使用WBS與Kanban的專案管理模式進行專案整體性的管理;讓開發團隊可利用Scrum的模式進行階段性的開發工作。使各方人員都能以自己熟悉的管理模式進行同步。

版本控制管理-GitLab

GitLab版本控制

使用GitLab做為開發專案的板控核心,以分散式版本控制系統進行系統原始碼之設計、開發與管理。
我們的團隊利用GitLab進行原始程式之版本協同管理,使團隊可在不中斷各自開發流程的情況下,提高工作效率,並確保程式碼交付的正確性與穩定性。
我們同時配合使用包含Maven、NPM等相關的建置工具,來強化原始碼的精簡度與安全性,並提升系統部署與維運的效率。

CI自動化整合測試、QA機器人驗證(Selenium,RPA)

QA自動化Selenium

‧Selenium 自動化測試框架主要用作網頁測試,可以直接驅動瀏覽器,模擬真正的使用者操作網站,包含打開瀏覽器、點擊或連結、輸入文字、取得網頁內容或內容比對驗證等
‧Selenium 的自動化框架可以輕鬆達到自動化測試,消除人為因素的錯誤,節省測試手動驗證的時間,大幅提升測試內容的準確度和一致性。

機器人自動化測試(RPA)

‧「機器人流程自動化 (RPA)」是使用軟體機器人來自動執行高重複性的例行性作業
‧透過RPA工具UI.Vision,提升複測效率與降低人工錯誤

壓力測試(Jmeter)
  • JMeter 可以用於對伺服器、網路或對象模擬巨大的負載,來自不同壓力類別下測試它們的強度和分析整體性能。

CI自動化建置/部署-GIT/Maven/Jira

自動化建置

專案中利用JIRA作為主要控制中心,對應專案中各階段任務,依據任務要求,版控或部署任務都可從JIRA的任務中Trigger Jenkins去執行,以此達到減少人為操作造成的失誤,並確保各個流程都有跡可循。

JIRA 整合GitLab

使專案人員可以快速從JIRA進行code review與版控的執行。

JIRA整合Jenkins

使專案人員可以直接觸發過版、建置、部署的工作,並及時檢視工作執行結果。

GitLab整合Maven/npm

精簡程式碼版控,並確保建置版本的穩定性。

CI自動化合規檢測

開發階段工程師於自己的開發環境進行自我程式驗證

自動建置前,自動從Sonarqube Server驗證程式

交付客戶前,將定版的程式利用APPSCAN進行白箱檢測

系統可靠度監測-SRE
資源監控

監控主機硬體資源狀況,包含儲存空間、CPU負載和記憶體使用率等等資訊。

網絡監控

監控網路(Switch、Firewall、Server…)中的封包流量或更詳細的應用情境。

效能監控

監控整體服務運行狀況的資訊。包含各服務(API、Service、Process)的請求與回饋。確認各系統的運行效率和完整性。目標是推動效能問題的檢測和診斷,以確保服務如預期運行。

“宏燁具符合DevSecOps精神之CI/CD規劃、導入、維運經驗,可提供相應的顧問及實施服務。”