パッチ適用のCICDをDevOpsプラットフォームで実現

今回は、弊社がご提供したマネージドDevOpsプラットフォームサービスの事例から、パッチをシステムに適用するCI/CD(継続的インテグレーション/継続的デリバリー)の運用についてご紹介いたします。

お客様のシステム環境には、OSベンダーが提供するパッチの適用作業もありますが、弊社が開発したアプリケーションについてもパッチを充てることがあります。
OSのパッチを充てるタイミングで、関連するアプリケーションの機能に不具合を起こさないよう、アプリケーションを開発したベンダーは、適した機能構成に変更するためのプログラムをパッチとしてリリースすることがあります。
つまり、運用者は、OSベンダーからパッチを受けるだけでなく、アプリケーションベンダーからもパッチを受けます。パッチ適用の運用では、アプリケーションを開発したベンダーだけでなく、システム開発や運用に関わる多くのベンダーが問題点を共有して対応する必要があります。

ここでは、アプリケーションベンダーがパッチを開発する初動の段階から運用者がシステムにパッチを適用するまでのプロセスの中でDevOps環境をどのように活用しているのかを具体的に見ていきます。

DevOpsプラットフォームで使用するツール

システム開発と運用に関わるすべてのステークホルダーは、クラウド上に準備されたチケット管理、バージョン管理、ジョブ管理環境の3つの機能を使用します。この環境をDevOps環境として使用していくことをステークホルダーは理解しています。

チケット管理機能で開発機能の仕様や課題を管理

まず、運用対象のシステム開発や運用維持に関係しているステークホルダーが、追加機能や機能変更について、各ベンダーがシステムの変更点をチケット管理システム上で共有し、取りまとめを行います。
アプリケーションベンダーは追加機能や機能変更の仕様を明確にし、チケットとしてタスクをステークホルダーに開示し、チケットに対して提案を受けます。過去のパッチ開発時のチケットの記録で扱った仕様や課題も参考にします。アプリケーションベンダーは意見を集約した仕様を練り上げ、機能開発と必要なパッチを開発します。これを継続的に行うのがCI(継続的インテグレーション)の活動です。

ジョブ実行環境で標準テストと本番へのデプロイ作業を自動化

アプリケーションの品質を担保するために、必ず実施するテストはジョブ実行環境に自動テストツールをシステム初期開発時に組み込んでおくことで、運用の場面でも利用できます。また、自動テストの結果をアプリケーションベンダーが分析した結果をステークホルダーでチケット管理システムを利用して共有することで、客観的な評価と記録が残ります。
これは、機能開発を行い、パッチを提供する開発側(アプリケーションベンダー)と運用する側(ステークホルダー)の連携性を高めるために役立ちます。

バージョン管理によるシステム構成の管理

システム運用は、大小様々なインシデントが発生します。発生したインシデントはチケット管理システム上のチケットとして記録し、チケットには発生したシステムのバージョンを記録しています。
追加や変更を行ったアプリケーション機能が、どのバージョンでどんな問題が発生したのか記録をしておくことで、次のシステム機能のリリース準備において対処すべき必要事項を積み上げていくことができます。

また、リリース予定の機能やパッチの課題が整理され、リリース可能の判定を行ったタイミングで本番環境に自動デプロイを行えます。
これは、作業ミスを起こさないためにツールを使用することで客観的な分析と評価が行えることから、プログラムのデリバリーの正確性を高めます。これを継続的に行うのがCD(継続的デリバリー)の活動です。

運用の高度化だけでは難しいシステムの維持作業

ご紹介した活用例は、クラウド上のシステムだけでなく、昔から運用を行っているオンプレミス環境のシステムでも同様の運用作業を行っているでしょう。その作業の内容を管理し、継続的に運用に活かすための補助ツールがDevOpsの環境です。

また、運用者だけが効率化してもリリースの品質は評価できません。開発者も運用者も全てのステークホルダーが会議室にこもって議論をするよりも、情報を共有するクラウド上のプラットフォームでシステムの開発者と運用者が?がれば、DevOpsとしての活用が広がります。

作成日:2022年8月5日

関連リンク

AWSに関するお問い合わせはこちら

AWSの導入や運用の委託をご検討の方は、お気軽にお問い合わせください。

メールで問い合わせる
0120-593-111(平日9:00~17:00まで)

導入支援サービス

AWS環境を充実させるサービスをご用意。

詳しく見る