BluemixとIBM DevOps Servicesで始めるアプリケーション開発

43
IBM Bluemix www.bluemix.net IBM Bluemix そこが知りたい! テクニカル・セミナー 日本アイ・ビー・エム システムズ・ エンジニアリング株式会社 ソフトウェア開発ソリューション 古池 範充 BluemixとIBM DevOps Servicesで 始めるアプリケーション開発

Transcript of BluemixとIBM DevOps Servicesで始めるアプリケーション開発

Page 1: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

IBM Bluemixwww.bluemix.net

IBM Bluemixそこが知りたい!

テクニカル・セミナー

日本アイ・ビー・エム システムズ・エンジニアリング株式会社ソフトウェア開発ソリューション

古池 範充

BluemixとIBM DevOps Servicesで始めるアプリケーション開発

Page 2: 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をご覧ください。

Page 3: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation3

IBM Bluemixwww.bluemix.net

アプリケーション開発の課題とBluemix

Bluemixアプリケーションの開発環境パターン

BluemixとIBM DevOps Servicesによる開発の進め方

まとめ

Agenda

ポイント

• Bluemixアプリケーションの開発環境構築における選択肢と選択のポイントを理解する

• BluemixとIBM DevOps Servicesの連携によるアプリケーションの開発の流れとメリットを理解する

Page 4: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation4

IBM Bluemixwww.bluemix.net

アプリケーション開発の課題とBluemix

Page 5: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation5

IBM Bluemixwww.bluemix.net

アプリケーション開発における様々な課題

アジャイル開発

Time to

MaketDevOps

ユーザーエクスペリエンス

最新テクノロジー活⽤

API

Economy

継続的デリバリー

リーン・スタートアップ Mobile

First

Page 6: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 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:アプリケーション開発に注力するために

開発言語や開発ツールは豊富な選択肢から柔軟に選択可能

実行基盤とシームレスに統合された開発基盤クラウドサービスを提供

Page 7: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation7

IBM Bluemixwww.bluemix.net

IBM DevOps Services (IDS)

Bluemixと統合された開発基盤クラウドサービス

ブラウザベースの統合開発環境を提供

チーム開発や自動デプロイ機能のサポート

開発環境と実行環境を同時にクラウドから調達

Bluemix

初期投資を抑えサービスの迅速なスタートアップを支援

Page 8: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation8

IBM Bluemixwww.bluemix.net

Bluemixアプリケーションの開発環境パターン

Page 9: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation9

IBM Bluemixwww.bluemix.net

Bluemixアプリケーションの開発環境パターン

開発者のスキル、体制、好みに合わせて柔軟に開発環境を構築することができる

①Eclipse+Bluemix Plugin

で開発

②CF Tool+各種エディタ+ツールで

開発

③IBM DevOps Servicesで開発

⑤Bluemixアプリのテスト環境をローカルに構築

④IBM DevOps Servicesでチーム開発

<基本編>

<応用編>

Page 10: 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もそのまま使える

Page 11: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 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)に対応

サービスの追加、バインド

ログの参照、ファイル取得

<サーバービュー>

<サーバー構成>

Page 12: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation12

IBM Bluemixwww.bluemix.net

②CF Tool+各種エディタ+ツールで開発

ローカル環境に導入したCF Toolと各種エディタやツールを組み合わせて開発を実施

エディタ+ツール

Bluemix App実装/ビルド

テスト

Push

ポイント

• Eclipse以外のエディタやツールを使用している開発者(スクリプト言語など)、コマンド操作やスクリプト作成が苦にならない開発者向け

• ACEを使わずにBluemix環境に対する様々な操作ができる• 自分の好きなエディタやツールをそのまま使用できる

CF Tool

デプロイ

Page 13: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation13

IBM Bluemixwww.bluemix.net

Cloud Foundryで利⽤するコマンド行ツール

BlueMixで必要な操作はほぼすべて実行可能

コマンド行ツールでできること

アプリケーションに対する操作

ランタイムに対するインスタンスの作成・起動・停止・削除

メモリー、インスタンス数の変更

ログの出力

サービスに対する操作

サービスの作成・削除

ランタイムに対するバインド・アンバインド

ルーティングに対する操作

アプリケーションに対するルーティングの変更 など

CF Tool

$ cf push [アプリケーション名] [オプション]

