1. Copyright ? Software Research Associates, Inc. All Rights Reserved
株式会社 SRA
阪井 誠
#devsumiB
新技術で未来の扉を開け!
- Node-REDの環境構築と社内導入 -
セッションID(B-5)
2. Copyright ? Software Research Associates, Inc. All Rights Reserved 1
自己紹介
? 阪井 誠 (株式会社SRA 関西事業部)
? Node-RED User Group Japan
? ソフトウェア技術者協会(SEA)
? ソフトウェアプロセス、Node-RED、チケット駆動
開発、アジャイル開発に興味を持つ。
? デブサミ講演は3回目。
? 1984年にSRAに入社して以来、UNIXをはじめとし
て、ソフトウェアプロセス、IoTなど、常に新しい
技術と向き合ってきた。
? 技術者にとって新しい技術への挑戦は、苦しみを伴
いますが、喜びであり、身を守る術だと思っていま
す。
3. Copyright ? Software Research Associates, Inc. All Rights Reserved
Node-REDを知っていますか?
?知っている人
?使ったことがある人
?バリバリ使っている人
4. Copyright ? Software Research Associates, Inc. All Rights Reserved
Node-REDを知っていますか?
? 線でつなぐ初心者向け?
? Node.jsだからサーバー?
? ラズパイだけ?
? Javascriptって面倒でしょ?
? 標準/フリーのモジュール(ノード)があるほか、
Node.jsのライブラリも使えて機能が豊富
? サーバーアプリはもちろん、クライアントアプリ
でも高性能
? IoTはもちろん、様々な業務で利用可能
? Visualに非同期処理が簡単に扱える
? 生産性が高い
5. Copyright ? Software Research Associates, Inc. All Rights Reserved 4
目次
? Node-REDを知ってますか
? 目次
? Node-RED
? いきさつ
? 考えたこと
? 開発した環境
? 社内導入
? アンケート
? 考察
? まとめ
6. Copyright ? Software Research Associates, Inc. All Rights Reserved 5
Visual 開発ツールNode-RED
? Node-RED*はVisual IoTツールと呼ばれ,Webブラウザ上の
エディタでプログラミングする
? 長円のプログラムモジュールをノードと呼び、標準ノードのほか、
コントリビュートされた多機能なノードが豊富にある
? ノードを中央の編集領域に配置し,ノード間を接続してフロー
(処理)を作成する
? ノードには名前を付加できるが,単に配置するだけでも設定に
応じた内容が表示される
* JS Foundation,Node-RED is a visual wiring tool for the Internet of Things,https://nodered.org/
7. Copyright ? Software Research Associates, Inc. All Rights Reserved 6
インクリメンタルな開発
? Hello Worldの入出力のノードを置き換えるだけで
Webプログラムになる
一瞬でデプロイ
非同期処理を
可視化 簡単デバッグ
多機能なノード群
簡単デバッグ
8. Copyright ? Software Research Associates, Inc. All Rights Reserved
Node-REDの長所?短所
長所:生産性が高い
? 高速な非同期処理が簡単に扱える
? アルゴリズムが可視化され
? 多機能なノード(モジュール)
? デプロイが一瞬
? 再利用が容易(インポート、エクスポート、サブフロー)
短所:工夫が必要
? 単体テストの自動化ができない
? 発展途上(1.0まであと少し)
? 方式設計が重要
? ループが特殊
? マージ?保守に工夫が必要
11. Copyright ? Software Research Associates, Inc. All Rights Reserved
社内への導入
? Node-REDを社内のリーダーにそそのかし
勧めた
? プロトタイプ
? テストダブル(ドライバ,モック,スタブ)
? 自社パッケージ
? ユーティリティなど
? Node-REDの紹介方法
? 生産性が高い
? 非同期処理なので性能が高い
? 敷居が低い
12. Copyright ? Software Research Associates, Inc. All Rights Reserved
アンケート
? Node-REDの経験者8人にアンケートを行った.
? 社内サービス、プロトタイプ、テストダブル、
自社パッケージ、ユーティリティなど
? 全てのプロジェクトはいわゆるウォーターフォール
型開発の工程を持っていた
? 程度の差はあるが厳格な工程完了審査は行われていない
? メールでQCDとプロセスの変化をアンケートした
? 品質,コスト, 開発期間:4段階の選択式(重複選択
可)の評価と自由記述
? 要件定義,設計,プログラミング,テスト,リリースの
変化:自由記述
13. Copyright ? Software Research Associates, Inc. All Rights Reserved
QCDアンケート結果 - 品質 -
? サクサクと実装,実行,確認?修整の作ってのループが良かった
? 内製にこだわるよりも品質が良い
? コード量が減った
? 試作に有効
? 非同期処理が容易(当時のnode,jsはpromiseしかなかった)
? フローを意識してシンプルな作りになった
? 単体テストができない
? コード検索ができないのでバグが見つけにくい(今はできます)
14. Copyright ? Software Research Associates, Inc. All Rights Reserved
QCDアンケート結果 – コスト -
? 非同期処理が容易
? 高機能なコンポーネントが多い
? 設計からテストまでシームレスにでき効率が良い
? 処理部に注力できた
? diffが取れない(今はちょっとましに)
? ドキュメントが少ない
? 必要なノードを探すのに時間がかかった
? 繰り返し処理に苦労した
15. Copyright ? Software Research Associates, Inc. All Rights Reserved
QCDアンケート結果 - 納期 -
? 非同期処理が容易
? カスタムノード作成で効率化できた
? 開発のスピード感が半端ない
? 他人のフローを簡単にインポート可
? 実装にいきなり入れる
? 効率よく開発できる
? 大きな手戻りがなかった
? 自作部分の作りで効率や保守性が変わる
? ドキュメントが少ない
? 品質の悪いノードがあった(貢献できます!)
? 必要なノードを探すのに時間がかかった
16. Copyright ? Software Research Associates, Inc. All Rights Reserved
プロセスの変化 – ポジティブ -
? プロトタイプが早くできると説明も早く,意見を貰いやすい
? 曖昧な要求でもとりあえず作り始めることができる
? 作ったものから要件を確定していくことが可能
? 大まかな処理の流れをすぐにフローとして実装可能
? 設計とプログラミングのイテレーションが容易
? Injectノードとデバッグノードでの確認も容易
? ほんの少数のファイルをリリースするだけでよく,管理しやすい
? ユニットテストはカスタムフローやAPI単位しかできないが,不安は少なかった
? コード管理だけ課題???完成した開発環境になればすばらしいものになりそう
? (保守は)基本的に容易だが,開発環境を残さないと詳細を確認し辛かった
設計以降の問題を
指摘しながらも,
好意的な表現
17. Copyright ? Software Research Associates, Inc. All Rights Reserved
プロセスの変化 – ネガティブ -
? 単体テストをどのように行うのかわかりませんでした
? 複数人数での開発が少し手間取る
? 外部リソースの設定が外だしに出来ず,リリース後にとても煩わしかった
? Node-REDの癖にあわせた設計は必要.設計次第
? 簡単な反面,リリース後の不具合も増える可能性がある
? コード全体の検索が出来ないため,複雑なシステムは保守しにくくなる
上流のプロセスに変
化がないとしていた.
Node-RED流の開発
スタイルをつかみ切
れていない
バージョンアップで
解決された課題も
18. Copyright ? Software Research Associates, Inc. All Rights Reserved
考察
Node-REDの導入に重要なこと
? ツールの知識やノウハウを共有すること
? 特性を活かした設計で品質を作りこむこと
? 実装を繰り返して常に確認すること
? 上流から利用すること
情報共有や教育が重要であるだけでなく,
既存のプロセスをそのまま適用するのではなく,
積極的に変更することがプロセス改善につながる
19. Copyright ? Software Research Associates, Inc. All Rights Reserved
おわりに
? Node-RED最高!
? 思った通りに作れる
? 思った通りに実装できる(Ruby以来の感動)
? 生産性が高い
? 新しい技術を避けてはいけない
? いずれ誰かがやる
? 貴重な経験ができる
? 小さく始めれば外しても被害は少ない
? 良い技術ならマーケットは後からついてくる
? 先行者利益が得よう!
? 良いものなら開発用に使え!
? 自ら広げればよい!
20. Copyright ? Software Research Associates, Inc. All Rights Reserved 19
? http://icestories.exploratorium.edu/dispatches/big-ideas/penguins/index.html
技術者諸君!ファーストペンギンであれ!
Unless otherwise noted, this work is licensed under a Creative Commons
Attribution-Noncommercial-Share Alike 3.0 United States License.
? 怖がりのペンギンは群れで行動し、飛び込まない
? 最初に飛び込むは勇者ファーストペンギンと称賛される
? 勇気を出して新技術のブルーオーシャンに飛び込もう!
21. Copyright ? Software Research Associates, Inc. All Rights Reserved 20
プラトンは著書『ラケス』において、
ソクラテスによる"勇気"の考察を紹介している 。
勇気とは、
「恐るべきものと恐るべからざるものとを
識別することなり」
https://ja.wikipedia.org/wiki/%E5%8B%87%E6%B0%97
飛び込む勇気
22. Copyright ? Software Research Associates, Inc. All Rights Reserved 21
プラトンは著書『ラケス』において、
ソクラテスによる"勇気"の考察を紹介している 。
勇気とは、
「恐るべきものと恐るべからざるものとを
識別することなり」
https://ja.wikipedia.org/wiki/%E5%8B%87%E6%B0%97
そのためには
情報収集、信頼貯金、仲間が必要
書籍、本家(Web, Twitter, Slack)、
日本Node-REDユーザグループ(Web,Facebook)、
勉強会(NRUGのほか、、)
飛び込む勇気
23. Copyright ? Software Research Associates, Inc. All Rights Reserved 22
? 日時:11/24(土) 14:00~17:00
? テーマ:
?
Nodeから手が出るNode-RED(初心者向け)
? 内容:ハンズオンおよび質疑応答
? 事前にNode-REDインストール済み環境を
ご用意ください
? 講師:佐々木 和繁、小南 敏弘(SRA)
? 2018年度新人研修 Node-RED担当
? 場所:エルおおさか (大阪府立労働センター)
? 天満橋と北浜の間、淀屋橋、大阪天満宮から徒歩
? 会議室 701
SEA関西でお会いしましょう
24. Copyright ? Software Research Associates, Inc. All Rights Reserved 23
新技術で未来の扉を開け!
- Node-REDの環境構築と社内導入 –
完