More Related Content
Similar to 新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
Similar to 新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 - (20)
More from Makoto SAKAI (20)
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
- 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まであと少し)
• 方式設計が重要
• ループが特殊
• マージ・保守に工夫が必要
- 9. Copyright © Software Research Associates, Inc. All Rights Reserved
導入までの経緯
• Node-REDを用いたお客様の内製支援環境
• クラウドサービス上のDocker環境
• 環境の立ち上げ、複製、ユーザ管理
• 「仕事を減らすことになる」
• 数人×数ヵ月の実証環境の開発の仕事があった
• 1~2人×数週間でとりあえず動かせる
• 判断
• 「お客様と同じ方向を見る」(アジャイル開発)
• 「適切な費用をもらう」(オープンソース)
• 「新しい技術を取り入れる」(技術志向)
⇒ 積極的に協力
• 結果
• Win-Winの関係が築けた
• ユーザーが増えて仕事が増えた
• 社内にNode-REDを導入
• 効率的な開発を行うことができた
- 10. Copyright © Software Research Associates, Inc. All Rights Reserved
本心
• 面白そう
• 技術者としての興味
• どうせ誰かが作るなら自分たちで作りたい
• 内製には限界があるだろう
• 良いものは広がるはず
• 大切なこと
• お客様のコントロールはできない。協力するだけ
• リスクが少なければ利益も少ないが損はしない
• お客様がリスクを持つので、努力が評価される
• 先行者利益(ノウハウ)が得られる
• 成果
• Node-REDの生産性はすごい
• すぐに動いてとても便利
• 社内でも使わないと損!
• 短期間で多くの知識が得られた
- 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の環境構築と社内導入 –
完