BluemixとIBM DevOps Servicesで始めるアプリケーション開発
-
Upload
ibm -
Category
Technology
-
view
892 -
download
3
Transcript of BluemixとIBM DevOps Servicesで始めるアプリケーション開発
IBM Bluemixwww.bluemix.net
IBM Bluemixそこが知りたい!
テクニカル・セミナー
日本アイ・ビー・エム システムズ・エンジニアリング株式会社ソフトウェア開発ソリューション
古池 範充
BluemixとIBM DevOps Servicesで始めるアプリケーション開発
© 2014 IBM Corporation2
IBM Bluemixwww.bluemix.net
ご注意
この資料は日本アイ・ビー・エム株式会社および日本アイ・ビー・エム システムズ・エンジニアリング株式会社の正式なレビューを受けておりません。
資料の内容には正確を期するよう注意しておりますが、この資料の内容は2014年09月現在の情報であり、製品の新しいリリース、修正などによって動作/仕様が変わる可能性があります。
当資料は、資料内で説明されている製品の仕様を保証するものではありません。従って、この情報の利⽤またはこれらの技法の実施はひとえに使⽤者の責任において為されるものであり、資料の内容によって受けたいかなる被害に関しても⼀切の補償をするものではありません。
また、IBM、IBMロゴおよびibm.comは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点でのIBMの商標リストについてはhttp://www.ibm.com/legal/copytrade.shtmlをご覧ください。
© 2014 IBM Corporation3
IBM Bluemixwww.bluemix.net
アプリケーション開発の課題とBluemix
Bluemixアプリケーションの開発環境パターン
BluemixとIBM DevOps Servicesによる開発の進め方
まとめ
Agenda
ポイント
• Bluemixアプリケーションの開発環境構築における選択肢と選択のポイントを理解する
• BluemixとIBM DevOps Servicesの連携によるアプリケーションの開発の流れとメリットを理解する
© 2014 IBM Corporation4
IBM Bluemixwww.bluemix.net
アプリケーション開発の課題とBluemix
© 2014 IBM Corporation5
IBM Bluemixwww.bluemix.net
アプリケーション開発における様々な課題
アジャイル開発
Time to
MaketDevOps
ユーザーエクスペリエンス
最新テクノロジー活⽤
API
Economy
継続的デリバリー
リーン・スタートアップ Mobile
First
© 2014 IBM Corporation6
IBM Bluemixwww.bluemix.net
Security Services
Web and application services
Integration ServicesCloud
Mobile Services
Database services
Big Data services
Watson Services
PaaSをベースとして、速やかに実行基盤を用意し開発をスタート
様々なサービスを組み合わせてアイデアを素早く形に
IBM Bluemix:アプリケーション開発に注力するために
開発言語や開発ツールは豊富な選択肢から柔軟に選択可能
実行基盤とシームレスに統合された開発基盤クラウドサービスを提供
© 2014 IBM Corporation7
IBM Bluemixwww.bluemix.net
IBM DevOps Services (IDS)
Bluemixと統合された開発基盤クラウドサービス
ブラウザベースの統合開発環境を提供
チーム開発や自動デプロイ機能のサポート
開発環境と実行環境を同時にクラウドから調達
Bluemix
初期投資を抑えサービスの迅速なスタートアップを支援
© 2014 IBM Corporation8
IBM Bluemixwww.bluemix.net
Bluemixアプリケーションの開発環境パターン
© 2014 IBM Corporation9
IBM Bluemixwww.bluemix.net
Bluemixアプリケーションの開発環境パターン
開発者のスキル、体制、好みに合わせて柔軟に開発環境を構築することができる
①Eclipse+Bluemix Plugin
で開発
②CF Tool+各種エディタ+ツールで
開発
③IBM DevOps Servicesで開発
⑤Bluemixアプリのテスト環境をローカルに構築
④IBM DevOps Servicesでチーム開発
<基本編>
<応用編>
© 2014 IBM Corporation10
IBM Bluemixwww.bluemix.net
①Eclipse+Bluemix Pluginで開発
ローカル環境に導入したEclipse IDEにIBM Eclipse Toolsfor Bluemixを追加して開発を実施
Eclipse+Plugin
Bluemix App実装/ビルド/デプロイ
テスト
Push
ポイント
• 既にEclipseを使用している開発者(特にJava)向け• Bluemixアプリケーションの各種操作が他のサーバー(WAS/Tomcat
など)と同様にできる• 使い慣れたEclipseおよび様々なPluginもそのまま使える
© 2014 IBM Corporation11
IBM Bluemixwww.bluemix.net
IBM Eclipse Tools for Bluemix
Bluemixアプリケーション開発⽤のEclipseプラグイン
Eclipse MarketPlaceなどから導入可能
Java7でのみ動作する
ACEの代替としても使える豊富な機能
Bluemixアプリケーションのデプロイ、起動・停止など
Liberty App(Java)、Node.js App(Javascript)に対応
サービスの追加、バインド
ログの参照、ファイル取得
<サーバービュー>
<サーバー構成>
© 2014 IBM Corporation12
IBM Bluemixwww.bluemix.net
②CF Tool+各種エディタ+ツールで開発
ローカル環境に導入したCF Toolと各種エディタやツールを組み合わせて開発を実施
エディタ+ツール
Bluemix App実装/ビルド
テスト
Push
ポイント
• Eclipse以外のエディタやツールを使用している開発者(スクリプト言語など)、コマンド操作やスクリプト作成が苦にならない開発者向け
• ACEを使わずにBluemix環境に対する様々な操作ができる• 自分の好きなエディタやツールをそのまま使用できる
CF Tool
デプロイ
© 2014 IBM Corporation13
IBM Bluemixwww.bluemix.net
Cloud Foundryで利⽤するコマンド行ツール
BlueMixで必要な操作はほぼすべて実行可能
コマンド行ツールでできること
アプリケーションに対する操作
ランタイムに対するインスタンスの作成・起動・停止・削除
メモリー、インスタンス数の変更
ログの出力
サービスに対する操作
サービスの作成・削除
ランタイムに対するバインド・アンバインド
ルーティングに対する操作
アプリケーションに対するルーティングの変更 など
CF Tool
$ cf push [アプリケーション名] [オプション]
cf pushコマンドで全てのアプリケーションのデプロイが可能
コマンド行ツールにより他ツール連携や操作の自動化が可能
© 2014 IBM Corporation14
IBM Bluemixwww.bluemix.net
③IBM DevOps Servicesで開発
IDSの提供するWeb IDEを使⽤してブラウザから開発(実装~デプロイ)を実施
Bluemix App
テスト
Push
ポイント
• 開発環境を作るところから始める開発者向け(Webブラウザがあれば開発を始められる)
• Bluemixアプリケーションの操作がWeb IDEからシームレスに行える• IDSの機能によりチーム開発にもスムーズに移行できる
実装/デプロイDevOps Services
© 2014 IBM Corporation15
IBM Bluemixwww.bluemix.net
名称 説明
Web IDEEclipse Orionをベースとしたブラウザ上で稼動する統合開発環境。多数の言語に対応したエディタを備える
Code Managementソースコード等の構成管理のためのリポジトリを備える。IDS上にホストされたGit、JazzSCMの他、GitHubとの接続も可能
Delivery PipelineBluemix環境向けにアプリケーションを自動的にビルド・デプロイするパイプライン機能を提供
Track and Planチーム開発におけるアジャイルベースの計画および作業管理を行うための機能を提供(Rational Team Concertと同等)
IBM DevOps Services(IDS)
Bluemixアプリ開発に最適化されたSaaS型開発環境
JazzHubとして提供していたサービスを2014年4月に名称変更
Webブラウザから全ての機能を利⽤可能
Bluemixアプリの継続的デリバリーをサポート
チーム開発のための機能がすぐに使える<提供機能>
© 2014 IBM Corporation16
IBM Bluemixwww.bluemix.net
④IBM DevOps Servicesでチーム開発
個々の開発環境の自由度はそのままにリポジトリや実行環境をチームで共有
Bluemix Appテスト
Web IDE
実装
DevOps Services
Push
CodeManagement
DeliveryPipeline
Track&Plan
ビルド/デプロイ
タスク管理
チェックイン/アウト
テスト
権限付与
実装タスク管理
チェックイン/アウトビルド/デプロイ
Leader
Member
© 2014 IBM Corporation17
IBM Bluemixwww.bluemix.net
BluemixとDevOps Servicesによるチーム開発
ポイント
• IDSのプロジェクトおよびBluemix ACEダッシュボードをチームメンバー間で共有することによりチーム開発環境構築を実現
• ソースコード管理、およびチームの作業計画やタスク管理はDevOps Servicesのリポジトリで一元管理(Git/JazzSCM、Track&Plan)
• リポジトリへのチェックインをトリガーにしたビルド、デプロイの自動化も可能(Delivery Pipeline)
• ブラウザ以外のClientツールからIDSのリポジトリへのアクセスも可能なのでメンバー各自の開発環境の自由度はそのままで
• 権限を付与されたメンバーもチームのBluemix Spaceに対してアプリのPushやStart/Stopが可能。個人/チーム用といったSpaceの使い分けもできる
© 2014 IBM Corporation18
IBM Bluemixwww.bluemix.net
⑤Bluemixアプリのテスト環境をローカルに構築
Bluemixアプリのテストをローカル環境で実施
Bluemix App
実装/ビルド/デプロイ
デプロイ/テスト
ポイント
• アプリの詳細なデバッグが必要な場合や、Bluemix環境へのデプロイ前にアプリの確認を行いたい場合の選択肢として検討
• ローカルPCやテストサーバーへのM/W導入やデプロイ機構を用意する• アプリが利用するサービスについて、VCAP_SERVICES環境変数や外
部からのアクセス可否の制約について考慮が必要
Bluemix App(local)
テスト(local)
Eclipse+Plugin
© 2014 IBM Corporation19
IBM Bluemixwww.bluemix.net
ローカル環境でテストするための考慮点
VCAP_SERVICES環境変数の取得方法
Bluemix環境では自動的に環境変数に設定される
OS環境変数への追加、ロジックで吸収などの考慮が必要
サービスの外部アクセス可否
外部アクセス可能なサービスはローカル環境からアクセス
外部アクセス不可なサービス(SQLDB等)はローカル環境へのM/W導入などの考慮が必要
アプリケーション
(Java, Node.js, etc…)サービス
{
"mysql-5.5": {
:
"credentials": {
"name":
"d2fb3aadc04e84f02b4d79ef6fab5ff91",
"hostname": "75.126.23.246",
"password": "pFik1UbGvv7IR",:
}
VCAP_SERVICES環境変数の情報をどのように取得するか サービスは外部から
アクセス可能か
© 2014 IBM Corporation20
IBM Bluemixwww.bluemix.net
Bluemixアプリケーションの開発環境パターン
開発者のスキル、体制、好みに合わせて柔軟に開発環境を構成することができる
①Eclipse+Bluemix Plugin
で開発
②CF Tool+各種エディタ+ツールで
開発
③IBM DevOps Servicesで開発
<基本編>
<応用編>
⑤Bluemixアプリのテスト環境をローカルに構築
④IBM DevOps Servicesでチーム開発
© 2014 IBM Corporation21
IBM Bluemixwww.bluemix.net
BluemixとIBM DevOps Servicesによる開発の進め方
© 2014 IBM Corporation22
IBM Bluemixwww.bluemix.net
BluemixとIBM DevOps Servicesによる開発の流れ
IDSによるBluemixアプリの開発の流れについて、実際の画面や操作を動画等でご紹介しつつ主な機能の概要をご説明します
BluemixとIDSの各機能との連携についてもご確認ください
1.プロジェクト(リポジトリ)を作成する
<説明の流れ>
2.Web IDEで開発する
3.Delivery Pipelineでデプロイする
© 2014 IBM Corporation23
IBM Bluemixwww.bluemix.net
開発の基本的な流れ
プロジェクトの作成
手動デプロイ
リポジトリ(GIT)追加
コード修正 アプリケーション実行
自動デプロイ
コミット&Push
アプリケーション実行
アプリケーション作成
IBM Bluemix
Starter App
© 2014 IBM Corporation24
IBM Bluemixwww.bluemix.net
プロジェクト(リポジトリ)の作成
事前にアカウントを登録(IBM idとJazz ID)
BluemixとIDSを繋ぐため同じメールアドレス登録でIDをリンク
プロジェクト作成方法
以下いずれかの方法でプロジェクトを作成
1. Bluemixで作成したアプリにGitリポジトリを追加
2. IDSで既存プロジェクトをFork(Copy)して作成
3. IDSで空の新規プロジェクトを作成
利⽤可能なコード管理リポジトリ
Git/Jazz SCM/GitHubの3種類
GitHub連携の場合、Delivery Pipeline機能が使⽤できない
作成方法により使⽤できるリポジトリは異なる
上記3の場合のみ3種類から選択可能
© 2014 IBM Corporation25
IBM Bluemixwww.bluemix.net
プロジェクトの作成方法(1/2)
1.Bluemix ACEのアプリケーション概要画面で「ADD GIT」
© 2014 IBM Corporation26
IBM Bluemixwww.bluemix.net
プロジェクトの作成方法(2/2)
2.IDSで既存プロジェクトを検索/参照し、「EDIT CODE」でWebIDEを起動して「FORK」
3.IDSのMy Stuff画面で「CREATE PROJECT」
© 2014 IBM Corporation27
IBM Bluemixwww.bluemix.net
デモ動画:コード修正~自動デプロイ
1. Web IDE上でコード修正
2. 修正したコードをGitへCommit/Push
3. 自動デプロイ(Simple)の実行
4. アプリの変更を確認
リモートの方はお手元の
動画をご覧ください
© 2014 IBM Corporation28
IBM Bluemixwww.bluemix.net
IDSからBluemixへのデプロイ
Web IDEからの手動デプロイとリポジトリからの自動デプロイの2種類のデプロイをサポート
Web IDE
リポジトリ
チェックイン
BUILD&DEPLOY
SIMPLE
ADVANCED
Builder
チェックアウト
手動デプロイ
自動デプロイ
Web IDEで作業中の
コードを直接デプロイ
最新のリポジトリから
取得したコードをデプロイ
Bluemix
Deployer
© 2014 IBM Corporation29
IBM Bluemixwww.bluemix.net
Web IDEからのデプロイ方法
上部「DEPLOY」から作業中のコードをデプロイ可能
アプリケーションの状況や起動・停止もIDEから直接実行可能
© 2014 IBM Corporation30
IBM Bluemixwww.bluemix.net
Web IDE
Eclipse Orionベースの統合開発環境
Eclipse Foundationが開発中のWebブラウザ上で動作するIDE
プラグイン・アーキテクチャの採⽤による各種機能
多くのプログラム言語に対応するコードエディタ
ファイルマネージャ
Git/JazzSCM/FTP/SFTPクライアント
Bluemixとの連携
ワークスペース(Sandbox)上のモジュールを直接デプロイ
リポジトリへ未チェックイン状態のアプリをデプロイして確認できる
単純なデプロイのみ。コンパイル等のビルド処理は行われない
アプリケーションの状況確認、各種操作もIDE上で実行可能
© 2014 IBM Corporation31
IBM Bluemixwww.bluemix.net
Delivery Pipeline
リポジトリへのチェックインイベントをトリガーにビルド/デプロイ処理を自動実行(手動実行も可)
Bluemixアプリの継続的デリバリーの実現をサポート
Bluemixとのシームレスな連携
Hosted Git/JazzSCMで利⽤可能(GitHubではサポートされない)
ACE上でAdd-On追加により専⽤ダッシュボードが参照可能
2種類の自動デプロイ機能
Simple リポジトリからBluemixへの単純デプロイのみ(ビルドなし)IDEからの手動デプロイと同様細かい設定は不要
Advanced BuilderとDeployerを定義してパイプラインを構成各スクリプトを実装することによりパイプラインの詳細なカストマイズが可能Builder
Ant、Grunt、Gradleなど各種ビルドスクリプトDeployer
CFツールを呼び出すデプロイスクリプト
© 2014 IBM Corporation32
IBM Bluemixwww.bluemix.net
Agile Track&Plan
チーム開発においてアジャイルベースの計画および作業管理を実施するための機能を提供
Rational Team Concertの計画、ワークアイテム管理機能をIBMDevOps Servicesにビルトイン
スクラム・テンプレートによるAgileプラクティス適⽤
ダッシュボードによる状況の把握
ワークアイテム検索、作成、更新
構成管理とタスク管理のリンク
BETA版も現在利⽤可能
⼀部の機能のUIが洗練されている
現行のUIも並行して利⽤可能
<ダッシュボード>
© 2014 IBM Corporation33
IBM Bluemixwww.bluemix.net
New Agile Track&Plan (BETA)
Drag&Dropのサポート等によるシンプル、直感的な操作
旧版のUIも並行して使⽤可能
© 2014 IBM Corporation34
IBM Bluemixwww.bluemix.net
まとめ
© 2014 IBM Corporation35
IBM Bluemixwww.bluemix.net
まとめ
Bluemixアプリケーションの開発環境には多くのパターンから開発者の環境、スキル、経験等によって柔軟に構成することができます
IBM DevOps Servicesを利⽤すると、チーム開発にも対応可能なBluemixアプリケーション開発環境を迅速に調達することができます
BluemixとIBM DevOps Servicesの活⽤によりタイムリーなサービス提供に可能にするクラウドベースの継続的デリバリー環境を実現できます
© 2014 IBM Corporation36
IBM Bluemixwww.bluemix.net
補足資料
© 2014 IBM Corporation37
IBM Bluemixwww.bluemix.net
プロジェクトの作成
アカウントの登録
IBM idとJazz IDを登録する
BluemixとDevOps Servicesをシームレスに繋ぐためIDをリンク
プロジェクト作成方法
1. Bluemixで作成したアプリにGitリポジトリを追加
2. DevOps Servicesで既存プロジェクトをFork(Copy)して作成
3. DevOps Servicesで新規プロジェクト作成
プロジェクト・オプションの指定
ソースコード管理リポジトリ選択(次頁)
Public or Private
Scrumテンプレート適⽤要否
Bluemixへのデプロイ要否
© 2014 IBM Corporation38
IBM Bluemixwww.bluemix.net
リポジトリの選択
利⽤可能なリポジトリ
Git ・・・ 分散型バージョン管理リポジトリ
Jazz SCM ・・・ RTCで利⽤される管理リポジトリ
GitHub ・・・ Gitのパブリックサービスを利⽤
リポジトリによる制約
GitHub連携の場合、Build&Deploy機能が使⽤できない
JazzSCMは現在Gitと同等のサポート
作成方法によるデフォルト
前頁1の方法で作成する場合 → Git
前頁2の方法で作成する場合 → Fork元により決定
前頁3の方法で作成する場合 → 3種類から選択可能
© 2014 IBM Corporation39
IBM Bluemixwww.bluemix.net
IDSでの他ユーザーの招待
プロジェクトのページからINVITE USERSする
入力されたアドレス宛にメールが送信される
© 2014 IBM Corporation40
IBM Bluemixwww.bluemix.net
IDSの稼動状況
JazzHub Status(https://status.hub.jazz.net/)で確認できる
© 2014 IBM Corporation41
IBM Bluemixwww.bluemix.net
IBM DevOps Servicesの課金について
現在はBluemix側の課金管理に組み込まれている(Non-Bluemixについても計画中)
機能によってはPublic/Privateのいずれかにより無料の範囲が異なる
Delivery PipelineはPublic/Privateに拘らず各月60分までのビルドが無料
Agile Track&PlanはPublicの場合常に無料、Privateの場合3ユーザ利⽤まで無料
Web IDEやリポジトリの利⽤はPublic/Privateに拘らず常に無料
(参考: https://hub.jazz.net/learn/cost )
© 2014 IBM Corporation42
IBM Bluemixwww.bluemix.net
Multistage Deployment (2014/9/12リリース)
Advanced Auto-Deployで複数の宛先へのデプロイに対応
開発中は開発⽤Spaceへデプロイ、本番リリースは本番⽤Spaceへデプロイといった使い分けが可能に
© 2014 IBM Corporation43
IBM Bluemixwww.bluemix.net
IBM Bluemixwww.bluemix.net