Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
© 2015 IBM Corporation
DevOpsプラットフォーム 『UrbanCode』が実現する高品質で迅速なアプリケーション・リリース
2015/11/20
日本アイ・ビー・エム株式会社クラウド事業統括テクニカルソフトウェア
黒川 敦
© 2015 IBM Corporation
IBM クラウドソリューション :
DevOpsおさらい
開発スピードを向上してもボトルネックが発生する
ハイブリッド・クラウド時代のデプロイの課題
UrbanCode Deployの価値
SoE(Bluemix)とSoR(オンプレミス)のデプロイ管理
UrbanCode Deployの効果
まとめ
参考情報
本日のアジェンダ
2
© 2015 IBM Corporation
IBM クラウドソリューション :
IBMの考えるDevOps
ユーザー・フィードバックの収集と、フィードバックへの対応時間を短縮し、より大きな市場機会を獲得するための継続的なソフトウェア・デリバリーを実現する企業規模の能力
y
DevOpsContinuous Feedback
継続的ユーザーフィードバックと最適化
協調的開発
継続的テスト
継続的ビジネスプランニング
継続的リリースとデプロイ
継続的モニタリング
ステアリング
デプロイ
開発・テスト運用
DevOps登場時のスコープ
3
© 2015 IBM Corporation
IBM クラウドソリューション :
開発スピードを向上してもボトルネックが発生する
ユーザーの要求を、開発側がスピードアップしてこなせるようになったとしても、
機能テスト
アクセプタンス・テスト
実展開オペレーター
セットアップ(数週間)
運用側で対応できないと、企業全体のビジネススピードは上がらない
アプリケーションのデプロイがボトルネックになっているケースが多くなっています
4
© 2015 IBM Corporation
IBM クラウドソリューション :
開発と運用の間にある壁
開発部門の想い:できたらすぐでもリリースしたい
運用部門の想い:手順をきちんと確認、検証してからリリースしたい
原因
お互いに何をしているのか正しく理解していない
責任範囲があいまいもしくは、運用部門に丸投げ
開発部門からの引き継ぎ書は作り直すのが前提
互いの信用が無い
開発者 運用担当者
開発部門 運用部門
課題
確認担当者
開発と運用が信頼して、コラボレーションできる環境が必要とされている
5
© 2015 IBM Corporation
IBM クラウドソリューション :
高頻度デプロイが困難となる代表的な理由を解決する
開発環境と本番環境の差異によるデプロイの失敗
プロセスや仕組みの関係で、そもそものスピード感が
違いすぎる
マニュアル操作によるデプロイで、毎回微妙に手続きが異なるために、再利用性に欠ける
デプロイに関する各種リソースの依存関係が可視化されていないため、調整に時間を要する
環境の差異をデプロイ手続きと
分離する
スピーディにデプロイ出来るような仕組みを用意する
環境の差異と同様に、同一アプリのデプロイ手続きは毎回同じになるよう標準化する
台帳等での管理でなく、現状を正確に可視化するための仕組
みを用意する
6
© 2015 IBM Corporation
IBM クラウドソリューション :
ハイブリッド・クラウド時代のデプロイの課題
様々なプラットフォームに対応したデプロイメント・パイプラインの制御、および全てのアプリのデリバリー・サイクルを協調させることが求められる
ハイブリッド・クラウド メインフレーム
モバイル対応 SoE×SoR連携 テスト自動化
7
© 2015 IBM Corporation
IBM クラウドソリューション :
構成管理ツールなど
テスト環境~本番環境までのアプリケーション・デプロイの自動化をサポート
デプロイ自動化プラットフォーム (IBM UrbanCode Deploy)
ガバナンス強化工数削減オペレーション・ミスの削減
開発チーム ~ 運用チームまで共通のプラットフォーム
IBM UrbanCode Deployサーバー
テスト環境
ステージング環境
本番環境
アプリケーション(モジュール)取り込み
自動デプロイ(配布)
開発担当 デプロイ担当(運用)
V1.0
V1.1モジュールのバージョン管理
ツール起動
テストツールなど
8
© 2015 IBM Corporation
IBM クラウドソリューション :
9
UrbanCode Deployの価値
2. ガバナンス強化、品質の担保役割に応じた操作、承認プロセス
1. 容易な定義ノンプログラミングによる容易なプロセス定義
3. リリース管理負荷の軽減計画・実行・実績の可視化
© 2015 IBM Corporation
IBM クラウドソリューション :
デプロイ手順をパレットからドラッグ&ドロップでビジュアルに定義が可能です
デプロイ結果
デプロイ結果もこの順序でリアルタイムに参照可能
1. 容易な定義-ノンプログラミングによる容易なプロセス定義
10
© 2015 IBM Corporation
IBM クラウドソリューション :
Webサーバー WebSphere Application Server
Oracle WebLogic Server
Tomcat, JBoss
Apache HTTP Server
IIS
データベース SQL-JDBC
Oracle SQL*Plus
Microsoft SQL Server SQLCmd
Apache Hadoop
インフラ シェル(Shell)
Chef, Puppet
IBM Cloud Orchestrator
IBM Integration Bus
z/OS Utility (z/OSへのデプロイ)
テストツール InfoSphere Optim Test Data Management
Rational Quality Manager
Rational Test Workbench
JUnit, Selenium
構成管理ツール Rational Team Concert
Subversion, Git
ビルドツール Jenkins
Ant, Maven
モバイル IBM MobileFirst Platform
Apple Xcode, Android SDK
多くのデプロイ先のプラットフォームや、開発ツールとの連携が強みです
連携機能はプラグイン(部品)としてUrbanCodeが提供。独自のカスタムプラグインも開発可能。https://developer.ibm.com/urbancode/plugins/ibm-urbancode-deploy/
11
© 2015 IBM Corporation
IBM クラウドソリューション :
構成管理
ビルドツール(antなど)
ステージング環境
本番環境DEVDEVDEVテスト
環境
ビルド成果物の登録
シェル
テストツール
自動ビルド
(インフラ構築後の)日々のデプロイ自動化
インフラ構築の自動化(ある断面でパターン化)
自動実行
自動実行
パターンを利用したインフラのデプロイメントアプリケーション・デプロイ自動化 パターン呼出し
開発担当
運用担当
開発ソースのコミット
各環境へのデプロイ(認証・認可・承認の利
用)
パターンの作成インフラ構築
IBM Cloud Orchestrator
IBM PureApplication System
IBM UrbanCode Deploy
インフラのデプロイメントとの連携=フルスタック・デプロイメント
12
© 2015 IBM Corporation
IBM クラウドソリューション :
(例) WASへのアプリケーションのデプロイ~テストツール(RFT)の実行
13
© 2015 IBM Corporation
IBM クラウドソリューション :
(例)ホスト(z/OS)と分散の一元管理
サーバー
CVC
V
成果物のダウンロード
データセットのコピー
PDS.
DDL
z/OS LPAR
EARデプロイ
ファイルシステムや構成管理システム
エージェント
Linux / Intel
WAS ND
DDLデプロイ
結果の更新
JCLのサブミット
PDS.
JCL
利用
DB2
for
z/OS実行
EAR
EAR
DDL
結果の更新
エージェント
14
© 2015 IBM Corporation
IBM クラウドソリューション :
ダッシュボードによりアプリケーション・デプロイを一元管理できます
2. ガバナンス強化、品質の担保
各環境に「どのアプリ」の「どのバージョン」がリリースされているか一覧表示で確認
ボタンを押すだけで、自動デプロイが可能
アプリケーションを構成するWeb、Java、DBなどを一括してデプロイすることが可能
15
© 2015 IBM Corporation
IBM クラウドソリューション :
セキュリティーの権限により画面表示や操作を制限することが可能です
デプロイ担当
開発担当
すべての環境に対するデプロイ
が可能
ステージング環境へのデプロイはできない
本番環境は表示もされない
16
© 2015 IBM Corporation
IBM クラウドソリューション :
承認フローをツールに組み込むことが可能です。
(例)アプリケーション管理者と運用担当者の承認を得た後にデプロイを実施
17
© 2015 IBM Corporation
IBM クラウドソリューション :
環境ゲート~各環境ごとに設定可能なゲートによる適切なデプロイを実現~
(例)ステージング環境には「統合テスト完了」となった
アプリケーションしかデプロイできない
18
© 2015 IBM Corporation
IBM クラウドソリューション :
19
3. 管理負荷の軽減 - 計画・実行・実績の可視化
• 各環境にデプロイされた証跡をExcel等で残しているケースが多いが、情報が自動的に収集されるため、管理負荷を軽減可能
• リアルタイムで正確な情報が常に得られるため、問題分析時に非常に有効
© 2015 IBM Corporation
IBM クラウドソリューション :
20
リリース状況のリアルタイムな確認~ リリース・ステップの詳細 ~
自動化された一連のリリースプロセス
リリース結果(リアルタイム更新)
© 2015 IBM Corporation
IBM クラウドソリューション :
リリース 1.0
統合テスト環境 ステージング環境
Webサーバー データベース Webサーバー データベース
Web V1.0
(画像)
Java V1.0
(Java)
DB V1.0
(データ)
リリース 1.0
「仮想環境(クラウド)」
UrbanCode エージェント UrbanCode エージェント
UrbanCode サーバー
Web V1.1
(画像)DB V1.1
(データ)
リリース 1.1
ブラウザ
Web V1.0
(画像)
Java V1.0
(Java)
DB V1.0
(データ)
Web V1.1
(画像)DB V1.1
(データ)
リリース 1.1
問題発生&修正
デモ 本番環境
開発
構成管理
ビルド
V1.0
V1.1
21
© 2015 IBM Corporation
IBM クラウドソリューション :
更なる複雑なリリース計画の管理
対象アプリケーション
リリースフェーズ
フェーズ毎に複数環境を持つことも可能
複数アプリケーションのリリース・スケジュールを一元管理デプロイ担当者用の拡張製品(IBM UrbanCode Release)
22
© 2015 IBM Corporation
IBM クラウドソリューション :
市場での競争力を発揮するアプリケーションを提供し続けることができるように安定性、信頼性が求められ、かつ既存資産の多い基幹系システム (SoR: Systems
of Record) と、エンド・ユーザーが実際に触れ相互作用するフロント・システム(SoE: Systems of Engagement) のそれぞれに求められる要件を満たしつつ、迅速にサービスを提供していくことが求められている
SoE(Bluemix)とSoR(オンプレミス)のデプロイ管理
基幹システム
DBWeb
クライアント業務サービスWebアプリ
SoR (オンプレミス)SoE (Bluemix)
23
© 2015 IBM Corporation
IBM クラウドソリューション :
オフプレミス
オンプレミス
Git
RTC ビルド・ジョブ(フロント)
RFT/RTW
Bluemix
デプロイプロセス(フロント)
デプロイプロセス
(バックエンド)
統合
テスト
WAS
Webアプリ(フロント)
業務サービス(バックエンド)
Cloud Integration
UI テストスクリプト
Secure Connector
SCM(フロント)
SCM(バックエンド)
開発者Jenkins
ビルド・ジョブ(デプロイ)
ビルド・ジョブ(バックエンド)
UCD (Urbancode Deploy)ビルド・ジョブ(ビルド & デプロイ)
SoEとSoRのビルド~デプロイ~テストの流れ(例)
ビルド
デプロイ
テスト
テストビルド開発 デプロイ
ソースコード管理
24
© 2015 IBM Corporation
IBM クラウドソリューション :
UrbanCode Deployの設計画面
パイプラインとして、デプロイ(配布)とテストのプロセスが定義されている
バックエンドアプリの配布フロントアプリの配布
テストの起動
ビジュアルなフローのエディターで作成・閲覧
デプロイプロセス(フロント)
デプロイプロセス
(バックエンド)
統合
テスト
Urbancode Deploy
デプロイ25
© 2015 IBM Corporation
IBM クラウドソリューション :
デプロイプロセス(フロント)
デプロイプロセス
(バックエンド)
統合
テスト
UrbanCode Deployの実行画面
パイプラインとして定義されたプロセスの順で実行され、結果が可視化される
26
© 2015 IBM Corporation
IBM クラウドソリューション :
ハイブリッドクラウドに対応したUrbanCode Deploy
Improving resource utilization
Increasing deployment capacity
IBM UrbanCode Deploy
オンプレミス
リソース利用率の向上
デプロイの頻度や対応領域の拡大
IBM Containers
コンテナー仮想マシン
Physical server
Host Operating System
Hypervisor
Virtual
Machine
GuestOperating System
Application
Virtual
Machine
GuestOperating System
Application
Virtual
Machine
GuestOperating System
Application
27
© 2015 IBM Corporation
IBM クラウドソリューション :
OpenStack Heat によるクラウドの環境のモデリング
パターン・デザイナー‒ ダイアグラムまたはテキスト・エディターによるオープンでフルスタックなアプリケーション環境の設計
Design once, deploy anywhere‒ フルスタックな環境を複数のクラウドにデプロイ可能
環境のライフサイクル管理‒ インフラの変更管理と既存環境への容易な変更適用
デリバリー・プロセスの自動化– 統合されたフルスタックな環境における自動化されたデリバリー・プロセス
VMware® vCenter Server™
OpenStack Heatをオーケストレーション・エンジンとして使用するため、Heatに対応している複数のクラウド・プラットフォームに対応
28
© 2015 IBM Corporation
IBM クラウドソリューション :
構成管理
ビルドツール(docker cli, iceなど)
③アプリケーション・イメージの登録
②自動ビルド
コンテナ・デプロイ自動化
インフラ担当
①Dockerfileのコミット
IBM UrbanCode Deploy
Dockerへの対応
Dockerレジストリ
ICSレジストリ
③Dockerイメージの登録
テスト環境コンテナ
アプリケーション
ミドルウェアやライブラリー
ステージング環境コンテナ
アプリケーション
ミドルウェアやライブラリー
コンテナ管理SW
本番環境コンテナ
アプリケーション
ミドルウェアやライブラリー
コンテナ管理SW
④イメージとアプリケーションのデプロイ ⑨テスト済みイメージのデプロイ
ice:IBM Containers ExtensionICS:IBM Containers Service
⑥、⑧テスト済みイメージの登録
⑥、⑧テスト済みイメージの登録
テスト担当
⑤テスト
⑦テスト済みイメージのデプロイ
29
© 2015 IBM Corporation
IBM クラウドソリューション :
デプロイ作業(手作業)
デプロイの申請
デプロイ作業(自動化)
一般的なデプロイの実行
デプロイの申請
デプロイが開始されるまでのタイムラグ(関係者との調整)
手作業によるデプロイ作業
UrbanCodeを利用したデプロイ自動化
デプロイの申請
リリースの自動実行
5時間45分
5分
合計 8時間
UrbanCodeによる
デプロイ自動化で、1/8に短縮!
(さらにオペレーションミス削減、
ガバナンス強化)合計 1時間
稼働確認
10分45分
デプロイの申請
5分
稼働確認
10分
関係者との調整M/Wの構成変更 アプリケーションのインストール DBのデータ更新 ミドルウェアの起動
2時間
※数値はこれまでの事例より算出UrbanCodeの効果
30
© 2015 IBM Corporation
IBM クラウドソリューション :
開発 構成管理 ビルド 統合テスト環境 ステージング環境 本番環境
アプリケーションのリリースの流れ
開発 運用
IBM UrbanCode Deploy
単体テストツール
ビルドツール(Jenkins, etc.)
Chef
まとめ:継続的デリバリーを実現するIBM UrbanCode
構成管理ツール(Subversion, Git, etc.)
Puppetテスト自動化・管理ツール
OpenStack
32
IBM UrbanCodeの評価版はこちらから (Try it)!https://developer.ibm.com/urbancode/products/urbancode-deploy/
© 2015 IBM Corporation
IBM クラウドソリューション :
参考情報
IBM UrbanCode Deploy紹介ページ
– http://www-03.ibm.com/software/products/ja/ucdep
ハイブリッド・クラウド時代のIT活動効率化 ― その改善で、IT活動のスループットは上がっていますか?
– https://www-304.ibm.com/connections/blogs/ProVISION86_90/resource/no87/87_column2.pdf
IBM UrbanCodeの責任者が語るDevOpsの姿
– http://www.atmarkit.co.jp/ait/articles/1311/26/news004.html
開発・運用部門間の壁を解消し“コラボレーションの場”を作る「IBM UrbanCode」
– http://www.atmarkit.co.jp/ait/articles/1402/24/news012.html
ソフトウエアデリバリの加速は、ビジネスの加速。DevOpsの目的を見極めよ
– http://www.atmarkit.co.jp/ait/articles/1509/01/news018.html
IBM UrbanCode Deploy オンラインマニュアル
– http://www-01.ibm.com/support/knowledgecenter/SS4GSP/ucd_welcome.html
サントリーシステムテクノロジー株式会社様事例
– http://www-03.ibm.com/software/businesscasestudies/jp/ja/jirei?synkey=J840859W65713F64
株式会社ワイヤ・アンド・ワイヤレス様事例
– http://www-03.ibm.com/software/businesscasestudies/jp/ja/jirei?synkey=V468452D99872H04
32