« HerokuとGitHubの連携を考える | メイン | 【Herokuお絵かき】Herokuってな~に? »

2015年7月 8日 (水)

麻婆春雨はじめました。Bluemixもはじめました。

はいどうも。 最近、麻婆春雨の作り方を訓練中のおっぴーです。

暑い夏にむけて、いいですよね、マーボー。 食欲をそそるごま油の香り、ピリッと爽快な辛さ、そして、少し濃い目の味。 夏でもご飯の最高のお供ですよね。 麻婆春雨と白いご飯でこれから来る夏でも夏バテ知らず、でゆきたいと思います。

ということで、今回はBluemixのご紹介です。

BluemixはHerokuのアドオンではありません。

IBMが提供するPaaSであり、Herokuの後発サービスにあたる競合サービスです。 競合サービスとして、調べる機会があったのでまずは基本のキ、アプリケーションのデプロイ、Herokuでいうところの

git push heroku master

を行うところまでを紹介したいと思います。

このチュートリアルを実行するまえには、このページにしたがってBluemixのフリートライアル用アカウントを作成してください。

さて、Bluemixのウリの1つはwatsonというIBMが誇るコグニティブコンピューティングの機能をAPIとして利用できることです。 そのAPIの1つであるPersonality Insightsのチュートリアルが紹介されているページを発見したので、これで試してみましょう。 このチュートリアルを完了すると、文章からその人の性格をわりだす、というサービスができあがります。

なお、Bluemixのフリートライアルアカウントの作成以外にも事前準備が必要な点があるかもしれません。 下記の手順でうまくいかない!など、お困りでしたらコメントをいただけると幸いです。

まずはCloudFoundryCLIのインストール

BluemixはSoftlayerというIaaSサービスを基盤として、Cloud Foundryを利用して構築されているPaaSです。

このため、デプロイにもCloudFoundryのCLIが提供するコマンドを用います。 なお、Bluemixのコンソール画面でも、アプリケーションを作成する際に、CloudFoundryをもちいるか、などを選択する箇所があります。

まずは、CloudFoundryのCLIのgithubから利用しているOSにあわせてStable Installersのなかから選んでダウンロードします。 ダウンロードをしたら、インストーラーを実行しましょう。

インストールが完了したら、ターミナルを立ち上げて下記のようにcf -v(CloudFoundryCLIのバージョンを表示)コマンドを打ってみましょう。

cf -v

下記のように表示されれば、正常にインストールされています。(※表示されている日時は実行時に変化します)

cf version 6.11.3-cebadc9-2015-05-20T18:59:33+00:00

次にBluemixを利用するために必要な初期設定を行います。

下記は、localeを日本語に設定しています。 デフォルトが英語になっているのですが、むしろ、そのほうがエラー内容から解決策が検索しやすかったり、設定してもメッセージが英語のままだったりするのであまり意味はないかもしれません。(が、設定できるよ、ということで紹介します。)

cf config --locale ja_JA

次はCLIを通じてアクセスするapiのエンドポイントを設定します。 APIのエンドポイントは、リージョン(現在は、米国と英国のみ)によってドメインが変わります。 今回は、米国のリージョンを利用したので、下記のように設定しました。

cf api https://api.ng.bluemix.net

次に、上記のエンドポイントのどこにあるアプリケーションを扱うのか、loginコマンドで指定します。

cf login -u アカウント名(Bluemixアカウント作成時に登録したメールアドレス) -o 組織名 -s スペース名

上記で何を入力するのか、という点は下記をご参照ください。

Ibm_bluemix_1

コマンドを実行するとパスワードの入力を求められますので、入力します。 認証が成功すると、APIのendpointや組織名やスペース名、などが表示されます。 一連の流れは下記のように、表示されます。

API endpoint: https://api.ng.bluemix.net

Password>
Authenticating...
OK

Targeted org 組織名

Targeted space スペース名

API endpoint:   https://api.ng.bluemix.net (API version: 2.27.0)
User:           アカウント名
Org:            組織名
Space:          スペース名

以上で、Cloud FoundryのCLIの導入と初期設定は完了です。

アプリケーションをつくる

アプリケーションの作成もサービスの追加も、コンソールから簡単に行えます。

まずは、「Cloud Foundryアプリ」の「アプリの作成」をクリック。

__ibm_bluemix2

今回はWebアプリを作成するので「WEB」を選択します。

