デジタル技術を活用したビジネスの変革や新たなビジネスを創出するデジタルビジネスが広がる中で、変化の激しいニーズに対応するためにシステムを素早く提供することが求められます。しかし、システム規模が大きくなると、役割の異なるチームのメンバーがコミュニケーションを取りながら開発を進める必要があります。開発者がコーディング、ビルド、テスト、レビューを進め、開発した成果物をステージング環境で検証し、正しく動作したものを本番リリースして、素早く安全に運用を開始する仕組みが必要です。
以下は、一般的なアプリケーション開発のライフサイクルを示しています。
このアプリケーション開発のライフサイクルを素早く回すためには、各種ツールを連携して一連の開発作業を自動化することが必要です。
アプリケーション開発のライフサイクルの各開発フェーズを自動化することを以下のように呼びます。
アプリケーションのソースコードを実行モジュールにビルドし、テストすることをインテグレーションと呼びます。これを自動化して、ソースコードに頻繁な修正が発生しても継続的に品質を確保することを継続的インテグレーションと呼びます。
CIにおいて、各種ツールの呼び出しを自動化するツールをCIパイプラインと呼びます。ビルドやテストだけでなく、コードの品質をチェックするソースコード静的解析ツールなどをCIパイプラインに追加することで品質をさらに高めることができます。CIの成果物をアーティファクト(Artifact)と呼びます。
本製品は、このアプリケーション開発のライフサイクルを素早く回すことが可能となる仕組みを提供します。 また、この仕組みはグローバルデファクトスタンダードとなっているオープンソースを組合せた形で提供され、各オープンソース間の連携設定を含めて構築できます。
本製品はマルチクラウド仕様とV1.1までのFUJITSU Hybrid IT Service FJcloud-O向けのFJCS仕様に対応した、以下の構成で提供されます。
マルチクラウド仕様では、新たに「統合ユーザー管理」を提供します。
各機能を以下のようにアプリケーション開発のライフサイクルの中で利用することで、アプリケーションの品質を確保しつつ、早期リリースを実現することができます。
マルチクラウド仕様とFJCS仕様では、以下の機能を提供します。
機能 | 説明 | マルチクラウド仕様 | FJCS仕様 | |
---|---|---|---|---|
CI Management | GitLab | ソース管理・成果物管理(GitLab)が動作します。 | ○ | ○ |
Redmine | プロジェクト管理基盤(Redmine)が動作します。 | ○ | ○ | |
Mattermost | コミュニケーションツール(Mattermost)が動作します。 | ○ | ○ | |
SonarQube | ソースコード静的解析(SonarQube)が動作します。 | ○ | ○ | |
GitLab Runner | CIパイプライン(GitLab Runner)が動作します。 | ○ | ○ | |
Metrics Management | Prometheus | リソース監視(Prometheus)が動作します。 | ○ | ○ |
Grafana | データの可視化(Grafana)が動作します。 | ○ | ○ | |
Log Management | Fluentd | ログ収集(Fluentd)が動作します。 | ○ | ○ |
Elasticsearch | ログ・データの検索(Elasticsearch)が動作します。 | ○ | ○ | |
Kibana | ログの可視化(Kibana)が動作します。 | ○ | ○ | |
Integration Management | 統合ユーザー管理が動作します。 | ○ | - | |
Application Management | Kubernetes | オーケストレーション機能としてKubernetesが動作します。 | ○ | ○ |
Helm | Kubernetesのパッケージマネージャーです。 | ○ | ○ |
注意
マルチクラウド仕様では、新たにIntegration managementを提供します。