cf pushコマンドで全てのアプリケーションのデプロイが可能

コマンド行ツールにより他ツール連携や操作の自動化が可能

Page 14: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation14

IBM Bluemixwww.bluemix.net

③IBM DevOps Servicesで開発

IDSの提供するWeb IDEを使⽤してブラウザから開発(実装~デプロイ)を実施

Bluemix App

テスト

Push

ポイント

• 開発環境を作るところから始める開発者向け(Webブラウザがあれば開発を始められる)

• Bluemixアプリケーションの操作がWeb IDEからシームレスに行える• IDSの機能によりチーム開発にもスムーズに移行できる

実装/デプロイDevOps Services

Page 15: BluemixとIBM 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アプリの継続的デリバリーをサポート

チーム開発のための機能がすぐに使える<提供機能>

Page 16: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation16

IBM Bluemixwww.bluemix.net

④IBM DevOps Servicesでチーム開発

個々の開発環境の自由度はそのままにリポジトリや実行環境をチームで共有

Bluemix Appテスト

Web IDE

実装

DevOps Services

Push

CodeManagement

DeliveryPipeline

Track&Plan

ビルド/デプロイ

タスク管理

チェックイン/アウト

テスト

権限付与

実装タスク管理

チェックイン/アウトビルド/デプロイ

Leader

Member

Page 17: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 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の使い分けもできる

Page 18: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation18

IBM Bluemixwww.bluemix.net

⑤Bluemixアプリのテスト環境をローカルに構築

Bluemixアプリのテストをローカル環境で実施

Bluemix App

実装/ビルド/デプロイ

デプロイ/テスト

ポイント

• アプリの詳細なデバッグが必要な場合や、Bluemix環境へのデプロイ前にアプリの確認を行いたい場合の選択肢として検討

• ローカルPCやテストサーバーへのM/W導入やデプロイ機構を用意する• アプリが利用するサービスについて、VCAP_SERVICES環境変数や外

部からのアクセス可否の制約について考慮が必要

Bluemix App(local)

テスト(local)

Eclipse+Plugin

Page 19: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 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環境変数の情報をどのように取得するか サービスは外部から

アクセス可能か

Page 20: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation20

IBM Bluemixwww.bluemix.net

Bluemixアプリケーションの開発環境パターン

開発者のスキル、体制、好みに合わせて柔軟に開発環境を構成することができる

①Eclipse+Bluemix Plugin

で開発

②CF Tool+各種エディタ+ツールで

開発

③IBM DevOps Servicesで開発

<基本編>

<応用編>

⑤Bluemixアプリのテスト環境をローカルに構築

④IBM DevOps Servicesでチーム開発

Page 21: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation21

IBM Bluemixwww.bluemix.net

BluemixとIBM DevOps Servicesによる開発の進め方

Page 22: 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でデプロイする

Page 23: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation23

IBM Bluemixwww.bluemix.net

開発の基本的な流れ

プロジェクトの作成

手動デプロイ

リポジトリ(GIT)追加

コード修正 アプリケーション実行

自動デプロイ

コミット&Push

アプリケーション実行

アプリケーション作成

IBM Bluemix

Starter App

Page 24: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 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種類から選択可能

Page 25: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation25

IBM Bluemixwww.bluemix.net

プロジェクトの作成方法(1/2)

1.Bluemix ACEのアプリケーション概要画面で「ADD GIT」

Page 26: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation26

IBM Bluemixwww.bluemix.net

プロジェクトの作成方法(2/2)

2.IDSで既存プロジェクトを検索/参照し、「EDIT CODE」でWebIDEを起動して「FORK」

3.IDSのMy Stuff画面で「CREATE PROJECT」

Page 27: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation27

IBM Bluemixwww.bluemix.net

デモ動画:コード修正~自動デプロイ

1. Web IDE上でコード修正

2. 修正したコードをGitへCommit/Push

3. 自動デプロイ(Simple)の実行

4. アプリの変更を確認

リモートの方はお手元の

動画をご覧ください

Page 28: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation28

IBM Bluemixwww.bluemix.net

IDSからBluemixへのデプロイ

Web IDEからの手動デプロイとリポジトリからの自動デプロイの2種類のデプロイをサポート

Web IDE

リポジトリ

チェックイン

BUILD&DEPLOY

SIMPLE

ADVANCED

Builder

