Transcript
Page 1: Twilio x SendGrid x Bluemix 実践ハンズオン

Presented by:Twilio x SendGrid x Bluemix 実践ハンズオン

藤田 昌也IBM Cloud Japan

Page 2: Twilio x SendGrid x Bluemix 実践ハンズオン

© IBM Corporation 2

Bluemix はアイデアを迅速に形にするためのプラットフォームです。

Security Services

Web and applicatio

n services

CloudIntegration

Services

Mobile Servic

es

Database services

Big Data services

Watson

Services

Page 3: Twilio x SendGrid x Bluemix 実践ハンズオン

© IBM Corporation 3

アプリケーションの基盤とパーツをクラウドで提供

OS

仮想化基盤

アプリケーション

ミドルウェア(AP サーバー /DB/ 監視 etc…)

ハードウェア(Server,Storage, Network)

IaaS

ビジネス・プロセス

OS

仮想化基盤

アプリケーション

ミドルウェア(AP サーバー /DB/ 監視 etc…)

ハードウェア(Server,Storage, Network)

PaaS

ビジネス・プロセス

IBM SoftLayer IBM Bluemix

クラウドでご提供

開発者はアプリ開発に専念

Page 4: Twilio x SendGrid x Bluemix 実践ハンズオン

© IBM Corporation 4

Bluemix の構成

SoftLayer

Cloud Foundry をベースとするアプリ中心のランタイム環境に加え、サービスによる柔軟な機能拡張を実現

Docker コンテナーにより、OS を管理する必要なく、移植可能で一貫性のある、アプリをデリバリー

OpenStack 管理の仮想マシンを使用して、

最大限の柔軟性を持たせ環境をコントロール

Bluemix

クラウドをベースにしたオープンな PaaS 環境。アプリを構築・管理・実行するために、適切なインフラストラクチャーの選択が可能。

Page 5: Twilio x SendGrid x Bluemix 実践ハンズオン

© IBM Corporation 5

特徴 1: 開発・運用を劇的にスピードアップ例えば、 Web アプリケーション実行環境の構築

サービス ( 機能 ) を組合せて開発

スケールアップ、スケールアウト

が容易

ミドルウェアの保守、運用は不要

継続的デプロイの仕組みを提供

作り込む機能が多い

トラフィックの急増に対応できな

インフラの保守運用が手間。ミス

発生

手動デプロイによるミスと無駄

現状: 3 日間 Bluemix

スペックの見積りHW の準備

OS 導入 Fix 適用MW 導入 Fix 適用OS 、 MW の構成

開発

実行環境の作成

開発

実行環境の構築が1分で

Page 6: Twilio x SendGrid x Bluemix 実践ハンズオン

© IBM Corporation 6

Hands-on 1: Bluemix でのアプリケーション基盤作成

PHP を使った Web アプリケーションの基盤の作成

Page 7: Twilio x SendGrid x Bluemix 実践ハンズオン

© 2015 IBM Corporation7

PHP ファイルの作成Step

1. ドキュメントルートフォルダの作成(どこでも良いです!)2. php ファイルの作成( test.php)

Page 8: Twilio x SendGrid x Bluemix 実践ハンズオン

© 2015 IBM Corporation8

cf コマンドのインストール