__ibm_bluemix3

その後、プログラミング言語を選択します。今回はサンプルアプリケーションがnode.jsですので、それを選択しましょう。

__ibm_bluemix4

プログラミング言語を選択すると、下記の画面が表示されるので「続行」をクリックしましょう。

__ibm_bluemix6

最後にアプリ名を入力し、「完了ボタン」をクリックすればアプリケーションの作成は完了です。

__ibm_bluemix7

サービスを追加する

サービスの追加も同様にコンソールからやってみましょう。

まずはダッシュボードにもどり、作成したアプリケーションのアイコンをクリックしましょう。

__ibm_bluemix8

画面が切り替わったら、「サービスまたはAPIの追加」をクリックします。

__ibm_bluemix9

サービスの一覧が表示されますので、そこから「Personality Insights」をクリックします。

__ibm_bluemix10

どのスペースのどのアプリにサービスを追加するか、などが表示されますので、確認したのち「作成」をクリックします。

Personality_insights__ibm_bluemix11

最後に、アプリケーションを再ステージするか、の確認が行われますので、再ステージを押下します。

__ibm_bluemix13

これでPersonality Insightsが有効になります。

プログラムをデプロイする

さて、Personality Insightsのチュートリアルが紹介されているページの内容に戻ります。 まずは、githubからコードをcloneします。

git clone https://github.com/watson-developer-cloud/personality-insights-nodejs.git

次に、cloneしたディレクトリに移動して、manifest.yml を編集します。 これは、Bluemix上にデプロイするアプリケーションについての設定ファイルです。 manifest.yml自体は、Cloud Foundryの機能の一部ですので、詳しくはこちらあたりをご参照ください。

cd personality-insights-nodejs
vi manifest.yml

編集はそれほど面倒ではありません。 applicationsのnameをアプリ作成時のアプリケーション名に、servicesは追加したサービス名を記載します。

declared-services:
  personality-insights-service:
    label: personality_insights
    plan: 'IBM Watson Personality Insights Monthly Plan'

applications:
- name: 登録したアプリケーション名(※ここ編集します)
  command: node app.js
  path: .
  memory: 256M
  services:
  - 追加したサービス名(※ここ編集します)

ちなみにサービス名ですが、コンソールの下記の画面から確認できます。

__ibm_bluemix14

さて、編集が完了したらデプロイしましょう。 デプロイコマンドはcf pushです。さっそく打ってみましょう。

cf push

pushがうまくゆくとデプロイが開始されます。 デプロイ中はいろいろと表示されますが完了すると下記のような画面が表示されます。

Bluemix15

さて、urlsに表示されているURLにアクセスしてみましょう。 画面が表示されたら、デプロイは無事完了です。

Personality_insights16

最後の方は駆け足になってしまいましたが、Bluemixもアプリの作成から高機能なサービスの利用、デプロイが簡単できることはご理解いただけたのではないでしょうか。 サービスの料金体系は?リージョンは?Herokuとくらべてどうなの?など気になることはたくさんありますが、それはまた別の機会にご紹介したいと思います。

補足

ちなみに当初はこのURLで紹介されているチュートリアルを実行する予定でした。 が、途中まで行ったところで、Uesr ModelingがPersonality Insightsにサービス名が切り替わった(と思われる)ことに気づきブログの内容を変更しました。

ドキュメントはしっかりされているようなのですが、突然の変更によるハマりポイントもまだまだありそうな予感です。

コメント

コメントを投稿

採用情報

株式会社フレクトでは、事業拡大のため、
Salesforce/Force.comのアプリケーション
開発
HerokuやAWSなどのクラウドプラッ
トフォーム上でのWebアプリケーション開発

エンジニア、マネージャーを募集中です。

未経験でも、これからクラウドをやってみた
い方、是非ご応募下さい。

フレクト採用ページへ

会社紹介

株式会社フレクトは、
認定コンサルタント
認定上級デベロッパー
認定デベロッパー
が在籍している、
セールスフォースパートナーです。
heroku partnersにも登録されています。
herokuパートナー
株式会社フレクトのSalesforce/Force.com
導入支援サービス
弊社の認定プロフェッショナルが支援致します。
・Visualforce/Apexによるアプリ開発
・Salesforceと連携するWebアプリ開発
も承っております。
セールスフォースご検討の際は、
お気軽にお問合せください。
Powered by Six Apart