79
SoftLayer Bluemix Community Festa 2016 ToolChainを使った次世代DevOps環境の作り方 伊藤忠テクノソリューションズ クラウドイノベーションセンター 原田 一樹

ToolChainを使った次世代DevOps環境の作り方

Embed Size (px)

Citation preview

Page 1: ToolChainを使った次世代DevOps環境の作り方

SoftLayer Bluemix Community Festa 2016

ToolChainを使った次世代DevOps環境の作り方

伊藤忠テクノソリューションズ クラウドイノベーションセンター

原田 一樹

Page 2: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp/

自己紹介

2

原田 一樹 (Kazuki Harada) o Bluemix UserGroup Community Leader

o クラウドアーキテクト/スクラムマスター

o クラウドイノベーションセンター所属

興味・関心:

Cloud/IoT/機械学習/OSS/API/Scrum/DevOps

書籍・記事・実績: o エンタープライズAWS導入ガイド

o 人口知能アプリケーション総覧-Watson

o BluemixとWatsonの全貌を知る-ITpro

o BluemixHack 最優秀賞

o BluemixChallenge2015 最優秀賞

o Watson日本語版ハッカソン 最優秀賞

Page 3: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp/

Bluemix UserGroup (BMXUG)

3

Bluemix UserGroupのコミュニティリーダーを担当

リアルな技術情報の集まる環境で最新の情報を収集・発信

Bluemix UserGroup(BMXUG) facebookページ

Page 4: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp/ 4

Page 5: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

2015年5月 Bluemix Hack 最優秀賞

Wearable Bluemix クーポン × ×

2015年12月 Watson日本語版ハッカソン 最優秀賞

Chat Watson QAナレッジ × ×

2015年9月 Bluemix Challenge 2015 最優秀賞

機械学習 Bluemix 観光 × ×

Page 6: ToolChainを使った次世代DevOps環境の作り方

DevOpsとは?

Page 7: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

伝統的なDevとOpsの関係

7

開発エンジニア(Developer)

新しい機能を追加したい

運用エンジニア(Operator)

安定稼働 させたい

利害の対立

ニーズの変化に応じて新しい機能を開発して反映させたい

手順書作成するのが手間。想定していないエラーまで手順化は困難

ユーザーの声が分からない

安定したシステムを手を加えたくない(変更リスクを負いたくない)

全て手順書にまとめてほしい(エラー時対応含めて)

ユーザーの要求に合わないアプリでクレーム対応が大変

開発部門と運用部門が自身の利益の最大化を目指し、利害不一致。

Page 8: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

理想的なDevとOpsの関係

8

開発エンジニア(Developer) 運用エンジニア(Operator)

DevOps

ツールにより変更リスクを最小化

新機能や機能改善を即時反映

手順の自動化によりドキュメント作成負荷の軽減

顧客の声を取り入れて、ムダな開発を排除した効率の良い開発の実現

ビジネス変化・顧客要求に対応し、

ビジネス拡大/顧客満足度を最大化をしたい

本来の目的である「ビジネス拡大」や「顧客満足度の最大化」で利害が一致

Page 9: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

DevOpsの原点

9

開発担当者と運用担当者が連携して協力する開発手法のこと。

「Velocity 2009」でFlickrの講演で初めて使われた言葉と言われている。

「開発と運用が協力することで1日に10回以上のリリースが可能になる」

http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr

Page 10: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

DevOpsの原点 ~必要なツールと文化~

10

Flickrの講演では、DevOpsの実現に必要なツールと文化として、 下記の10の要素を紹介している。

自動化されたインフラ、バージョン管理、ビルドツールなどのツール群の整備と、 開発担当者と運用担当者がお互いに尊敬し、信頼しあう文化が大事。

必要なツール

インフラ構築の自動化

バージョン管理

継続的インテグレーション

デプロイ自動化

監視

情報共有(Wiki, IRC, BTC…)

