ハッカソンで便利なツール IBM Cloud編

本ブログへアクセス頂きありがとうございます。
こちらの記事では、IBMからハッカソン参加者向けに提供するIBM Cloudについて紹介します。

まずは、こちらからIBM Cloudのアカウントを取得してください。ハッカソンや実証実験向けに無料でお使いいただけます。

IBM Cloudの無料アカウント(クレジットカード不要)はこちらからご登録ください。

※ クレジットカードを登録する(PAYGアカウントへアップグレードする)と作成したサービスによって課金が発生する可能性があるのでご注意下さい。

ハッカソンでは、1日〜2日程度の短時間でクイックに完成度の高い動くものを作る必要があったりします。
そんな時に、これを使うときっと便利だよ、というものをまとめてみました。ハッカソンで困った時はこちらを見返してみると、もしかしたら幸せになれるかもしれません。

なお、こちらで紹介するものは、全てIBM Cloud上でクレジットカードを登録せずに使えるもの(無料で使えるもの)に限定しています。
IBM Cloudのアカウントは通常初期登録状態ではクレジットカードを要求されないのでお金がかかることがありません。(決済情報も住所も登録しないので課金されようがない)
しかもアカウントはいつまででも使える(60日とか90日の限定ではない)のでハッカソンの作品やPoCレベルで構築するアプリには向いていると思います。

IBM Cloud

何はなくとも、ソフトウェアアプリケーションを実行する環境(runtime)はあると便利でしょう。ハードウェア系のハッカソンでも、その上で動かすソフトウェアは何かしら発生することも少なくないでしょうし、サーバーサイドが必要なケースもあるでしょう。

そこでおすすめはIBM CloudのCloud Foundryです。2020年6月時点では、(Java, Node.js, .net, Go, PHP, Python, Ruby, Swift)の言語に対応しています。

IBM Cloudで使えるCloud Foundryラインタイム

詳細はこちらをご覧ください。

お役立ちリンク

■IBM Cloudでアプリケーションを作ろう
https://www.ibm.com/developerworks/jp/cloud/library/cl-dlounge-makingapp/index.html

■IBM Cloud: Cloud Foundry アプリケーションとサービスの接続
https://qiita.com/nishikyon/items/0e21fdabcd7f8966bb24

■触って学ぶ『Windowsユーザーが Cloud FoundryアプリでWEBサイトを公開する』
https://qiita.com/1Kano/items/b25805ccdfd2e76b5fc3

ハッカソンでは、AI(人工知能)系の機能を使いたいこともあるでしょう。IBMは同社が提供するAI系のシステムであるWatsonから、開発者が使いやすいように機能ごとにWeb APIとして用意されています。

主に、自然言語処理、音声認識、画像解析、感情分析などの領域につかえるものが一通り揃っています。
使い方は簡単で、全てRESTfulのWeb APIですので、アプリケーションから簡単に呼び出すことが可能です。

IBM Cloudから使えるWatsonのAPI及びツール

使い方などはAPI Docsをご覧ください。各言語からの呼び出し方などのサンプルコードも提供されています。

お役立ちリンク

■さるでき.com Watson Assistantでチャットボットを作ってみよう!シリーズ
https://sarudeki.com/?s=Watson

■Watson周りの技術ブログ(IBM Developer Advocate西戸京子のQiita記事)
https://qiita.com/nishikyon

ハッカソンでの強い味方といえばサーバーレスだと思います。アプリケーション実行環境を作る必要がなく、直接定義した関数をすぐにWeb API化することができる、まさにハッカソンにうってつけの機能です。

IBM CloudではFunctionsという名称でサービスが提供されます。こちらはApacheのOpenWhiskがベースになっており(というよりほぼそのまま)、移植性も高く非常に使いやすいです。

GUIで完結するFunctionsのAction定義

Functionsを初めてみるにはこちらのチュートリアルをご覧ください。

Functionsと少々利用用途は被るかもしれません。しかし、こちらはいわゆるフローベースプログラミングツールでして、コードを書かずにサーバーサイド(Node.js)の処理を構築することができる”ツール”になります。

もともとは、Raspberry PiなどのIoT基盤の上でデータをJSONでハンドリングするために開発されたこともあり、IoT系の処理を行うには非常に使いやすいです。

また、ベースがNode.jsでできているWebアプリなので、Node-REDではWebアプリケーションも簡単に作ることが可能です。

Node.jsの処理が実装されている箱(ノード)をつなぐだけでOK

Node-REDはOSSで、IBM Cloudのサービスではありません。しかし、IBM CloudではデフォルトでNode-REDを起動するためのスターターキットが用意されているので、数ステップでNode-REDを使うことが可能です。

ボタンをクリックするだけでNode-REDが使える

IBM Cloud上でのNode-REDのチュートリアルはこちらです。

Raspberry Pi上やローカル端末上でNode-REDを起動したい場合は、こちらをご覧ください。

お役立ちリンク

■Qiita検索結果 ※Node-REDはいろんな方が記事をまとめてくださっているのでこちら
https://qiita.com/search?q=Node-RED

最後はデータベースです。当然、データを永続化したい場面というのはハッカソンでも良くあるわけでして、そんなときデータベースだけSaaSで使おうと思ってもなかなかちょうどよいものがないですよね。

IBM CloudはPaaS上のサービスとして、ミドルウェアのデータベースを提供しています。無料で使えるデータベースの種類は限られますが、ハッカソンやPoCで使うのには困らないかと思います。

2020年6月時点で無料(ライトアカウント)で使えるデータベースは、[Cloudant, Db2, SQL Query]です。

ライトアカウントで使えるデータベース

Cloudantはmongo DBやCouch DBと同じNo SQLタイプのデータベースです。チュートリアル、使い方はこちらをご覧ください。

Db2はリレーショナル・データベースとしてご利用いただけます。チュートリアル、使い方はこちらをご覧ください。

IBM Cloudはいわゆるメガクラウドになります。IaaSからPaaSからSaaSと一通り揃っており、200近いサービスが用意されています。
今回はその中から厳選して、無料でハッカソンで役に立ちそうなサービスを紹介しました。
その他にも、「こんなことできないか?」「このサービスってある?」などありましたら、私を始めとしたIBM Developer Advocateまでお気軽にお聞き下さい。

OutSystems Lead Community Manager | Ex-IBMer | DevRel 🥑 | Microsoft MVP Reconnect | 筑波大学非常勤講師 | ここでの発言・記事は個人の見解であり、所属する組織等の公式見解ではありません。