クラウドサービスIBM Bluemixを無料で使うノウハウまとめ

  • 606
    いいね
  • 0
    コメント

 Bluemixユーザと話すと、必ず話題に挙がる利用料金や無料枠内での運用方法。料金体系の分かりにくさが、新人プログラマへの普及や、他クラウドからの移行を阻害しているのではないかと思い、まとめ記事を作成しました。本記事は、個人ユーザの私が把握している料金の情報です。新しい情報を得ましたら、随時更新してゆこうと思います。

Bluemixとは

 IBMが提供しているPaaSです。開発環境と実行環境がクラウドサービス上で利用できます。開発言語(ランタイム)はSwift、Java、JavaScript、Ruby、PHP、Python、Perlなど主要な言語は全て利用できます。またサービスとして、WatsonやDB2相当のデータベースなど140種類以上も提供されています。開発者は、開発言語とサービスを管理画面で選択するだけで、すぐにコーディング作業を行うことができるようになります。初めてプログラムを書く時は、Hello Worldのプログラムを開発するまでが一番時間がかかります。Bluemixは環境構築が不要ですので、どんな開発言語もすぐにHello Worldを試せ、次のコーディング作業に取り掛かることができます。また、サービスに含まれているオープンソースソフトウェアは、よく使われているものや、これから大きくシェアを伸ばしそうなもの等、センスの良いものが取り込まれています。そのため、未来ある学生さんや新人プログラマの方は、Bluemix上のサービスを使いこなせば、社会で活用できるオープンソースソフトウェアの技術を効率よく習得できると思います。

トライアル期間を活用する

30日間は、ほぼ全ての機能を無料で利用できる

 初めてBluemixのアカウントを作成すると、30日間トライアル期間が割り当てられます。この間はシドニー、ダラス、イギリスの3つのリージョンでメモリ2GBずつ利用でき、合計6GB分を無料でインスタンスに割り当てることができます。またWatsonやデータベースなど、ほぼ全ての機能を無料で使えます。特にWatsonは高価なサービスもあるため、このトライアル期間に評価してみることをお勧めします。
 なお、未登録のメールアドレスがあれば再度アカウントを作ることができるため、新アカウントで新たにトライアルを利用できます。しかし、Bluemixは開発環境も合わせたサービスですので、毎月環境を引越すのは大変で現実的ではないです。

ハッカソンに参加し、トライアル期間を延長する

 IBM主催の開発コンテストでは、参加特典としてトライアル期間を延長できる時があります。例えば下記コンテストは参加表明を行うと、トライアル期間が延長されました。

 また、トライアル期間の延長ではないですが、良い作品を作ると無料利用権を貰える開発コンテストもあります。

無料枠について

インスタンスの無料枠

 Bluemixは1ヵ月あたり375GB時間のインスタンスを無料で使えます。分かりやすく言い換えると、インスタンスにメモリを512MB割り当てた状態であれば、24時間無料で使い続けることができます。もちろん、日数が31日ある月でも大丈夫です。メモリ512MBというとIaaSの場合は使い物にならないため、少ない様に感じますが、Bluemixでは問題ないケースが多いです。例えば、GUIでプログラミングできるNode-REDの場合、メモリ256MBでも十分動作するため、テスト用と本番用に分けて2つのインスタンスで運用することもできます。

サービスの無料枠

 Bluemixには140種類以上のサービスが存在しますが、主要なサービスにおいてはほぼ全て無料枠が用意されています。例えば、DB2相当のデータベースであるdashDBは、1GBのデータ格納まで無料です。データベースのサイズが1GBを超えるユースケースはなかなかないため、大半のユースケースでは無料で使えます。

試験版、ベータ版のサービスは常に無料で利用できる

 Bluemixに新サービスが追加される場合は、まず試験版やベータ版サービスとして追加されます。その間は、本サービスを無料で使うことができます。Bluemixの様な新しい技術をどんどん取り込む環境でのアプリケーション開発では、新サービスをいち早く使いこなすことが他アプリケーションとの差別化のために重要です。本期間のサービスは、とことん使い倒しましょう。

beta.png

サービスの使用量を確認する

 後述しますが、利用明細は無料枠内の利用であっても課金されているように表示されるため、現時点でどれだけ利用したかがよくわかりません。そのため、サービスは利用明細ではなく、個別にサービスの利用量を確認する方法が確実です。現在、dashDBしか把握していませんが、今後拡充できればと考えています。

dashDBの利用量確認方法

 dashDBはデータロードや検索をブラウザ上で行う管理画面が用意されています。本管理画面の右上に表示されている、データの利用量を確認すると現在無料枠の1GB以内か否かを確認できます。データベース内部で自動的にインデックスを作るせいなのか、CSVファイルをロードする場合、元のCSVファイルより少し大きいサイズが表示されます。そのため、データロード後の利用量の確認は必須です。

