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)
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規劃、導入、維運經驗,可提供相應的顧問及實施服務。”