お互いを尊重する

お互いを信頼する

失敗に対する健全な態度

お互いを非難しない

必要な企業文化

Page 11: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

DevOpsの適用領域(クネビンフレームワーク)

11

無秩序

カオス

やや複雑

やや複雑 単純 複雑

複雑 ◆DevOps/Scrumの効果は大きい

複雑なものを「検証」と「適応」を繰り返し、右往左往しながらもより良いやり方をチームで考えて進行させる。

⇒ DevOps/Scrumを採用

◆DevOps/Scrumの効果は小さい

実現内容が単純明快で失敗する 可能性が小さいもの。要件が変わらない、それはウォーターフォールが得意分野。

⇒ ウォーターフォールを採用

安定した

技術

不安定な

技術

明確な

要件

未確定な

要件

DevOpsの適用は要件が未確定で変更する可能性が高い領域で効果大

Page 12: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

DevOps実現のための戦略立案

12

「1日に10回以上のデプロイ」がDevOpsの目的ではない。 戦略を階層化し、DevOpsの根本的な必要性を考える必要がある。

→組織作り、文化そのものを変革するにはトップダウンの指針が必要

ツール群(インフラ自動化、CIツール、Git…)

アプリの更新頻度を増やす (1日に10回以上デプロイ)

ビジネスのスピードに合った価値提供

企業文化を変える(お互いを尊重)

競合優位性維持 / 顧客満足度の向上

国内シェア No1を目指す

サービス事業者として世界的に認知

DevOpsの目的

DevOpsで 実現できること

DevOps 実現の手段

DevOpsの先の 最終ビジョン ト

ップダウン

ボトムアップ

Page 13: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

DevOps実現のための戦略立案

13

「1日に10回以上のデプロイ」がDevOpsの目的ではない。 戦略を階層化し、DevOpsの根本的な必要性を考える必要がある。

→組織作り、文化そのものを変革するにはトップダウンの指針が必要

ツール群(インフラ自動化、CIツール、Git…)

アプリの更新頻度を増やす (1日に10回以上デプロイ)

ビジネスのスピードに合った価値提供

企業文化を変える(お互いを尊重)

競合優位性維持 / 顧客満足度の向上

国内シェア No1を目指す

サービス事業者として世界的に認知

DevOpsの目的

DevOpsで 実現できること

DevOps 実現の手段

DevOpsの先の 最終ビジョン ト

ップダウン

ボトムアップ

DevOpsの全体像を踏まえた上で、

Bluemixを利用した

DevOps環境の作り方の話をします。

Page 14: ToolChainを使った次世代DevOps環境の作り方

IBM DevOps Services

Page 15: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

IBM DevOps Servicesとは

15

http://www.slideshare.net/IBM-Software-Japan/bluemixibm-devops-services

Page 16: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

IBM DevOps Servicesの特徴

16

Web IDE

(Webエディタ)

Code Management

(Git/バージョン管理)

Track/Plan

(スクラム管理)

Pipeline

(ビルド・デプロイ)

用意されたツールを使うことで、 一連の開発サイクルをWeb上で実現可能

(スクラム管理・コーディング・バージョン管理・ビルド&デプロイ)

Page 17: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Track & Plan – Scrum管理ページ

17

ダッシュボードページへのリンク

自分のタスク管理

バックログ、スプリント、チームのタスク管理

未完了、進行中のタスクの表示

未完了、進行中のタスクの表示

バックログ、スプリント、タスクの管理が可能

Page 18: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Track & Plan – ダッシュボード

18

タグ別にダッシュボードページを作成可能

ダッシュボードをカスタマイズで必要な情報を表示管理可能

Page 19: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Track & Plan – ダッシュボード

19

バーンダウン分析 サーバ監視/ ヘルスチェック

タスク進捗管理

Bluemixの監視機能を使ったヘルスチェックなども管理可能

Page 20: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Web IDE – コード編集画面