チェックアウト

手動デプロイ

自動デプロイ

Web IDEで作業中の

コードを直接デプロイ

最新のリポジトリから

取得したコードをデプロイ

Bluemix

Deployer

Page 29: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation29

IBM Bluemixwww.bluemix.net

Web IDEからのデプロイ方法

上部「DEPLOY」から作業中のコードをデプロイ可能

アプリケーションの状況や起動・停止もIDEから直接実行可能

Page 30: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation30

IBM Bluemixwww.bluemix.net

Web IDE

Eclipse Orionベースの統合開発環境

Eclipse Foundationが開発中のWebブラウザ上で動作するIDE

プラグイン・アーキテクチャの採⽤による各種機能

多くのプログラム言語に対応するコードエディタ

ファイルマネージャ

Git/JazzSCM/FTP/SFTPクライアント

Bluemixとの連携

ワークスペース(Sandbox)上のモジュールを直接デプロイ

リポジトリへ未チェックイン状態のアプリをデプロイして確認できる

単純なデプロイのみ。コンパイル等のビルド処理は行われない

アプリケーションの状況確認、各種操作もIDE上で実行可能

Page 31: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 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ツールを呼び出すデプロイスクリプト

Page 32: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation32

IBM Bluemixwww.bluemix.net

Agile Track&Plan

チーム開発においてアジャイルベースの計画および作業管理を実施するための機能を提供

Rational Team Concertの計画、ワークアイテム管理機能をIBMDevOps Servicesにビルトイン

スクラム・テンプレートによるAgileプラクティス適⽤

ダッシュボードによる状況の把握

ワークアイテム検索、作成、更新

構成管理とタスク管理のリンク

BETA版も現在利⽤可能

⼀部の機能のUIが洗練されている

現行のUIも並行して利⽤可能

<ダッシュボード>

Page 33: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation33

IBM Bluemixwww.bluemix.net

New Agile Track&Plan (BETA)

Drag&Dropのサポート等によるシンプル、直感的な操作

旧版のUIも並行して使⽤可能

Page 34: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation34

IBM Bluemixwww.bluemix.net

まとめ

Page 35: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation35

IBM Bluemixwww.bluemix.net

まとめ

Bluemixアプリケーションの開発環境には多くのパターンから開発者の環境、スキル、経験等によって柔軟に構成することができます

IBM DevOps Servicesを利⽤すると、チーム開発にも対応可能なBluemixアプリケーション開発環境を迅速に調達することができます

BluemixとIBM DevOps Servicesの活⽤によりタイムリーなサービス提供に可能にするクラウドベースの継続的デリバリー環境を実現できます

Page 36: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation36

IBM Bluemixwww.bluemix.net

補足資料

Page 37: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 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へのデプロイ要否

Page 38: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation38

IBM Bluemixwww.bluemix.net

リポジトリの選択

利⽤可能なリポジトリ

Git ・・・ 分散型バージョン管理リポジトリ

Jazz SCM ・・・ RTCで利⽤される管理リポジトリ

GitHub ・・・ Gitのパブリックサービスを利⽤

リポジトリによる制約

GitHub連携の場合、Build&Deploy機能が使⽤できない

JazzSCMは現在Gitと同等のサポート

作成方法によるデフォルト

前頁1の方法で作成する場合 → Git

前頁2の方法で作成する場合 → Fork元により決定

前頁3の方法で作成する場合 → 3種類から選択可能

Page 39: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation39

IBM Bluemixwww.bluemix.net

IDSでの他ユーザーの招待

プロジェクトのページからINVITE USERSする

入力されたアドレス宛にメールが送信される

Page 40: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation40

IBM Bluemixwww.bluemix.net

IDSの稼動状況

JazzHub Status(https://status.hub.jazz.net/)で確認できる

Page 41: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 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 )

Page 42: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation42

IBM Bluemixwww.bluemix.net

Multistage Deployment (2014/9/12リリース)

Advanced Auto-Deployで複数の宛先へのデプロイに対応

開発中は開発⽤Spaceへデプロイ、本番リリースは本番⽤Spaceへデプロイといった使い分けが可能に

Page 43: BluemixとIBM DevOps Servicesで始めるアプリケーション開発

© 2014 IBM Corporation43

IBM Bluemixwww.bluemix.net

IBM Bluemixwww.bluemix.net