この記事はNode-RED Advent Calendar 2021の13日目の内容となります。
これまでIBM Cloud
ではライトアカウントを使用することで、ハンズオン時に学生さん達がクレジットカードを持っていない場合でも、Node-RED
を使用することができました。
しかしながら、夏ごろに状況が変わりクレジットカードの登録が必須(完全に必須ではありませんが)となり、一般の方々にワークショップを行うのが難しい状況になりました。
私たちも学生さん向けにNode-RED
のワークショップを予定していたこともあり、なんとかこのような状況が回避できないか情報を集めたところいくつかの方法がありましたので、
それについて紹介をしたいと思います。使い方などに関してはそれぞれあると思いますが、そちらは別途リンクなどを掲載していこうかなと思います。
PCがあるのであればローカル環境にNode-RED
をインストールするというのでもよいのでは?というご意見もあるかと思いますが、
LINE API
などを使用したサービスを行う場合には、アクセスするためにHTTPS
の使用が必須となります。
そのため、今回紹介するサービスでは構築後に作成したサーバーへのアクセスがHTTPS
でアクセスが可能であるということをポイントにしています。
Katacoda
を使用する
【この情報は使用不可となりました】
追記 2022.06.26 Katacodaのサービスがクローズしましたのでこの内容はすでに使用できません。
Katacoda
は1時間の使い切りの環境でk8s
やDocker
のようなコンテナ技術やサーバー系テクノロジーを手軽に学べるクラウドサービスになります。
長所についてはNode-RED
に限らず、Katacoda
で構築された環境のすべてが使用できます。(その他の開発環境も利用できます)
短所についてはサービスを開始してから1時間後に構築した環境が停止します。ただ、作成したフローをローカルに保存しておき、
また新たにNode-RED
の環境を構築すれば、フローの動作に関しては問題なく動作します。
時限式ということでセキュリティ的には少し甘いかもしれないので、ワークショップの内容で個人情報を取り扱うのことは避けたほうがいいかもしれません。
自分はこちらの環境を使用してワークショップを行いましたが、1時間という時間でしたが、比較的詰まることもなくワークショップの実施ができました。
環境構築用リンク
Node-REDの環境は整えてくれますが、ターミナルからnode-redを実行する必要があるので注意です。
【例】Katacoda
でのワークショップ例
時限式とはいうものの、フローを保存しておけば開発を継続することができるのは非常にいい利点だと思います。
私の会社ではセキュリティポリシーによってローカルに開発環境を構築することができないので、ちょっとした実験ではこちらの環境をつかって実験していたりします。
Heroku
を使用する
2つ目の方法はHeroku
を使用する方法になります。以下のリンクをクリックすることで環境の構築を行うことができます。
こちらはHeroku
の無料アカウントを使用することで環境を構築できます。
- 長所:無料の
Heroku
アカウントを取得することで開発環境を構築できる - 短所:構築された開発環境へのアクセスがないと停止される(再アクセスすると再起動します)
Heroku
の無料アカウントは構築した環境へのアクセスが30分以上ないと環境が停止してしまいます。
ただ、その状態であっても再アクセスをすることで環境は再起動し、アクセスを行うことができます。
また、環境は保存されているので、長期間寝かせても再度環境構築を行う必要がない点も利点といえるでしょう。
ワークショップをしているときアクセスが滞るということはあまりないと思いますので、この短所は割と問題ないかもしれません。 ただ、ハッカソンなどで別の作業などをしていると、反応が悪くなるので注意しておきましょう。
環境構築用リンク(Heroku
アカウントを作成後にクリックしてください)
https://heroku.com/deploy?template=https://github.com/joeartsea/node-red-heroku
こちらを使用したワークショップに関してはアドベントカレンダー23日目の@ishii-gifuさんのherokuとNode-REDでLINEボットをつくろう
で紹介があると思いますので、こちらにお任せしたいと思います。
Gitpod
を使用する
こちらは前者2つのサービスの中間に位置するようなサービスかなと思います。サービスは時限式ではありますが、一か月での使用時間が決まっているというタイプのものになります。
Gitpot
の登録は必要ですが、GitHub
などのアカウントなどを使用することができます。また、環境の構築にはGitHub
のリポジトリを経由させているのでオリジナルのものをクローンして参照するようにすれば自分好みの環境にも変更できるでしょう。
GitPod
は聞きなれないサービスかもしれませんが以下の様な特徴があります。
- 長所:アカウント連携だけで利用できる (
GitHub
,GitLab
,Bitbucket
)、多くのプログラム言語をサポート、ターミナルが利用できる - 短所:50 時間/月(無料枠)
月に50時間ということであれば、ワークショップでも問題なく使用することができるかなと思いますので、もはや短所とはいえないかもしれません。
また、Node-RED
ではあまり関係ないかもしれませんが、ブラウザ内でIDE(開発環境)が起動できるというのも他との違いかなと思います。
以下のリンクをクリックすることでNode-RED
の構築を行ってくれます。
環境構築用リンク
https://gitpod.io/#https://github.com/ueponx/gitpod-node-red-starter-simple
以下をクローンしてもらって、自分の環境に設定して
https://github.com/ueponx/gitpod-node-red-starter-simple
https://gitpod.io/#https://github.com/ueponx/gitpod-node-red-starter-simple
のように#
以降を自分の設定したリポジトリすればOKです。
リンクをクリックすると以下のように表示されて
IDEが表示されます。この操作で自動でNode-RED
は起動しますが、ターミナル内にでてくるURL(https://127.0.0.1:1880/admin)をマウスオーバーしてリンク先に進めばブラウザにNode-RED
のフローエディタが表示されます。
IDEの表示とターミナル
ターミナル部分の拡大
使用時間はこちらから参照できます。
あと、残り時間が気になるときには作成したワークスペースは停止させておきましょう。そうすることで残り時間を減らすことはありません。
ワークスペースの停止方法
おわりに
クレジットカードを持っていない学生さん達でも容易に体験できるNode-RED
の開発環境構築方法を3つ紹介しました。大学などよってはAWS
など学生ライセンスが付与されていて環境を使えるかたもいると思いますが、多くの方にNode-RED
を知っていただくにはこのような手もいいかなと思います。
個人的なまとめとしては、
- はじめてNode-REDを触ってみる程度であれば
Katacoda
- 少し複雑なサービスを定期的にで使用する場合は
Heroku
- 開発環境やターミナルなどもほしいようなサービスを作る場合は
Gitpod
のような感じでしょうか。異論は認めますw。
情報を教えていただいた、@tseigoさん、@ishii-gifuさんありがとうございました。