20

Web上でコード編集が可能。 Code Managementでバージョン管理される

Web上でデバッグ可能 (Node.jsのみ)

ライブ編集ON

Page 21: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Web IDE – デバッグツール

21

Node.jsをローカルで実行した時と同様の Console.logの内容をWeb上で取得可能。

ただし、接続は 少し不安定

Page 22: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Code Management – Git管理

22

ブランチ選択

ZIPダウンロード

共有中メンバー Git Log管理

無償でGitのプライベートリポジトリを利用可能

Page 23: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Code Management – Git管理

23

コミットの管理

Web IDEで編集したファイルを ここからコミットも可能

ブランチの管理

無償でGitのプライベートリポジトリを利用可能

Page 24: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Build & Deploy

24

間にテストステージを 追加することも可能

標準でGit連携してBuildとDeployを実行し、Bluemix実行環境に 反映することが可能。テストステージを追加することも可能。

Git pushのタイミングで実行開始 手動実行への変更も可能

Page 25: ToolChainを使った次世代DevOps環境の作り方

| http://www.ctc-g.co.jp

チーム開発における

IBM DevOps Servicesの

課題について

Page 26: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

チーム開発における課題

26

【前提】 ・チーム開発 (スクラム手法で開発)

・本番稼動中にも高い頻度でデプロイが発生する

【課題】

スクラム管理の方式で”かんばん”を求める方には不適合

Web IDEを複数人で同時に触ると収集がつかなくなる

デバッグ・ツールで実行時のエラーログを確認することが可能だが、Node.js + Live Codingの環境が前提

Gitのブランチ管理が難しい

デフォルト設定だとデプロイ時にダウンタイムが発生する

→ ローカル環境や別ツールと連携するのが現実的

Page 27: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

代替策

27

スクラム管理の方式で”かんばん”を求める方には不適合

→別のスクラム管理ツール、ホワイトボードを利用する

Web IDEを複数人で同時に触ると収集がつかなくなる

→ローカルの開発環境を使う

→Bluemix上に各個人の開発環境を用意する

デバッグ・ツールで実行時のエラーログを確認することが可能だが、Node.js + Live Codingが前提

→ローカルで動作確認するようにする

Gitのブランチ管理が難しい

→ローカルGit連携が可能なのでこちらを利用する

デフォルト設定だとデプロイ時にダウンタイムが発生する

→Active Deployを利用する

Page 28: ToolChainを使った次世代DevOps環境の作り方

| http://www.ctc-g.co.jp

Next DevOps Services

〜ToolChain〜

Page 29: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Open ToolChain

29

各種DevOps関連ツール同士の連携を容易にする仕組み

Page 30: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

IBM Bluemix Garage Method

30

https://www.ibm.com/devops/method/

DevOpsメソッドを体系化したベストプラクティス集

Page 31: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Garage Methodの紹介ツール群(抜粋)

31

Track and Plan

Track and Plan

IBM Rational Team Concert

Load Impact

Active Deploy Build & Deploy UrbanCode Deploy

Monitoring and Analytics Alert Notification PagerDuty

Timeline Analytics

Page 32: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

ToolChain-初期カタログ

32

Page 33: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

公開されているデモ動画

33

https://www.youtube.com/watch?v=4fu5_f6VRAY

Page 34: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

The Information Model

34

ToolChainはユーザ側に用意される「Tool instance」と、 ツールプロバイダー向けに用意される「Tool broker」によって構成される

Page 35: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

The lifecycle model

各フェーズにおいてユーザからToolChainへの指示に応じて、 Tool instanceとTool brokerが連携し、全ライフサイクルをサポート

Page 36: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

The LifeCycle Model

36

各フェーズにおいてユーザからToolChainへの指示に応じて、 Tool instanceとTool brokerが連携し、全ライフサイクルをサポート

Page 37: ToolChainを使った次世代DevOps環境の作り方

