NTTデータ / 一般社員(5年目)
プロジェクト全体のCI/CD促進(ライブラリ管理業務の改善)
# 2019年10月〜2021年10月 担当プロジェクトのCI/CD促進(3年目後半〜5年目前半) 顧客の経営環境が厳しさを増す中、プロジェクト全体の維持工数の削減や、開発サイクルの迅速化が課題として上がった。そこで改善対象の1つとなったのが、プロジェクト資産(アプリケーション、環境設定ファイル、スクリプト等)のバージョン管理やリリース管理といったライブラリ管理業務である。 担当プロジェクトではライブラリ管理専門チームが中心となり、各チームとビルド環境の調整やバージョン管理の調整を行なった上で、裏ではSVNや補助システムを用いてバージョン管理を行なっていた。 約10年前に担当プロジェクトは発足したが、発足当初からこれまで多くのトラブルを経験し、ノウハウや知見・再発防止策を積み重ねて開発からリリースまでの品質を高めていた。 そのライブラリ管理業務の要件や運用フローを紐解き、フローの組み替えや自動化を行い、ライブラリ管理専門チームの維持工数削減及びリリースサイクルの迅速化を図った。 自身はその主担当として、当案件全体の推進、ステークホルダーの調整、設計、実装、試験、リリースを行なった。 銀行システムというミッションクリティカルなシステムの特性上、いきなりメインの勘定系システム等に手を入れるのはリスクが高かったため、まずは発足して間もないデジタル案件専門チームのCI/CDを試みた。 # 2019年10月〜2020年10月 デジタル案件専門チームのCI/CD促進 デジタル案件専門チームにまず導入するために、当案件の実現可能性を検証するPoCを弊社技術支援部隊とともに行なった。 対応した内容は以下の通り。 ・デジタル案件専門チームにおけるライブラリ管理業務の要件、運用フローの整理 ・技術支援部隊への情報連携 ライブラリ管理業務にかかる維持工数の削減、及びリリースサイクルの迅速化に向けて技術支援部隊と設計を議論した結果、以下のような概要となった。 ・人手及び紙媒体でやり取りしていた運用フローをServiceNowで実装する。 全社方針もあり、技術支援部隊でのバックアップ体制が存在していたため、ワークフローのデジタル化をローコードで開発できるSaaSであるServiceNowを採用。 ・バージョン管理システムをSVN及び補助システムに代わり、git及びGitLabとする。 すでにgitはバージョン管理システムでデファクトスタンダードになっており、調査・開発のしやすさ、周辺エコシステムの発展していることによる更なる自動化を見込むために採用。 ・金融プロジェクトにおけるセキュリティ要件の確保を行う。 金融機関システムのプロジェクトは、閉域網に閉じる環境であっても、開発環境、試験環境、本番環境といった各環境はNWの分離が必須であるため、FWを用いて分離を行う。 上記の要件を元にPoCを実施後、実現可能性、導入後のコストメリットが見込めたため、デジタル案件専門チームの環境への導入を進めた。 対応した内容は以下の通り。 ・ServiceNowのフロー設計・実装 ・gitのブランチ運用設計 ・自社クラウド環境(開発環境)にてGitLabサーバ、必要な処理を自動化するためのJenkinsサーバ構築 ・環境間分離を行うためのFW、クラウドのセキュリティグループの通信設計、構築 ・開発担当者へのgit、ServiceNow等の手順説明 ・案件全体におけるセキュリティの評価 導入後、効果測定を行い、ライブラリ管理業務の工数削減及びリリースサイクルの迅速化が達成できたため、次年度に他システムへの展開を決定。 # 2020年11月〜2021年10月 他システムへの横展開 本丸である勘定系システムへの導入は見送られれたものの(※)、主要なサブシステム群への導入が決定。 ※アプリケーション開発の環境とgitが著しく相性が悪かったことに加え、 当取り組みが担当プロジェクトにとっては大きな変革であったため、最も品質の求められる勘定系システムは導入リスクが大きいと判断された。 昨年度に対応したデジタル案件専門チームは、既存のシステム群とは開発の環境やアプリケーションで採用している製品、顧客へのサービスレベル等が大きく異なっていたため、改めてサブシステム群のライブラリ管理業務の要件、運用フローの整理を行なった。 対応した内容は以下の通り。 ・ライブラリ管理業務の要件、運用フローの再整理 ・サービスレベルに応じた運用設計のアップデート ・複数システムが同時に当サービスを利用した際の影響評価 ・オンプレミス環境への導入のため、NWの設計、物理サーバ、NW機器の搬入及び構築 ※デジタル案件専門チームはクラウド環境だが、主要なシステム群はオンプレミス環境での運用を行なっている。 ・セキュリティの再評価 ・開発担当者全体へのgit勉強会の実施 2021年8月現在、運用における諸課題(性能管理、監査対応等)に対応中。