1. 「当たり前」だった環境間のネットワーク分離
従来の高セキュリティなシステム開発・運用の世界では、「開発環境と本番運用環境のネットワーク分離」が常識でした。これは、開発環境での作業が本番運用環境に影響を与えないようにするために、ごく当たり前に行われてきたことであり、特に高いセキュリティレベルが求められるシステムにおいては、情報漏洩防止という面からも厳格に求められる要件のひとつでした。しかしながら、環境間のネットワークの分離は、環境間の資材流通の非効率化・煩雑化の要因にもなっていました。すなわち、可搬媒体を利用したり、作業用端末の接続ネットワークを切り替えたりといったような手動作業を都度行う必要があり、CI/CD等のスピード感を伴った開発・運用のリリースサイクルを回すことに対する障壁となっていたのです(図1)。
図1:ネットワーク分離された環境間の資材移送イメージ
同様の課題は、NTTデータ社内でも以前からありました。当社では、社内向けの開発環境標準として「統合開発クラウド」の維持運用を行っており、社内の1,500近いプロジェクト(※1)がこれを利用しています。しかしながら、この統合開発クラウドもまた、前述の「当たり前」の常識に従い、オンプレミスの本番運用環境や他社クラウドとは独立したネットワーク環境となっていました。そのため、統合開発クラウド上で構築した資材を本番運用環境上にリリースする際には、どうしても人手の資材移送コストがかかってしまい、リリース作業を効率よく、ミスなく行うことが難しかったのです。近年はアジャイル開発手法やクラウドサービスの普及とともに、リリースサイクルの効率化・迅速化や各種クラウド環境との接続性が求められるケースも増えているため、この課題の重要度はますます大きくなっています。
(※1)2021年1月時点。
2. DevSecOpsによるリリース高速化・自動化の取り組み
こうした状況の中、開発環境と本番運用環境を密連携させる「DevOps」や、これにセキュリティの観点を加えた「DevSecOps」といった考え方が注目を浴びています。NTTデータでも、このDevSecOpsの考え方を取り入れることで、これまでは当たり前だった「環境間のネットワーク分離」という大前提を覆し、従来よりも効率よくリリース作業が行えるような仕組みづくりを推進しています。開発環境と本番運用環境を、必要なときのみセキュアな閉域ネットワークで接続し、リリース資材の移送とデプロイを行います。さらに、これらの流れをすべて自動で行う仕組みにより、高いセキュリティレベルを維持したまま、リリース作業に関する課題の多くをクリアし、運用現場の負荷を軽減することができます(図2)。
図2:DevSecOpsによって高速化・自動化された資材移送イメージ
具体例のひとつとして、先ほど述べた統合開発クラウドのオプションメニューである「閉域接続サービス」と、ServiceNow社が提供するクラウドプラットフォーム「ServiceNow(※2)」を組み合わせた事例をご紹介します(図3)。
図3:閉域接続サービスとServiceNowによるDevSecOps環境の構成図
閉域接続サービスは、統合開発クラウド上に構築された開発環境と、システムが運用されている本番運用環境を、閉域ネットワークを介してセキュアに接続します。このとき、環境間を結ぶ閉域ネットワークとしてNTTコミュニケーションズ社が提供する「Flexible InterConnect(※3)」を利用しています。そのため、既存の閉域ネットワーク経由でオンプレミスの本番運用環境やOpenCanvas(※4)に接続可能なほか、Amazon Web ServicesやMicrosoft Azureといった他社のパブリッククラウドにも接続することができます。
ServiceNowは、多種多様な業務のワークフローをデジタル化するプラットフォームで、さまざまなシステムと連携することができます。そのため、ServiceNow上でインシデントやリリースの管理を行い、作業承認が得られて実際にリリース作業が始まるタイミングで、環境間の接続点に配置されたファイアウォールの設定を自動的に変更する、といった仕組みを構築できます。こうして、「必要なときに必要な接続先にのみ接続を許可する」というアクセス制御を行い、効率性とセキュリティを両立させた資材流通を実現しています。
またServiceNowを活用すれば、資材流通後のビルド・リリース作業も自動化することができます。これにより、従来は夜間に複数名のライブラリ管理担当者のダブルチェックによって行っていたリリース作業を無人化し、運用現場の負担を軽減することができます。
このように、NTTデータでは、閉域ネットワークをフレキシブルに払い出す仕組みとServiceNowの統合管理を組み合わせることにより、インシデント対応やリリース対応といったような一連の業務ワークフロー全体の効率化・自動化を推進しています。
3. サービスマネジメントソリューションのご紹介
NTTデータでは、DevSecOpsのみならず、システムの運用現場での抜本的な働き方改革を実現するため、サービスマネジメントソリューションの開発に取り組んでいます。本ソリューションは、ServiceNowを中核とした各種運用業務を自動化・効率化するさまざまなサービスメニューで構成されています(図4)。これらによって、属人化した運用プロセス・手運用からの脱却や、複雑化した環境管理の一元化を実現します。
図4:サービスマネジメントソリューションの構成要素
本サービスマネジメントソリューションは、既に各分野において導入が進められています。とある金融分野案件では、金融業界特有の高レベルなセキュリティ基準に準拠しつつ、監視通報やリリース自動化を実現し、これらに関わる工数を大幅に削減しています。また、先に述べた統合開発クラウドにおいても、サービス監視の完全無人化を実現しています。
また、最近では、コロナ禍におけるテレワーク需要の急速な高まりを受け、自宅等からリモートでの運用・開発作業が行えるような、サービスメニューの更なる拡充を進めています。
4. まとめ:開発・運用のこれからに向けて
本記事では、NTTデータにおけるDevSecOpsによるリリース高速化・自動化の取り組みと、それを含むサービスマネジメントソリューションについて紹介しました。これらを通じて、NTTデータは、これからの時代の開発・運用のあるべき姿を追い求め、プロジェクト現場の抜本的な働き方改革に取り組み続けます。