| http://www.ctc-g.co.jp

Coming Soon… (いつか使えるようになるはず…)

Page 38: ToolChainを使った次世代DevOps環境の作り方

| http://www.ctc-g.co.jp

Bluemix Garage Methodを

参考にToolChainで得られる

価値を模倣してみた。

Page 39: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

DevOps on Bluemix

39

下記のツール群を使ってDevOps環境を試してみた

ZenHub

Load Impact Active Deploy

Build & Deploy

Monitoring and Analytics

Alert Notification

Application Security on Cloud

Page 40: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

【準備】 アプリ構成 〜オンラインストア〜

40

■作成手順 https://developer.ibm.com/bluemix/2015/03/16/sample-application-using-microservices-bluemix/

Bluemix Dev blogに公開されているMicroserviceアーキテクチャの アプリケーションを用意し、今回のDevOps環境を試してみる。

Page 41: ToolChainを使った次世代DevOps環境の作り方

| http://www.ctc-g.co.jp

〜THINK/Culture〜

ZenHub

Load Impact Active Deploy

Build & Deploy

Monitoring and Analytics

Alert Notification

Application Security on Cloud

Page 42: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

MURAL 〜Design Thinking as a Service〜

42

https://mural.ly/

Page 43: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

MURALでできること

43

チームで同時作業可能

リーンキャンバスなどのフレームワークも配置可能

画像や動画、テキストを 任意の位置に配置可能

Page 44: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

ZenHub 〜GitHub特化のスクラム管理ツール〜

44

GitHubにスクラム管理機能を追加する拡張機能をインストールし利用 かんばん方式で直感的にタスク管理が可能。

Page 45: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

GitHub × Slack

45

SlackにGitHub Integrationを追加 GitHubへのイシュー操作、Git操作をするとSlackへ通知が可能に

SlackのApp Directoryから GitHub Integrationを追加

認証完了後、通知対象を設定する

認証へ

Page 46: ToolChainを使った次世代DevOps環境の作り方

| http://www.ctc-g.co.jp

ZenHub

Load Impact Active Deploy

Build & Deploy

Monitoring and Analytics

Alert Notification

Application Security on Cloud

〜Code〜

Page 47: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

hub-jazzからGitHubへの切り替え

47

Git on Bluemixから、 Git on GitHubへ切り替え可能

自身のGitHubアカウントに、Orders/Catalog/UI用のリポジトリを作成 DevOps Servicesが参照するリポジトリをそれぞれGitHubに切り替える

Page 48: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

hub-jazzからGitHubへの切り替え

48

GitHubへの切り替え設定をすると、GitHubのWebhooksの設定画面で、 DevOps Servicesとの連携の設定がされていることが確認できる。

自動でGitHubのWebhooksに、 DevOps Servicesとの連携が設定される

上記設定があるため、GitHubにプッシュすると Build & Deployと連携が可能。

Page 49: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

SauceLabs

49

SauceLabsはOS/ブラウザ横断のテスト環境をクラウド提供しているサービス 複数環境でブラウザ操作をシミュレートしキャプチャ取得が可能。

複数のOS/ブラウザ及びバージョンを 選択してテスト対象にすることが可能

Page 50: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

【参考】 Git管理 – SourceTree

50

スプリント実行環境へのリモートブ

ランチを追加

作業ブランチをチェックアウトし

作業

Page 51: ToolChainを使った次世代DevOps環境の作り方

| http://www.ctc-g.co.jp

ZenHub

Load Impact Active Deploy

Build & Deploy

Monitoring and Analytics

Alert Notification

Application Security on Cloud

〜Deliver/Run/Culture〜

Page 52: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Delivery Pipelineの拡張

52

Delivery Pipelineは拡張することが可能。詳細は下記参照。 https://hub.jazz.net/docs/deploy_ext/

■追加可能な機能の例

Static Code Scansの追加

→Javaアプリのセキュリティチェック (.war .ear .jar .class)

