LoginSignup
13
13

More than 5 years have passed since last update.

Check! Bluemix OpenWhisk の開発環境を Vagrant で作ってみる

Posted at

こんばんは、 @dz_ こと大平かづみです。

Prologue - はじめに

ファーストタッチばかりですけど、今度は Bluemix OpenWhisk を触ってみます!

Windows 環境から使いたいので、Vagrant で環境を作ってみました。

Bluemix OpenWhisk とは

まず、OpenWhisk とは、オープンソースのイベント駆動型のプラットフォームです。About IBM® Bluemix® OpenWhisk を要約してみましょう。

要約

REST API やトリガーからのイベントキックにより、アクションが実行されます。アクションは、NodeJSSwift で書くことができます。また、Docker のコンテナをデプロイすることも可能です。

トリガーは、OpenWhisk API や CLI、iOS SDK からもキックすることができます。また、アクションはチェーンで連結することができます。

フィードやアクションに紐づけることができるパッケージには、追加のサービスやプロバイダと結合させることができます。たとえば、Cloudant change feed を使うと、Cloudant データベースで起こったイベントを起点にしてトリガーを発動することができます。また、パッケージにアクションを構成すると、再利用可能なロジックとしてイベント駆動だけでなくAPI実行からも利用できます。

トリガーが発動しない限りコードは実行されず、その間は課金されません。トリガーの発動に応じて課金されるため、同様の用途で仮想マシンやコンテナを長時間稼働させておいた場合のコストのオーバーヘッドを抑えることができます。

開発者はコードを書くことに集中でき、サーバーやストレージ、ネットワークなどインフラストラクチャのモニタリングやパッチ対応、セキュリティ対応の心配をする必要はなくなります。

ユースケース

  • アプリケーションをマイクロサービスとして分解する際に利用
  • モバイルのバックエンド
  • データ処理
  • IoT

大まかな流れ

さて、実際に OpenWhisk を触る環境を作ってみます。OpenWhisk はまだGUIがないため、CLIの環境を用意します。

  1. Vagrant 環境の準備
  2. OpenWhisk のセットアップ

手順

Vagrant 環境の準備

OpenWhisk CLI は、Python 2.7 以上で動作し、インストールには pip を利用します。そこで、以下のようなスクリプトで Vagrant 環境を構築しました。なお、 Vagrant 事態の環境構築については割愛します。

Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|
  config.vm.box = "ubuntu/trusty64"
  config.vm.provision :shell, path: "provision.sh"
end
provision.sh
#!/usr/bin/env bash

apt-get update
apt-get install -y git

# install pip
TMP_PIP=/tmp/pip
if [ ! -e "${TMP_PIP}" ]; then
    mkdir $TMP_PIP
fi
wget "https://bootstrap.pypa.io/get-pip.py" -P $TMP_PIP
python $TMP_PIP/get-pip.py
rm -rf $TMP_PIP

# install OpenWhisk CLI
pip install --upgrade https://new-console.ng.bluemix.net/openwhisk/cli/download

上記のファイルを準備し、Vagrant を立ち上げ、SSHログインしておきましょう。

vagrant up
vagrant ssh

OpenWhisk のセットアップ

次に、OpenWhisk のセットアップを行います。

Bluemix にログインして、OpenWhisk のコンソール を開きます。

20160306_openwhisk_004.png

「Configure CLI」をクリックすると、環境構築の手順が表示されます。

  • 1 の CLI インストールは、上記 Vagrant で実行済みです。
  • 2 では、環境をアカウントの名前空間に紐づけ、認証を行います。画面上のコマンドをコピーし、先ほど立ち上げた vagrant 環境で実行しましょう。認証されればOKです。
  • 3 は動作確認のコマンドです。これもコピー&ペーストして実行し、Hello が返ればOKです。

20160306_openwhisk_003.png

実行の状況は、コンソールの「Dashboard」で確認することができます。

20160306_openwhisk_007.png

これでデプロイ環境はできましたね。

Epilogue - おわりに

上記は簡単な動作確認までですが、アクションや、トリガー、パッケージなどについてはもう少し理化してから触りたいので、次回の記事にしたためます。

なお、作成した Vagrantfile はとても簡単なものですが、一応、こちら dzeyelid/vagrant-env-openwhisk に置きました。

13
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13