狠狠撸

狠狠撸Share a Scribd company logo
Copyright ? Software Research Associates, Inc. All Rights Reserved
株式会社 SRA
阪井 誠
#devsumiB
新技術で未来の扉を開け!
- Node-REDの環境構築と社内導入 -
セッションID(B-5)
Copyright ? Software Research Associates, Inc. All Rights Reserved 1
自己紹介
? 阪井 誠 (株式会社SRA 関西事業部)
? Node-RED User Group Japan
? ソフトウェア技術者協会(SEA)
? ソフトウェアプロセス、Node-RED、チケット駆動
開発、アジャイル開発に興味を持つ。
? デブサミ講演は3回目。
? 1984年にSRAに入社して以来、UNIXをはじめとし
て、ソフトウェアプロセス、IoTなど、常に新しい
技術と向き合ってきた。
? 技術者にとって新しい技術への挑戦は、苦しみを伴
いますが、喜びであり、身を守る術だと思っていま
す。
Copyright ? Software Research Associates, Inc. All Rights Reserved
Node-REDを知っていますか?
?知っている人
?使ったことがある人
?バリバリ使っている人
Copyright ? Software Research Associates, Inc. All Rights Reserved
Node-REDを知っていますか?
? 線でつなぐ初心者向け?
? Node.jsだからサーバー?
? ラズパイだけ?
? Javascriptって面倒でしょ?
? 標準/フリーのモジュール(ノード)があるほか、
Node.jsのライブラリも使えて機能が豊富
? サーバーアプリはもちろん、クライアントアプリ
でも高性能
? IoTはもちろん、様々な業務で利用可能
? Visualに非同期処理が簡単に扱える
? 生産性が高い
Copyright ? Software Research Associates, Inc. All Rights Reserved 4
目次
? Node-REDを知ってますか
? 目次
? Node-RED
? いきさつ
? 考えたこと
? 開発した環境
? 社内導入
? アンケート
? 考察
? まとめ
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/
Copyright ? Software Research Associates, Inc. All Rights Reserved 6
インクリメンタルな開発
? Hello Worldの入出力のノードを置き換えるだけで
Webプログラムになる
一瞬でデプロイ
非同期処理を
可視化 簡単デバッグ
多機能なノード群
簡単デバッグ
Copyright ? Software Research Associates, Inc. All Rights Reserved
Node-REDの長所?短所
長所:生産性が高い
? 高速な非同期処理が簡単に扱える
? アルゴリズムが可視化され
? 多機能なノード(モジュール)
? デプロイが一瞬
? 再利用が容易(インポート、エクスポート、サブフロー)
短所:工夫が必要
? 単体テストの自動化ができない
? 発展途上(1.0まであと少し)
? 方式設計が重要
? ループが特殊
? マージ?保守に工夫が必要
Copyright ? Software Research Associates, Inc. All Rights Reserved
導入までの経緯
? Node-REDを用いたお客様の内製支援環境
? クラウドサービス上のDocker環境
? 環境の立ち上げ、複製、ユーザ管理
? 「仕事を減らすことになる」
? 数人×数ヵ月の実証環境の開発の仕事があった
? 1~2人×数週間でとりあえず動かせる
? 判断
? 「お客様と同じ方向を見る」(アジャイル開発)
? 「適切な費用をもらう」(オープンソース)
? 「新しい技術を取り入れる」(技術志向)
? 積極的に協力
? 結果
? Win-Winの関係が築けた
? ユーザーが増えて仕事が増えた
? 社内にNode-REDを導入
? 効率的な開発を行うことができた
Copyright ? Software Research Associates, Inc. All Rights Reserved
本心
? 面白そう
? 技術者としての興味
? どうせ誰かが作るなら自分たちで作りたい
? 内製には限界があるだろう
? 良いものは広がるはず
? 大切なこと
? お客様のコントロールはできない。協力するだけ
? リスクが少なければ利益も少ないが損はしない
? お客様がリスクを持つので、努力が評価される
? 先行者利益(ノウハウ)が得られる
? 成果
? Node-REDの生産性はすごい
? すぐに動いてとても便利
? 社内でも使わないと損!
? 短期間で多くの知識が得られた
Copyright ? Software Research Associates, Inc. All Rights Reserved
社内への導入
? Node-REDを社内のリーダーにそそのかし
勧めた
? プロトタイプ
? テストダブル(ドライバ,モック,スタブ)
? 自社パッケージ
? ユーティリティなど
? Node-REDの紹介方法
? 生産性が高い
? 非同期処理なので性能が高い
? 敷居が低い
Copyright ? Software Research Associates, Inc. All Rights Reserved
アンケート
? Node-REDの経験者8人にアンケートを行った.
? 社内サービス、プロトタイプ、テストダブル、
自社パッケージ、ユーティリティなど
? 全てのプロジェクトはいわゆるウォーターフォール
型開発の工程を持っていた
? 程度の差はあるが厳格な工程完了審査は行われていない
? メールでQCDとプロセスの変化をアンケートした
? 品質,コスト, 開発期間:4段階の選択式(重複選択
可)の評価と自由記述
? 要件定義,設計,プログラミング,テスト,リリースの
変化:自由記述
Copyright ? Software Research Associates, Inc. All Rights Reserved
QCDアンケート結果 - 品質 -
? サクサクと実装,実行,確認?修整の作ってのループが良かった
? 内製にこだわるよりも品質が良い
? コード量が減った
? 試作に有効
? 非同期処理が容易(当時のnode,jsはpromiseしかなかった)
? フローを意識してシンプルな作りになった
? 単体テストができない
? コード検索ができないのでバグが見つけにくい(今はできます)
Copyright ? Software Research Associates, Inc. All Rights Reserved
QCDアンケート結果 – コスト -
? 非同期処理が容易
? 高機能なコンポーネントが多い
? 設計からテストまでシームレスにでき効率が良い
? 処理部に注力できた
? diffが取れない(今はちょっとましに)
? ドキュメントが少ない
? 必要なノードを探すのに時間がかかった
? 繰り返し処理に苦労した
Copyright ? Software Research Associates, Inc. All Rights Reserved
QCDアンケート結果 - 納期 -
? 非同期処理が容易
? カスタムノード作成で効率化できた
? 開発のスピード感が半端ない
? 他人のフローを簡単にインポート可
? 実装にいきなり入れる
? 効率よく開発できる
? 大きな手戻りがなかった
? 自作部分の作りで効率や保守性が変わる
? ドキュメントが少ない
? 品質の悪いノードがあった(貢献できます!)
? 必要なノードを探すのに時間がかかった
Copyright ? Software Research Associates, Inc. All Rights Reserved
プロセスの変化 – ポジティブ -
? プロトタイプが早くできると説明も早く,意見を貰いやすい
? 曖昧な要求でもとりあえず作り始めることができる
? 作ったものから要件を確定していくことが可能
? 大まかな処理の流れをすぐにフローとして実装可能
? 設計とプログラミングのイテレーションが容易
? Injectノードとデバッグノードでの確認も容易
? ほんの少数のファイルをリリースするだけでよく,管理しやすい
? ユニットテストはカスタムフローやAPI単位しかできないが,不安は少なかった
? コード管理だけ課題???完成した開発環境になればすばらしいものになりそう
? (保守は)基本的に容易だが,開発環境を残さないと詳細を確認し辛かった
設計以降の問題を
指摘しながらも,
好意的な表現
Copyright ? Software Research Associates, Inc. All Rights Reserved
プロセスの変化 – ネガティブ -
? 単体テストをどのように行うのかわかりませんでした
? 複数人数での開発が少し手間取る
? 外部リソースの設定が外だしに出来ず,リリース後にとても煩わしかった
? Node-REDの癖にあわせた設計は必要.設計次第
? 簡単な反面,リリース後の不具合も増える可能性がある
? コード全体の検索が出来ないため,複雑なシステムは保守しにくくなる
上流のプロセスに変
化がないとしていた.
Node-RED流の開発
スタイルをつかみ切
れていない
バージョンアップで
解決された課題も
Copyright ? Software Research Associates, Inc. All Rights Reserved
考察
Node-REDの導入に重要なこと
? ツールの知識やノウハウを共有すること
? 特性を活かした設計で品質を作りこむこと
? 実装を繰り返して常に確認すること
? 上流から利用すること
情報共有や教育が重要であるだけでなく,
既存のプロセスをそのまま適用するのではなく,
積極的に変更することがプロセス改善につながる
Copyright ? Software Research Associates, Inc. All Rights Reserved
おわりに
? Node-RED最高!
? 思った通りに作れる
? 思った通りに実装できる(Ruby以来の感動)
? 生産性が高い
? 新しい技術を避けてはいけない
? いずれ誰かがやる
? 貴重な経験ができる
? 小さく始めれば外しても被害は少ない
? 良い技術ならマーケットは後からついてくる
? 先行者利益が得よう!
? 良いものなら開発用に使え!
? 自ら広げればよい!
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.
? 怖がりのペンギンは群れで行動し、飛び込まない
? 最初に飛び込むは勇者ファーストペンギンと称賛される
? 勇気を出して新技術のブルーオーシャンに飛び込もう!
Copyright ? Software Research Associates, Inc. All Rights Reserved 20
プラトンは著書『ラケス』において、
ソクラテスによる"勇気"の考察を紹介している 。
勇気とは、
「恐るべきものと恐るべからざるものとを
識別することなり」
https://ja.wikipedia.org/wiki/%E5%8B%87%E6%B0%97
飛び込む勇気
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のほか、、)
飛び込む勇気
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関西でお会いしましょう
Copyright ? Software Research Associates, Inc. All Rights Reserved 23
新技術で未来の扉を開け!
- Node-REDの環境構築と社内導入 –
完

More Related Content

新技術で未来の扉を開け! - 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の環境構築と社内導入 – 完