継続的なインテグレーションとデプロイを実現し
ソフトウェア開発を高速化する
CI/CD 導入支援サービス
CI/CDとはソフトウェアの開発から本番環境への導入までのプロセスに
自動テスト・自動デプロイといった要素を追加し、
開発から導入までの速度と品質の向上を実現する手法です。
ホワイトペーパー
"CI/CD導入のための4つのポイントと25のチェック項目"
ソフトウェア開発の現場でCI/CDの導入を検討している方々に向けて、CI/CDの概要から円滑に導入を進めるために事前に押さえておきたい4つのポイントと25のチェック項目を紹介しています。
現代のビジネスでは、ソフトウェアが果たす役割は増加の一途にあります。ソフトウェアがビジネスに与える影響が増加するに従い、開発者が実装する機能も増加し、またその機能に求められる品質も、より高いものになっています。一方で、新機能のリリースがビジネスの成果に直結するため、より素早く機能を実装することも求められます。その結果、開発者は「ソフトウェアの品質向上」と「実装速度の高速化」という、一見すると相反する2つの要素を実現しなければならなくなりました。
CI/CDは、これら2つの要素を両立するために考案された開発手法の一つです。CI(Continuous Integration)では、主に開発したソフトウェアに対し、自動テストを実施し、開発の初期段階からバグを検出することで、より品質の高いソフトウェアの開発を実現します。CD(Continuous Deployment/Delivery)では、開発したソフトウェアの成果物を検証・本番環境へデプロイするとともに、デプロイ後の動作確認を行います。問題が検出されれば自動的にデプロイ前のバージョンへ切り戻しを行うことで、サービスへの影響を最小限に抑え、サービスの品質向上を実現します。
CI/CDにより、コードの絶え間ない統合とデプロイが可能になります。これにより、新しい機能や修正が素早くリリースされ、市場に素早く投入できます。競争の激しいビジネス環境では、速いリリースが競争上の優位性を生むことがあります。
CI/CDはテストを自動化し、コードの品質を確保します。これにより、バグが早期に発見され、修正されるため、製品の品質が向上します。品質向上は、最終的なユーザー満足度や信頼性の向上につながります。
コードが統合されるたびにテストが自動で実行され、フィードバックが得られます。開発者はすぐに問題を把握し修正できるため、問題が本番環境に進出するリスクが低減し、コード品質が向上します。これにより、テストや修正やトラブルシューティングにかかる時間とコストが大幅に削減されます。
ビジネスとシステムの両方に応じた
CI/CDプロダクトの提案
今まで培ってきた中~大規模組織でのCI/CD導入の経験を活かし、特定ベンダーにとらわれない、お客様の状況に最適なプロダクトや開発手法をご提案することができます。
組織に適した設計のための
25項目の検討項目
組織に適した設計のための25項目についてお客とともに検討をおこない、最適な導入方法を一緒に検討・ご提案いたします。
既存システムへの導入
切替プロセスの提案
新規システムへのCI/CD導入・既存の開発フローによって構築されたシステムどちらも対応可能です。最適なプロセスをご提案します。
エーピーコミュニケーションズではデータセンター事業者様や大手通信業者様へ、ITインフラにおけるシステム基盤運用業務のプロセス管理やコンサルテーションを提供しています。クラウド環境のコンテナ化やマイクロサービス化など、幅広い技術支援やシステム運用の実績があります。CI/CDサービス導入後の運用やモダナイゼーションなどもご相談いただけます。
ビジネスとシステムの両方に応じた CI/CDプロダクトの提案
十数個のマイクロサービスが動く システムでの導入の実績もあり
エーピーコミュニケーションズはこれまで多くの企業・プロジェクトにCI/CDを導入してきた実績があります。また導入を行う過程で、後述する様々な課題に直面し、それに対する解決策も考案してきました。そのため私たちは、様々な企業やプロジェクトに対する最適なCI/CDツールの選択と導入を支援することが可能です。
導入実績のあるCI/CDツール
GitLab / GitHub / GitHub Actions / Jenkins / SonarQube / Trivy / Argo CD / Argo Rollouts
検討の必要な25項目のヒアリングとご案内
組織に合わせたCI/CDを提案するためのヒアリング項目
CI/CD導入支援サービスにおいて、わたしたちは下記のような観点でプロジェクトの現状や要望をヒアリングし、組織に合わせたCI/CDを提案いたします。
■システム・プロジェクトの基本情報
■ブランチ戦略
■ビルド戦略
■テスト戦略
■デプロイ戦略
既存システムへの導入・切替プロセスの提案
新規システムへのCI/CD導入のみではなく、既存の開発フローによって構築されたシステムへの導入・切替も可能です。システム構成やSLA、コストを考慮した最適なプロセスをご提案します。
ー 効果の高い部分から順次導入
ー ローリングアップデート、カナリアデプロイなど最適なデプロイ戦略を用いて切替
サンプル:Kubernetes基盤上の マイクロサービスへのCI/CD導入
サンプルとして、Kubernetes基盤上のフロントエンドサービスとデータベースへ接続するバックエンドサービスへCI/CDを導入する際の構成例をご紹介します。
CIにはGitHub Actions、CDにはArgoCDを使用し、データベーススキーマ構成管理には、Liquibaseを使用することで、サービスの更新に合わせたデータベース更新も自動で実行されます。
最小規模CI/CD導入費用・工数内訳例
ツール選定やフロー、ブランチ戦略の決定要素となる要望を整理
ヒアリング内容整理の内容を踏まえて候補を絞り、メリットデメリットを必要に応じて検証しながら精査し、使用ツールを決定
構築対象の決定
構築した仕組みを使用した開発〜リリースまでのフローの決定
リリース頻度や並行開発の有無などを踏まえて決定
構築手順、設定ファイルの準備
構築手順、設定ファイルの準備
※上記は 1サービス、1環境のみ(最小構成) での構築を想定しています。
※テスト自動化の仕組みの実装はスコープの対象ですが、テストコードの作成などは対象外です。
支援が必要な場合は別途ご相談ください。
※利用サービスと対象となるシステムの規模により変動いたします。詳しくはお問い合わせください。
作業期間 12週間 費用 ¥3,500,000~
CI/CDは、現代のソフトウェア開発において必須ともいえる開発手法です。しかし、CI/CDを企業やプロジェクトに導入するには、いくつかの障壁があります。これらの障壁に対して適切に対応しない場合、想定よりもリリース速度や品質が改善されない、という事態になりかねません。
大量のCI/CDツールから選定
CI/CDを実現するプロダクトは数多く存在し、その中から自社に最適なものを選定する必要があります。導入後のプロダクト変更は時間のかかることも多いため、導入前に慎重に検討することが重要です。
幅広い検討事項
CI/CDは開発からデプロイまで広範に影響する手法です。そのため、ツールの利用方法だけでなく、開発時のブランチ戦略やテスト戦略、デプロイ方法など、導入に向けて検討しなければならない項目がいくつもあります。
コミュニケーション
CI/CDは開発から本番デプロイまでに関わる手法のため、開発者から運用者まで、十分にコミュニケーションがとれている必要があります。さらに、CI/CDの仕組みはソフトウェアの進化とともに改善する必要があるため、継続的にフィードバックを受ける必要があります。
既存ポリシーとの衝突
CI/CDを導入するうえで、社内のセキュリティ規約やリリース時の承認プロセスが、スムーズな開発・デプロイを妨げる場合があります。CI/CDを導入する際には、企業やプロジェクトの担当者と共に、既存のポリシーへの対応を検討・実行しなければなりません。
上記の通り、CI/CDをプロジェクトに導入するにはいくつかのハードルがあると紹介しました。
これらに対応するには経験豊富な技術者のサポートが必要となります。
ホワイトペーパー
"CI/CD導入のための4つのポイントと25のチェック項目"
ソフトウェア開発の現場でCI/CDの導入を検討している方々に向けて、CI/CDの概要から円滑に導入を進めるために事前に押さえておきたい4つのポイントと25のチェック項目を紹介しています。