dashdb.png

管理画面

料金カリキュレーターを用いて料金を見積もる

 予め使うインスタンスのメモリ量やサービスが分かっている場合、料金カリキュレータで試算できます。一見便利そうですが、最低1ヵ月全く構成が変わらない場合の料金計算ですので、実はあまり使うことはないと思います。Bluemixで開発するアプリケーションは、ユーザリクエストに応じた機能の追加や削除に伴い、日々インスタンスやサービスを追加、削除し、料金が変動するため、参考程度の情報です。
cal.png

料金超過アラート設定する

 Bluemixの管理画面には、料金超過をアラートする機能があります。合計のアカウント使用量、ランタイム毎やサービス毎でも設定できます。指定した金額の80、90、100%に達したタイミングでアラートが届きます。

price.png

利用明細は心配し過ぎない

 利用明細は、リージョンや組織毎に分けて、インスタンス毎、サービス毎に詳細が表示されます。しかし、見るべき項目は実際の請求額である「月々のコスト見積もり」のみです。これ以外は無料枠適用前の表示がされていたり、計算方法が不明な項目もあるためです。例えば、リージョンとしてシドニーを選択した場合に「クレジットカードの課金 XXX円」と表示され、いかにもクレジットカードから引き落とされそうな記載が書かれていますが、実は無料枠適用前の金額であり、実際に引き落とされることはありません。

credit.png

 現状の利用明細は、どの様に問合せれば良いか分からないほど複雑なため、シンプルにしてほしいところです。日ごとに利用料金がグラフ表示されれば便利ですね。

標準サポート21,000円は無効化できる

 トライアル期間内の料金明細には、標準サポートとして21,000円が無料として記載されます。トライアル期間終了後も本金額が必要なのか心配になるところですが、有償ユーザ登録時にデフォルトで無効になり、料金は発生しません。Bluemixの質問がある場合は、Bluemixユーザ会のFacebookグループ日本語版stack overflow等のコミュニティに問合せた方が効率よく解決できそうです。

使い方に注意した方が良いサービス

 Bluemixには高額なサービスがあり、意図せず使いすぎると喧嘩別れになってしまいそうなサービスがあります。高額である理由は、他のアプリケーションと差別化できる価値があるためと思いますので、料金も機能も賢く使いこなしたいところです。

Insights for Twitter

 Twitterのデータを取得できるサービスです。1ヵ月につき最初の500万ツイートの取得は無料ですが、無料枠を超えた場合、100万ツイート毎に21万円ずつ課金されます。本家TwitterとのAPIとの違いは各ツイートの内容がポジティブかネガティブかの感情分析結果が付与されている点です。そのため本情報を使う場合や、制限なくアクセスしたい場合に、本家Twitter APIの代わりに本サービスを使うことになります。

twitter.png

Watson Natural Language Classifier

 文章を分類できるサービスです。学習は1ヵ月あたり4回まで無料、以降学習は1回行う毎に315円かかります。学習を行うcurlコマンドを1回打つだけで、315円かかるのは、なかなかインパクトがあります。ただシステム構築時の学習が上手く行けば、運用中は分類を行うAPIを呼び出すのみですので、総費用は意外とかからないかもしれません。

nlc.png

Watson Retrieve & Rank

 文書の検索を行うサービスです。検索結果のランキングの学習は、1ヵ月あたり4回まで無料、以降学習は1回行う毎に210円かかります。こちらもNatural Language Classifierと同じく、システム構築時の学習が上手くいけば、総費用は意外とかからないと思います。

rar.png

Node-RED Starter

 正確には料金ではなく、セキュリティの内容です。Bluemixで一番人気と言われているNode-RED。デフォルトで認証がないため、URLが分かってしまった場合、第三者に乗っ取られてしまう可能性があります。前述のWatsonノードを使えるようにしていた場合、怖いですね。環境変数からユーザIDとパスワードを設定しましょう。

nodered_pw.png

 NODE_RED_USERNAMEの値にユーザ名、NODE_RED_PASSWORDにパスワードを入力すればOKです。ユーザ名とパスワードを設定すると、開発環境に入る時にログイン画面が表示されるようになります。デフォルトでIBM IDのユーザ名とパスワードを設定してほしいですね。

nodered_login.png

参考になる記事

最後に

 今回、Bluemixを無料で利用するためのノウハウを紹介しましたが、もちろん全てのユーザが無料で使ってしまったら、Bluemixのサービス自体がなくなってしまいます。料金のノウハウが身に着き、Bluemixのファンになったら以下のことをして応援すると良いと思います。

※注意点
 本内容は誤りがある可能性があり、料金過多になっても責任を負えません。お気付きの際は、可能な限り早く更新しますので、コメントをお願いします。