クラウドネイティブなアプリケーションの開発と運用を支えるCI/CD導入の勘所(前編)
クラウドネイティブNow

伊藤 真澄

富士通株式会社
ソフトウェアプロダクト事業本部 アプリケーションマネジメント事業部 マネージャー

クラウドネイティブなアプリケーションの開発や運用において重要な要となるCI/CD(継続的インテグレーション / 継続的デリバリー)。近年ニーズが高まっているDX(デジタルトランスフォーメーション)における特徴の1つにアジャイル開発があり、その実現手段としてDevOpsが普及し、そのためのツールとしてCI/CDが注目を集めています。
しかし、CI/CDの運用が展開できている企業はまだまだ少なく進んでいないのが実情です。当社でもCI/CDに関するご相談は増加していますが、運用までの展開を検討しているお客様の数はまだ限られています。
本特集では、このCI/CDの運用への展開における課題と勘所について、前編では従来型システムとDXシステムにおける差異を中心にCI/CDの現実を解説し、後編ではCI/CDの運用への展開における課題と勘所を解説します。

従来型システムとDXシステムの差異

そもそもDXシステムと従来型システムは何が異なるのでしょうか?どちらも「IT技術の活用」という点では同じですが、その活用目的が異なります。
従来型システムにおけるIT技術の活用目的は、ビジネスプロセスを変換することでコストの削減と付加価値を向上させ、綿密に分析したビジネスプロセスに基づいて開発計画・効果予測を立てることで開発した商品によって顧客ニーズを掴むことでした。
いっぽう、DXシステムにおけるIT技術の活用目的は、ビジネスモデルを変換して新たな価値を生み出す機会を創出し、それによって生み出された新たなビジネスモデルのアイデアを試して顧客の反応を見ながら修正を加えていき顧客ニーズを掴むことです。
そのため、システム開発やシステム運用で重視されることやプロセスも当然ながら変わってきます。

  従来型システム DXシステム
システム開発で重視されること
  • 既存業務が漏れなくシステム化されること
  • システムが安定運用(既存業務の維持)されること
  • 柔軟に拡張/変更が可能なこと
  • 必要最小限の機能を素早くリリースできること
システム開発のプロセス
  • 計画した機能を漏れなく実装すること
  • 優先順位の高いものから短サイクル開発すること
システム運用のプロセス
  • 開発者は開発資産を集約して十分な検証(セキュリティ点検含む)を実施
  • 運用者は提供された開発資産を手順書と照らし合わせてダブルチェックして運用環境に導入・公開
  • 集約・検証・リリース作業を短いサイクルで行う
  • ニーズに合わせて短サイクル開発を徐々に拡張していく

このように、DXシステムによる新たな価値を創造するためには短サイクル開発が必要なのですが、これにはクラウドネイティブが有効であると言えます。というのも、新たな価値の創造には短サイクル開発に加え、運用も含めた短サイクルでの開発・運用を徐々に拡張する仕組みが必要になります。短サイクルでの開発・運用する仕組みといえばアジリティー、徐々に拡張といえばスケーラブル、これらはいずれもクラウドネイティブの特長です。したがって、DXシステムにはクラウドネイティブが有効と言えるのです。

DXシステムにはクラウドネイティブが有効

短サイクル開発・運用プロセスを支える技術

DXシステムでは短サイクルな開発・運用が必要ということを説明しましたが、では、それを支える技術としてどのようなものがありますでしょうか。従来型システムからDXシステムに置き換えることをモダナイゼーションと呼びますが、モダナイゼーションを支える技術には、次のようなものがあります。

従来型システムからDXシステムに置き換えるモダナイゼーション

  • コンテナ
    開発物をコンテナに集約し、検証環境や運用環境に運搬しやすいようにする技術です。コンテナについては別特集にて詳しく解説しているので併せてご覧ください。

  • マイクロサービス
    機能を小さいサービスとして実装し、サービスを組み合わせてシステムを構築する開発技法です。マイクロサービスについては別特集にて詳しく解説しているので併せてご覧ください。

  • CI/CD
    開発資産変更のタイミングで検証などをバックグラウンドで実行して素早くリリースする手法であり考え方です。

本特集ではこの「CI/CD」に着目して解説します。

CI/CDとは?

冒頭で述べたようにCI/CDとは、Continuous Integration(継続的インテグレーション)/ Continuous Delivery(継続的デリバリー)の略で、ソフトウェアのビルド・テストから本番環境への適用(デリバリー・デプロイメント)を自動で行えるようにする開発手法のことであり、何か特定の技術を指すものではありません。
CI/CDというと、写真の共有を目的としたコミュニティーウェブサイトであるFllickrのエンジニアが2009年に実施したプレゼン「10 deploys per day」、つまり本番環境への展開を1日に10回以上実施するという話が有名です。Flickrなどではそれを実現しているため、CI/CDに対しこのようなイメージを持たれる方も多いかもしれません。

従来型システムからDXシステムに置き換えるモダナイゼーション

これは開発したアプリケーションを検証し問題なければすぐにリリースし、問題があれば元に戻せば良い、という考えに基づいています。
海外の先進的な企業やスタートアップ企業などでは、開発と運用が一体となっているため、このようなイメージに合った開発を実現していますが、これ以外の企業や組織では実現に対し障壁があるのが実情です。
その障壁とは開発と運用のセキュリティ分離と環境の差異です。セキュリティ分離については、開発と運用の職務分離により開発者が運用環境にアクセス不可となっていたり、顧客によっては開発資産をDVDなどで手渡しする決まりになっているなどがあります。また、環境の差異については、開発資産を運用環境でそのまま動かすことができなかったり、顧客によっては本番環境でプログラムを修正して、その修正を開発資産に反映する必要があるといったものです。
こういった実情に対して「どういった課題があるのか?」や「どういった勘所があるのか?」を後編で解説していきます。

関連製品・サービス

当社が提供するDX実現の課題にお応えするハイブリットITサービスの詳細は下記ページをご覧ください。

本コンテンツに関するお問い合わせ

お電話でのお問い合わせ

富士通コンタクトライン(総合窓口)

0120-933-200

受付時間:9時~12時および13時~17時30分
(土曜日・日曜日・祝日・当社指定の休業日を除く)

Webでのお問い合わせ

当社はセキュリティ保護の観点からSSL技術を使用しております。

ページの先頭へ