Globalizing stringsの追加

→別の言語への翻訳

HipChat notificationsの追加

→HipChatへの通知

Slack notificationの追加

→Slackへの通知機能

Active Deployの追加

→ゼロダウンタイムのデプロイ

Build & Deploy

今回試した内容

Page 53: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Slack通知の追加

53

Build & Deploy

SlackのApp Directoryから、[Incoming WebHooks]を追加

Incoming WebHooksを追加

Webhook URLをメモする

Page 54: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Slack通知の追加

54

Build & Deploy

環境プロパティーにWebhookURLを保存しておくことで再利用が簡単に。 任意のジョブのスクリプトにSlack通知用のコマンドを追記することで通知可能に。

curl -X POST --data-urlencode 'payload={"text": "デプロイ成功!"}' ${SLACK_WEBHOOK_PATH}

Page 55: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Bluemix上に本番稼動環境と最新状態の環境(非アクセス)を用意する

本番環境に変更内容をデプロイする際に、ダウンタイムが発生しないように最新稼動環境にも一時的にアクセスが通る状態になる

デプロイ成功時は本番環境だったものが非アクセス状態となり、最新状態の環境にアクセスが切り替わる

(参考) http://qiita.com/khara914/items/aacb6b0de5752db450c7

Active Deployとは Active Deploy Build & Deploy

Page 56: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

【準備】 Active Deploy (1/6)

56

Active Deployを実行したいアプリと同じ組織にサービスを追加

Active Deploy Build & Deploy

Page 57: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

【準備】 Active Deploy (2/6)

57

Active Deploy実行用に新規インタンスを生成するスクリプトを作成

[ステージの構成]を選択

#!/bin/bash

NAME="${CF_APP}_${BUILD_NUMBER}"

cf push "${NAME}" --no-route -i 1

export NAME

Active Deploy

はじめに経路情報(URL)のないインスタンスを新規生成するスクリプトを記述。

自動採番されるBuild番号を名前に利用し、 名前をエクスポートしておく。

(エクスポート先の設定は後述を参照)

Build & Deploy

Page 58: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

【準備】 Active Deploy (3/6)

58

Active Deployを開始するジョブを追加する

デプロイヤー・タイプを、 「IBM Active Deploy」 に変更

スクリプトはデフォルトのままでも 動作する

Active Deploy Build & Deploy

Page 59: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

【準備】 Active Deploy (4/6)

59

テスト・ジョブを追加し、任意のテストコードを実行することも可能。

#!/bin/bash set -x if [[ -n ${TEST_RESULT_FOR_AD} ]] && (( ${TEST_RESULT_FOR_AD} )); then exit 0 fi if (($(($RANDOM % 100)) < 30)); then export TEST_RESULT_FOR_AD=1 else export TEST_RESULT_FOR_AD=0 fi

任意のテストコードを記述し、 デプロイ前にテスト可能。

※必須ではない。

Active Deploy Build & Deploy

テストコードの テスト用スクリプト。

(ランダムでエラー発生)

Page 60: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

【準備】 Active Deploy (5/6)

60

テスト・ジョブを追加し、任意のテストコードを実行することも可能。

デプロイヤー・タイプを、 「CompleteIBM Active Deploy」 に変更

スクリプトはデフォルトのままでも 動作する

Active Deploy Build & Deploy

Page 61: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

【準備】 Active Deploy (6/6)

61

下記の3つの[文字プロパティ]を 追加する

Active Deploy

新バージョンのアプリ名を 保管するプロパティ

アプリケーションの インスタンス数

テスト結果保管用の プロパティ

スクリプトで使用する独自プロパティを追加する

Build & Deploy

Page 62: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Active Deployダッシュボード

62

Active Deploy Build & Deploy

Active Deployの実行中/実行結果を確認できる

Page 63: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

【準備】 Load Impact

63