Step1. Githubにアクセス( https://github.com/cloudfoundry/cli )

し、ダウンロード2. コマンドプロンプト( OS X ではターミナル)で動作確認: cf -v

解説cf コマンドは、コマンドラインで Bluemix 環境にアクセスし、 Local で開発したソースコードを Bluemix 環境にデプロイするためのツールです。

バージョンが無事表示されれば OK

※ Mac で、「開発元が未確認のため開けません」と表示される場合は、「システム環境設定」 >> セキュリティーとプライバシーにて、「ダウンロードしたアプリケーションの実行許可」にて、「すべてのアプリケーションを許可」するように設定を変更して下さい

Page 9: Twilio x SendGrid x Bluemix 実践ハンズオン

© 2015 IBM Corporation9

cf コマンドで Bluemix へログイン

Step1. コマンドプロンプトでルートフォルダへ移動(作成した php ファイルが

存在するフォルダ)2. cf login コマンドで Bluemix 環境へログイン

> cf login -a https://api.ng.bluemix.net

Bluemix ID と Pass

Page 10: Twilio x SendGrid x Bluemix 実践ハンズオン

© 2015 IBM Corporation10

Bluemix に php ファイルをデプロイ

Step1. cf push コマンドで Bluemix にアプリケーションを Push

> cf push ( アプリケーション名)

アプリの Base URL/test.php

Page 11: Twilio x SendGrid x Bluemix 実践ハンズオン

© IBM Corporation 11

特徴 2: コンポーザブルな開発(組み立て型開発)

数十秒で実行環境を準備

数十秒でサービスが組み込まれる

必要な言語環境やサービスを Bluemix ダッシュボードから自由に選択・組み込み

各種サービス

アプリ実行環境

バインド

+CREATE AN APP

+ADD A SERVICE

1 開発言語の選択

2 サービスの選択

Page 12: Twilio x SendGrid x Bluemix 実践ハンズオン

© IBM Corporation 12

コンポーザブル開発の例 高可用性が求められるオンライン株取引 Web アプリケーションの構築例 スケーリングやモニタリングサービス、ログ分析機能を順次追加、組み合わせ

て構築

WebApp

DB

WebApp

DB

Scale

アプリのデプロイ

WebApp

DB

Scale

SessionCache

WebApp

DB

Scale

SessionCache

スケーリングを追加高可用性のためセッション・キャッシュを追加

モニタリングとロギングを追加

モニタリング

ロギング

1

WebApp

DB

23

4

Page 13: Twilio x SendGrid x Bluemix 実践ハンズオン

© IBM Corporation 13

120 を超えるサービス(パーツ)を提供

Mobile

App

Managem

ent

SQL

Database

Cloudant

NoSQLDB

MongoLab PostgreSQL

Mobile

Data

Analytics

Warehouse MySQL

Data

Cache

Session

Cache

MQ

Light

Business

Rules

SSOGamification AppScan

Concept

ExpansionLanguage

Identification

Message

Resonance

Question

and

Answer

User

Modeling

Mobile

App

Mgmt

Mobile

Quality

Assurance

TwilioInternet of

Thigs

Push

データ管理

モバイル

DevOps

InternetOf

Things

BigData

セキュリティー

インテグレーション

Watson

Webアプリ

Analytics

for Hadoop

Time

Series

Database

App User

RegistryAuto-Scaling

Delivery

Pipeline

Cloud

Integration

Page 14: Twilio x SendGrid x Bluemix 実践ハンズオン

© IBM Corporation 14

Hands-on 2: データベースの追加

ClearDB ( MySQL )のインスタンス作成し、 PHP アプリに紐付け

Page 15: Twilio x SendGrid x Bluemix 実践ハンズオン

© IBM Corporation 15

特徴 3: クラウドアプリ開発に最適な SaaS型開発環境を提供

名称 説明

 Web IDEEclipse Orion をベースとしたブラウザ上で稼動する統合開発環境。多数の言語に対応したエディタを備える。

  Code Management

ソースコード等の構成管理のためのリポジトリを備える。IDS上にホストされた Git 、 JazzSCM の他、 GitHub との接続も可能

  Delivery Pipeline

Bluemix 環境向けにアプリケーションを自動的にビルド・デプロイするパイプライン機能を提供

  Track and Planチーム開発におけるアジャイルベースの計画および作業管理を行うための機能を提供( Rational Team Concert と同等)

IBM DevOps Service• Web ブラウザから全ての機能を利用可能• Bluemix アプリの継続的デリバリーをサポート• チーム開発のための機能がすぐに使える

<提供機能>

Page 16: Twilio x SendGrid x Bluemix 実践ハンズオン

© IBM Corporation 16

ビルド

BuildJOB

Ant

統合テスト環境

計画・タスク管理

ソース管理

デプロイメント・パイプライン

統合テスト

テスト環境

Deploy

JOB

統合テスト

TestJOB

本番環境

DeployJOB

本番環境開発環境(個人用)

チーム開発

Ant

Commit/Push

デプロイ

自動実行

デプロイ デプロイJUnit単体テスト

相互リンク

WI 更新

Bluemix

ビルド~デプロイのパイプラインを自動で実行

単体・統合テストや複数リリースに対応

各自の環境で迅速に実装・確認

用途に応じた実行環境を容易に調達

IBM DevOps Service でのクラウドアプリ開発

Page 17: Twilio x SendGrid x Bluemix 実践ハンズオン

© IBM Corporation 17

ありがとうございました

Page 18: Twilio x SendGrid x Bluemix 実践ハンズオン

© IBM Corporation 18

サービス紹介: Node-REDデバイスからのストリームデータの収集、分析、デイバスの制御、可視化といった一連の処理や機能を、ドラッグ & ドロップで作成

Page 19: Twilio x SendGrid x Bluemix 実践ハンズオン

© IBM Corporation 19

① Twilio で録音後、 Call されるAPI

② 録音 File の URL を抽出

③ Watson で、音声を Text化

④ 含まれているキーワードを元に、問い合わせ内容を分類

⑤ 問い合わせ内容ごとに処理を条件分岐

回答の TwiML を準備

⑦ Twilio サーバーに TwiMLとともに http Responseを返答

Node-RED アプリ構築例音声認識サービスを利用した、コールセンターでの自動応答システム