developer summit 2014 summer
DESCRIPTION
Developer summit 2014 summerTRANSCRIPT
© 2014 IBM Corporation
継続的デリバリーの実現へ! ~クラウドによってアプリケーション開発はどう変わるのか?~
2014/7/31
日本アイ・ビー・エム株式会社
Rational事業部 江木典之
Developers Summit Summer 2014
© 2014 IBM Corporation
自己紹介
江木典之(@noriyukiegi)
– IBM SI部門
–Rational 事業部 テクニカルセールス
–PMI認定PMP, Professional Scrum Manter1
専門分野
–プロジェクトマネジメント
–アジャイル適用支援(プロセス、ツール)
書籍
–チームコンサート超入門(技術評論社)
–ディシプリンド・アジャイル・デリバリー日本語版
2
© 2014 IBM Corporation
書籍 – DAD日本語版
3
• Scott W.Ambler Mark Lines 著
• 藤井智弘(監修) • 熱海秀樹 • 天野武彦 • 岡大勝 • 大澤浩二 • 中佐藤麻記子 • 永田渉 • 西山泰男 • 三宅和之 • 和田洋 • 江木典之
翔泳社!
© 2014 IBM Corporation
本セッションのテーマ
クラウド技術に代表されるテクノロジーイノベーションが、DevOpsと継続的デリバリーを推し進めるドライバーになりつつあります。
DevOpsを実行するための環境を計画し、整備するのは、率直に言って面倒なプロセスでしたが、アプリケーション実行環境だけでなく開発環境もクラウドを利用することで、継続的デリバリーの環境を容易に利用できるようになってきています。
クラウド型アプリケーション開発について、IBMの新しいPaaSサービス「Bluemix」と開発環境「DevOpsサービス」をご紹介します。
4
© 2014 IBM Corporation
今後、新規に開発されるSWの 85% がクラウドを対象に
すべてのアプリケーションの 1/4 が、2016年までにクラウドで利用可能に
開発者の 3/4 がアプリケーションに クラウドサービスを利用している
5 参照:IBM 2013 Annual Report
© 2014 IBM Corporation
クラウドによって変わるアプリ開発
ジャスト・イン・タイムな開発へ
–必要な時にクラウドからあらゆるリソースを入手して利用することが可能に
–サービス・機能
–人的リソース
–開発環境/ツール
–実行環境
6
© 2014 IBM Corporation
<例> 構成管理~デプロイの環境
7
開発環境
ステージング 環境
実行モジュールのパブリッシュ
変更の 取り込み
デプロイ
デプロイと 環境設定
テスト自動化
継続的インテグレーション
自動化テストの 呼び出し
自動テストの実行
単体テスト
ツール
• xUnit
SCM
• Git • Subversion • Rational Team
Concert
単体テストの実行
• Rational Team Concert • Jenkins, Maven
© 2014 IBM Corporation
開発環境/実行環境の調達
OS導入 Fix
MW導入 Fix
ツールの 設定
ユーザー 管理
開発
開発 ・・・・ ユーザー 登録/招待
バック アップ
数十秒で!
スペック 見積り
HW 準備
8
© 2014 IBM Corporation
WebAPIの利用による機能・サービスの獲得
Internet of
Things
アプリケーション
amazon
Web API Web API
企業の枠を超え、社外のサービスを組み合わせて提供
アプリケーション
企業内
9
© 2014 IBM Corporation
人的リソースの調達
クラウド(Crowd)・ソーシング
発注者
タスクを 依頼
クラウド・ソーシング会社
タスク・ パフォーマー
タスクを実行し、 結果を提供
マッチ・メーキング カスタマー・サポート 販売、管理
© 2014 IBM Corporation
クラウドによって変わるアプリ開発
ジャスト・イン・タイムな開発へ
–必要な時にクラウドからあらゆるリソースを入手して利用することが可能に
– サービス・機能
– 人的リソース
– 実行環境
– 開発環境/ツール
初期投資を抑えた早いリリースが可能に!
© 2014 IBM Corporation
素早くリリースできれば十分?
ライバルが同じようなサービスを出す
さらに魅力的な サービスがでる
サービスの優位性、ユーザー体験は 時間とともに低下する
登場インパクトの 賞味期限
時間
製品・サービスの 価値/UX
© 2014 IBM Corporation
頻繁に価値を提供する
競合優位性を保ち続けるには、 サービス、フィーチャーを 頻繁にデリバリーすることが重要 デリバリー デリバリー
時間
製品・サービスの 価値/UX
フィード バック
フィード バック
フィード バック
アジャイル開発
デプロイ自動化
フィードバック
© 2014 IBM Corporation
IBM DevOpsサービスとは? ~開発環境~
チーム開発環境(SaaS)
–アジャイル開発と継続的なデリバリーをサポート
•ソース管理、バックログ管理、ビルド&デプロイ、計画&トラッキング、ダッシュボード(状況の可視化)
•実行環境(Bluemix)と連携したデプロイ自動化
–GitHub連携、Web IDE(Orion)も使用可能
–“フィードバック”との連携
(2014年5月現在)
14
© 2014 IBM Corporation
IBM Bluemixとは? ~実行環境~
様々なプログラミング言語に対応したアプリケーションの実行環境(Runtime)を提供
Runtimeから容易に利用できる多くのサービスを提供
オープン・スタンダードを活用した環境(Cloud Foundry)により移植性が高い
IBMクラウド上で提供されるPaaS
アプリケーション
サービス
アプリ開発者
実行環境
15
© 2014 IBM Corporation
デモ
シナリオ
–Bluemixに含まれるTwilioというサービスを使用したアプリケーションを構築します。
–開発環境を作るところから始めます。
16
© 2014 IBM Corporation 17
© 2014 IBM Corporation
デモ まとめ
すぐに開発環境、実行環境を使用できる。
クラウド・サービスの組み合わせてアプリケーションを構築できる。
開発環境から実行環境に継続的なデリバリーができる。
18
継続的デリバリーの環境を すぐに容易に利用できます!
© 2014 IBM Corporation
クラウドの特性を生かしたデプロイメント
Blue-Green Deployment
19 http://martinfowler.com/「BlueGreenDeployment」をもとに作成
ユーザー
Router
Green
Blue
Webサーバー DBサーバー
Webサーバー DBサーバー
© 2014 IBM Corporation
クラウドの特性を生かしたデプロイメント
Canaly Deployment
20
95% traffi
c
5%
Primary Cluster
Canary Cluster
100% traffic
(Old) Primary Cluster
New Primary Cluster
Primary Cluster
100% traffic
Canary Cluster
© 2014 IBM Corporation
BluemixでCanary Deploymentに近いことをやってみる
Routeを作成
no-route オプションで、2つのアプリをPush
21
>cf create-route dev mybluemix.net -n egitest
>cf push --no-route -p A -m 64M egitest-a
>cf push --no-route -p B -m 64M egitest-b
© 2014 IBM Corporation
BluemixでCanary Deploymentに近いことをやってみる
2つのアプリに同じURLを割り当てる
2つのアプリ
22
> cf map-route egitest-a mybluemix.net -n egitest
> cf map-route egitest-b mybluemix.net -n egitest
> cf apps
name state instances memory disk urls
egitest-a started 1/1 64M 1G egitest.mybluemix.net
egitest-b started 1/1 64M 1G egitest.mybluemix.net
© 2014 IBM Corporation
<ご参考> ご利用について
30日間のトライアルサービス
課金モデル
–Pay as you Go モデル(利用に応じた従量課金)-現在米国のみ
•無料枠あり
•メモリ:375GB-hours/月 までが無料枠(メモリ0.5GBだと1か月無料)
–サブスクリプション
•推定利用料金をあらかじめお支払頂く
詳しくは Pricing のページをご参照ください
–https://ace.ng.bluemix.net/#/pricing
© 2014 IBM Corporation
まとめ
クラウドによりジャスト・イン・タイムな開発に
–必要に応じて利用する形態に
–初期投資を抑えたサービスの立ち上げ
フィードバック~開発~運用を含めた仕組みが重要
–これをクラウドで提供するものがBluemix & DevOpsサービス
–デプロイメントもクラウドの特性を生かしたものに
24
© 2014 IBM Corporation 25
Thank You