ソフトウェアのリリースサイクルを1/10に圧縮

環境差分吸収技術
ソフトウェア
開発技術
S-11
Build once continuous integration
ソフトウェアのリリースサイクルを1/10に圧縮
GitHub + Jenkins + Docker
従来のアプリケーション開発では、動作環境のバリエーションが多岐にわたる場合、それぞれの環境で正常動作を確認する必要
がありました。本取り組みでは、Linuxコンテナを始めとするオープンソースソフトウェアを用いて、1つの開発環境でビルドしたアプ
リケーションコンテナを、様々な本番環境で動作させるための手法をご紹介します。
特
Jenkins
作成
変更
削除
ソース
コード
Enterprise
テスト
通知
CI
ツール
レポジ
トリ
徴
■ アプリケーションの動作に必要なライブラリなどをコンテナ化す
ることで、OSやミドルウェアのバージョンが開発環境と異なる環
境でも、アプリケーションの正常動作を担保可能
■ コンテナとCIツールを組み合わせることで、テストからデプロイま
でを自動化可能
■ 本番環境に既に存在する構成と、コンテナを並存させることが
可能 (コンテナを段階的、部分的に導入していくことが可能)
イメージビルド
コンテナ実行
コン
テナ
コン
テナ
本番環境
コンテナイメージをビルドする
ために必要なファイルを配布
(オフライン環境でも配布可)
コン
テナ
本番環境
利用シーン
■ グローバルなデータセンタ監視系における日常的なツールアッ
プデート (商用導入済)
本番環境
■ 市場の変化に合わせた迅速かつ柔軟なサービスリリース
動作に必要な
環境を同梱
アプリケーション
アプリケーション
ミドルウェア
ミドルウェア
ディストリビューション
ディストリビューション
■ オンプレミスとクラウドをまたがったシステム運用
コンテナと
既存環境の
並存が可能
■ ベンダが異なるIoTデバイス上での動作を想定したアプリケー
ション開発
Linuxカーネル
〈問い合わせ先〉[email protected]
Copyright © 2016 NTT. All Rights Reserved.