負荷テストサービス。ユーザー数や操作シナリオを簡単に決めて Webサービスに負荷をかけることが可能。

Load Impact

Page 64: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Load Impact 〜負荷テストシナリオ〜

64

Load Impact

URLとアクセス数を指定するだけで負荷テストが可能。 また、操作記録で簡単に負荷シナリオの作成も可能。

Page 65: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Load Impact 〜負荷テスト中の画面〜

65

Load Impact

Page 66: ToolChainを使った次世代DevOps環境の作り方

| http://www.ctc-g.co.jp

ZenHub

Load Impact Active Deploy

Build & Deploy

Monitoring and Analytics

Alert Notification

Application Security on Cloud

〜Manage/Learn〜

Page 67: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Monitoring and Analytics

67

Monitoring and Analytics

Bluemixで使える無償の死活監視及びパフォーマンス監視サービス 高度なことはできないが無償なので追加しておく。

Page 68: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Monitoring and Analytics

68

Monitoring and Analytics

アプリケーションの可用性や応答時間を視覚的に確認可能。

Page 69: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Alert Notification

69

Alert Notification

Bluemixサービスの稼働状況を監視できるサービス

Page 70: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Alert Notification 〜ポリシー作成〜

70

Alert Notification

通知ポリシーやエスカレーションルールを作成し、状況を察知可能

通知方法は下記の通り ・Eメール ・SMS ・音声通知

Page 71: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

New Relic

71

Webパフォーマンス監視サービス。レスポンスタイムやスロークエリなど、 様々な統計情報を可視化。マルチ言語に対応している。

Page 72: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

New Relic × Slack

72

SlackのAppDirectoryからNew Relicを追加できる 取得したWebhook URLをNew Relic側で設定することでSlack通知が可能。

Page 73: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Application Security

73

Application Security

モバイル、Web、デスクトップアプリのセキュリティスキャンができるサービス 実行結果をレポートとして閲覧することが可能

Page 74: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Application Security

74

Application Security

スキャン結果レポートは有償版であれば、 問題の詳細な説明と対処方法を含めたレポートが生成される

Page 75: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Google Analytics

75

無料で十分使えるWebアクセス解析とレポートサービス Webサービスのアクセス解析を元にサービス改善を検討する。

Page 76: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

DevOps on Bluemix

76

必要なフェーズに必要なツールが揃っていることを確認できた

ZenHub

Load Impact Active Deploy

Build & Deploy

Monitoring and Analytics

Alert Notification

Application Security on Cloud

Page 77: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

Open ToolChain

77

各種DevOps関連ツール同士の連携を容易にする仕組み

Page 78: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

DevOps実現のための戦略立案

78

「1日に10回以上のデプロイ」がDevOpsの目的ではない。 戦略を階層化し、DevOpsの根本的な必要性を考える必要がある。

→組織作り、文化そのものを変革するにはトップダウンの指針が必要

ツール群(インフラ自動化、CIツール、Git…)

アプリの更新頻度を増やす (1日に10回以上デプロイ)

ビジネスのスピードに合った価値提供

企業文化を変える(お互いを尊重)

競合優位性維持 / 顧客満足度の向上

国内シェア No1を目指す

サービス事業者として世界的に認知

DevOpsの目的

DevOpsで 実現できること

DevOps 実現の手段

DevOpsの先の 最終ビジョン ト

ップダウン

ボトムアップ

Page 79: ToolChainを使った次世代DevOps環境の作り方

Copyright(C) ITOCHU Techno-Solutions Corporation | http://www.ctc-g.co.jp

BMXUGへの参加のススメ

79

BMXUG - facebookページ https://www.facebook.com/groups/bmxug/

BMXUG – DoorKeeper https://bmxug.doorkeeper.jp/

ご静聴ありがとうございました。 引き続き、SoftLayer Bluemix Community Festa 2016をお楽しみください。

引き続きBMXUGではBluemixに関する情報を発信していきます。