Upgrade to Pro — share decks privately, control downloads, hide ads and more …

doda開発者が語る IoT&サーバレスでビジネスサイド変革に挑戦した話 ~イノベーション観点のダッシュボタン&負債から進化したアーキテクチャ~

techtekt
February 13, 2020
830

 doda開発者が語る IoT&サーバレスでビジネスサイド変革に挑戦した話 ~イノベーション観点のダッシュボタン&負債から進化したアーキテクチャ~

techtekt

February 13, 2020
Tweet

Transcript

  1. doda開発者が語る
    IoT&サーバレスでビジネスサイド変革に挑戦した話
    ~イノベーション観点のダッシュボタン&負債から進化したアーキテクチャ~
    パーソルキャリア株式会社
    シニアコンサルタント
    上源 勇朗 Isao Jogen

    View full-size slide

  2. 2
    自己紹介(1/2)
    パーソルキャリア株式会社
    テクノロジー本部 BITA統括部
    シニアコンサルタント
    上源 勇朗
    Isao Jogen
    2
    職 種 :ビジネスITアーキテクト
    (ITを武器に事業・業務の改善や創造する人材)
    仕事内容:求人メディア、人材紹介サービスを中心に
    事業成長のためのIT活用/高度化や高品質化/
    付加価値創出に従事しています

    View full-size slide

  3. 3
    自己紹介(2/2)

    2003年

    2015年
    エンジニアとしてキャリアをスタート
    大手航空システム開発、ECサイト刷新、HR関連システム開発などを経験
    インテリジェンス(現パーソルキャリア)入社
    doda(転職求人メディア)大規模リニューアルを担当
    ビジネスITアーキテクトのシニアコンサルタントとして
    事業成長のためのIT活用/高度化や高品質化を推進中
    2020年2月

    3

    2017年 doda、an(アルバイト・パート領域の求人メディア)、コーポレートサイトなど
    WEBサイトを中心としたアーキテクチャ改善、DevOps推進などに従事

    View full-size slide

  4. Agenda
    1
    アーキテクチャの負債と進化
    3
    2

    IoT&サーバレス
    まとめ
    会社紹介

    View full-size slide

  5. 6
    パーソルグループについて(1/2)
    派遣・BPO リクルーティング 海外事業 ITO エンジニアリング コンサルティング
    リサーチ/研修/その他
    ✓ 人材派遣
    ✓ アウトソーシング
    ✓ コールセンター
    ✓ 官公庁事業受託
    ✓ 中途採用
    ✓ 新卒採用
    ✓ アルバイト
    ✓ 再就職支援
    ✓ 顧問紹介
    ✓ 中途採用
    ✓ 人材派遣
    ✓ アウトソーシング
    ✓ 人事労務
    コンサルティング
    ✓ 研修
    ✓ 設備施設
    メンテナンス
    ✓ システム
    ソリューション
    ✓ アウトソーシング
    ✓ セールス
    マーケティング
    ✓ コンサルティング
    ✓ RPA
    ✓ 自動車部品設計開発
    ✓ 自動車関連実験認証
    ✓ 航空機関連機器開発
    ✓ 宇宙関連機器開発
    ✓ 産業機械
    ✓ 民生機器開発
    ✓ 映像 / 音響 / 情報関
    連機器開発
    ✓ 電気 / 電子 / 制御ソ
    フト開発
    ✓ モデルベース開発
    (MBD)
    ✓ シンクタンク
    ✓ 人事組織
    コンサルティング
    ✓ タレントマネジメントシ
    ステム
    ✓ 教育 / 研修
    ✓ 障害者採用
    ✓ ベンチャーキャピタル
    ※ 開示上はPROGRAMMEDセグメント、PERSOLKELLYセグメントの2セグメントにて事業展開しています

    6

    View full-size slide

  6. 7
    パーソルグループについて(2/2)
    創業
    1973年
    売上高
    9,258億円
    サービス展開
    12ヵ国・地域 619拠点
    従業員
    45,434名
    時価総額(人材)
    世界7位
    ※※
    ※※※

    ※※※
    ※※※2019年1月時点
    ※2019年3月期
    *2019年9月25日時点の人材サービス事業を行う企業の時価総額
    ※※2019年3月時点 7

    View full-size slide

  7. 8
    パーソルキャリアについて

    View full-size slide

  8. 9
    パーソルキャリアについて(1/3)
    派遣・BPO リクルーティング 海外事業 ITO エンジニアリング
    コンサルティング
    リサーチ/研修/その他
    ✓ 人材派遣
    ✓ アウトソーシング
    ✓ コールセンター
    ✓ 官公庁事業受託
    ✓ 中途採用
    ✓ 新卒採用
    ✓ アルバイト
    ✓ 再就職支援
    ✓ 顧問紹介
    ✓ 中途採用
    ✓ 人材派遣
    ✓ アウトソーシング
    ✓ 人事労務
    コンサルティング
    ✓ 研修
    ✓ 設備施設
    メンテナンス
    ✓ システム
    ソリューション
    ✓ アウトソーシング
    ✓ セールス
    マーケティング
    ✓ コンサルティング
    ✓ RPA
    ✓ 自動車部品設計開発
    ✓ 自動車関連実験認証
    ✓ 航空機関連機器開発
    ✓ 宇宙関連機器開発
    ✓ 産業機械
    ✓ 民生機器開発
    ✓ 映像 / 音響 / 情報関
    連機器開発
    ✓ 電気 / 電子 / 制御ソ
    フト開発
    ✓ モデルベース開発
    (MBD)
    ✓ シンクタンク
    ✓ 人事組織
    コンサルティング
    ✓ タレントマネジメントシ
    ステム
    ✓ 教育 / 研修
    ✓ 障害者採用
    ✓ ベンチャーキャピタル
    ※ 開示上はPROGRAMMEDセグメント、PERSOLKELLYセグメントの2セグメントにて事業展開しています

    9

    View full-size slide

  9. 10
    パーソルキャリアについて(2/3)
    創業 1989年6月
    代表者 峯尾 太郎
    本社 東京都千代田区
    従業員数 5,179名(2019年3月時点)
    資本金 1,127百万円
    10

    View full-size slide

  10. 11
    パーソルキャリアについて(3/3)
    11
    サービスドメイン全体
    派遣以外の「はたらく」をサポートできる企業である

    View full-size slide

  11. 12
    12
    Mission (1/2)

    View full-size slide

  12. 13
    Mission (2/2)
    13

    View full-size slide

  13. 14
    IoT&サーバレス

    View full-size slide

  14. IoT & サーバレスで
    ビジネスサイド変革に挑戦した話

    View full-size slide

  15. どうしたの?
    担当顧客が多すぎて
    時間がない
    困ったね…。。
    架電しても反応がなく
    時間が無くなる
    営業より
    BITA(ビジネス・IT・アーキテクト)統括部に
    相談があった

    View full-size slide

  16. 法人営業の担当は、
    顧客が多すぎて架電や訪問の時間が無い
    インバウントで
    顧客接点
    持ちたい

    View full-size slide

  17. ITドリブンで課題解決に取り組んだ
    ITの力で課題を
    解決しましょう
    わーい

    View full-size slide

  18. このパターン
    そろそろ見飽きてませんか?

    View full-size slide

  19. 苦労話 → 頑張った → 成果
    いたしません

    View full-size slide

  20. 2020 Best IT Award
    Best
    IT
    Award

    View full-size slide

  21. 知識をお持ち帰りいただきます
    実例・知見持ち帰っていただき
    アーキテクチャ設計の一助として活用して欲しい

    View full-size slide

  22. 伝えたいこと
    アーキテクチャの負債と進化
    難易度:
    知 識:負債解消は事業成長のため。 無策で最新化しない。
    IoTダッシュボタンの実例
    難易度:
    知 識:AWSを用いて簡単に構築できる。アナログ業務を支援する。

    View full-size slide

  23. IoTダッシュボタン(実物)

    View full-size slide

  24. 業務の課題







    パーソルキャリア
    営業マン 要






















    業務負担
    お客さま

    View full-size slide

  25. SORACOM
    LTE-M
    (電話回線)
    Lambda
    AWS
    IoT 1-Click
    SNS
    Python言語で
    ボタン押下(ダブルクリック、シングル
    クリック)ごとメッセージ内容など記載
    パーソルキャリア営業マン
    携帯
    ショート
    メール
    ① ダッシュボタンを購入する
    anダッシュボタン
    アーキテクチャ概要
    お客さま
    ➁ 端末ID・ショートメール
    宛先などを登録する
    ➂ ボタン押下時の処理を
    コーディングする
    要望あるよ
    ご要望
    応えます!

    View full-size slide

  26. 作り方(開発リソース)
    ・ エンジニア
    ・ AWS環境
    ・ ダッシュボタン
    (1人月未満 ※1~2年目でもOK)
    (東京リージョン推奨)
    (7,980円/台 )

    View full-size slide

  27. アーキテクチャの詳細 (1/4)

    View full-size slide

  28. アーキテクチャの詳細 (2/4)

    View full-size slide

  29. アーキテクチャの詳細 (3/4)

    View full-size slide

  30. アーキテクチャの詳細 (4/4)

    View full-size slide

  31. ここからは本番稼働させていませんが
    本セッション用にカスタマイズを加えてみました

    View full-size slide

  32. スマホ de 本番リリース
    Api Gateway
    SNS
    ショートメール
    (完了した連絡)
    AWS
    パーソルキャリア営業
    (非エンジニア)
    スグに掲載しますね!
    スマホ(ショートメール)に記載された
    URLをクリックする。
    S3
    (非公開)
    スグに掲載された
    お客さま
    S3
    (公開)
    Lambda
    ※本ページ部分は、実運用していません。
    (デモ用として簡易構築した内容です。)
    エンジニアじゃないのに
    すごーい♪

    View full-size slide

  33. デモンストレーション

    View full-size slide

  34. 開発のポイント
    1.IoT端末購入
    AWS IoTを利用(端末登録)するとLambda、CloudWatch、SNSが設定されます。
    SNS宛先を登録すればスグに利用可能です。サーバレス&従量課金のため安価・安全です。
    2.カスタマイズ
    ボタン押下(ダブルクリック、シングルクリック、長押し)
    それぞれ処理を分けれます。
    Lambdaは好きな言語
    (COBOLも可能)で処理を記載しましょう!
    簡単なPythonなら
    初めてでも楽に書けます。

    View full-size slide

  35. 効果
    1.利用率
    導入企業の半数以上が利用し成約に至った。
    2.業務改善
    インバウンド顧客接点ができ業務効率化に繋がった。
    但し、諸般の事象により、利用促進や追加改善などを検討するまでには至らなかった。
    高齢社会、スマホの高機能化などにより、ITリテラシーの格差が発生してくると考えられる。
    その課題を埋めるツールとしてのポテンシャルを感じた。
    その他

    View full-size slide

  36. 37
    アーキテクチャの負債と進化

    View full-size slide

  37. 突然ですが
    新規機能・サービスは新技術で開発できているのに
    既存システムのアーキテクチャに、さまざまな負債を蓄積させていませんか?

    View full-size slide

  38. アーキ進化するための
    思考ポイントをご紹介させていただきます
    ご検討の一助となれば幸いです

    View full-size slide

  39. 思考ポイント
    1.闇雲に最新化はNG!
    ビジネスへの影響や改善する際の投資効果の高いものから優先的に実施する。
    2.アーキ進化だけではNG!
    アーキ進化だけでなく、エンジニア進化/コスト などリリース後の開発/運用も考慮する。
    3.単発の改革はNG!
    負債が発生する構造/ポイントを把握し、負債を生まない仕組みも検討する。

    View full-size slide

  40. 参考:QCD課題整理
    テスト駆動
    & ドキュメント整備
    リリース自動化
    & Git管理
    解決手段
    システムリフォーム
    工程
    課題
    (主なものを抜粋)
    設計
    既存仕様書が最新化されておらず、調査に時間がかかる
    ソースコードが煩雑であり、影響範囲が多岐にわたる
    製造
    コーディング規約が遵守されずレビュー工数増加
    システム間が蜜結合のためソース競合し易く並行開発し難い
    使用技術が不適切・種類が多すぎため開発し難い
    フレームワークが古く、キャッシュ化など簡易的に行えない
    設計思想に則らない実装があり、処理概要の理解が難しい
    テスト
    手動かつ効率が悪いテストがある
    テストケースに抜け漏れがある
    運用
    保守
    リリース手順が煩雑で準備に時間がかかる
    手動で行うリリース作業が多く頻繁にリリース作業し難い
    リファクタリング
    ※記載内容はサンプルです。

    View full-size slide

  41. 参考:追加課題の整理
    要因種別 抽出件数 課題詳細 対策傾向
    品質過多 21
    品質を高めるためか簡単な案件も要件確認書など資料
    作成やレビューを開発側で実施しているが、案件のスピード感を損ねて
    いる要因になっている。また承認フローにおいて、登場人物が多く調整に
    時間がかかっている。
    開発工程、承認フローを省略する。それによる品質劣化を考慮し、
    テスト駆動など、別の箇所で担保する。
    手動実行 9
    レビューやテスト、リリースを手動で行っている。手動で行っているため、品
    質を保つための確認工程も必要になっている。
    静的解析ツール、CI環境構築、リリース自動化など、ツールを活用
    した自動化を行う。
    環境不足 3
    開発環境を複数PJTで共有しているため、調整やデグレなどの
    事故が起こりやすい。
    開発環境を増やし、占有環境を用意する。
    リモート開発 5
    ベンダによる自社開発ではDEV環境に直接アクセスできないため、ベンダ
    社内で別々に環境を用意する必要がある。また整合性を保つために余
    計な作業が発生する。
    クラウド上にセキュアなリモート構築し直接アクセスを可能とする。
    構成管理 4設計書のコミットルールなど、申請が必要なため待ち状態が発生する。 構成管理ルールやツール導入する。
    その他 33
    生産性指標など開発フロー以外に関するもの。また個人のスキルなどに
    左右されるもの。
    一部を除いて保有と判断。
    合計 71
    ※記載内容はサンプルです。

    View full-size slide

  42. 参考:課題の全体整理
    課題 ビジネス影響/実害 ToBe ToBe詳細 投資効果
    Seasar2を使っている。 サポート切れ javaの新しいフレームワークへ移行する。 改修頻度が高いため、生産性向
    上の恩恵が大きい。セキュリティリス
    クが改善される。

    セキュリティ対応として
    必須
    Struts2を使っている。 生産性の低下 Spring Bootなどのjavaの新しいフレー
    ムワークへ移行する。
    改修頻度が高いため、生産性向
    上の恩恵が大きい。 ○
    機能ごとにフレームワーク・開発
    環境が異なる。
    学習コストが二重に発生する。
    共通クラスなども別々に持っているため、
    改修が二重に発生
    フロントのフレームワークや共通クラスを
    統一し、開発環境を1つにする。
    ※デプロイ時にwarを2つに分けてサー
    バーには無駄なく配置できるように設計
    する。
    改修頻度が高いため、生産性向
    上の恩恵が大きい。

    MVCで分離できていない。 フロントとロジック層が分離できていない
    ため、作業効率が悪い。
    APIを作成し、順次各画面からAPIを
    参照するように作り替えていく。
    ※サービスの根幹になる部分のため
    あまり改修がなく、生産性向上の
    恩恵を受けにくい。
    ※外部公開されない領域のためセ
    キュリティリスクは低い。

    SVN 生産性の低下。
    マージミスなどバグ内在の温床にもなる。
    Gitに変更する。 ブランチ戦略を策定し運用で混乱
    が発生しないようにする。 ×
    ※記載内容はサンプルです。

    View full-size slide

  43. 参考:進め方の整理
    ※記載内容はサンプルです。
    Step1
    リファクタリング
    全体像を把握する意味も
    含め以下を行う
    ・簡易リファクタリング
    ・不要ロジック削除
    ・静的解析エラー解消
    2018年度6月~
    JAVA7
    JSP/Mayaa
    S2
    JAVA7
    JSP/Mayaa
    S2
    Step2
    プロトタイプ
    実装方式
    (FW選定、テンプレートエ
    ンジン選定など)
    プロトタイプ構築を通して
    決定する
    2018年度6月~
    JAVA7
    JSP/Mayaa
    S2
    JAVA7
    JSP/Mayaa
    S2
    Step3
    フロントエンド改善
    応募機能かつ1サーバに
    絞って修正/リリース
    問題ないようであれば
    全サービスに適用する
    2018年度6月~
    JAVA7
    JSP/Mayaa
    S2
    JAVA7
    Thymeleaf
    S2
    Step4
    リフォーム完了
    バックエンド含め
    フレームワーク切替完了
    2019年度XX月~
    JAVA7
    Thymeleaf
    S2
    JAVA11
    Thymeleaf
    Spring

    View full-size slide

  44. 参考:進め方
    テーマ タスク xx年度 xx年度
    Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
    サービス品質の改善
    ミドルウェア系
    バージョンアップ
    FW刷新
    WAF導入
    開発効率・
    品質向上
    仕組みの改善 Git導入
    APM導入
    人・組織・文化
    プロセスの改善
    DevOps
    スクラム/アジャイル
    開発導入
    運用効率・品質向上 リリース自動化
    APM導入
    ※記載内容はサンプルです。

    View full-size slide

  45. 最後はマインド
    時には
    経営層/承認者からの理解が得られない場合があります
    より良いシステムを提供するために
    強い意思を持って負債に挑む
    必要があります

    View full-size slide

  46. 効果(一例)
    FirstView 約5.1秒 (total:7.61秒)
    新doda 旧DODA
    FirstView 約0.6秒 (total:2.94秒)


    2020/1/16時点
    まだ
    表示されない

    View full-size slide

  47. start
    もう一度見てください!
    1
    2
    3
    新doda 旧DODA
    2020/1/16時点
    FirstView 約0.6秒 (total:2.94秒) FirstView 約5.1秒 (total:7.61秒)

    View full-size slide

  48. もう一度見てください!
    新doda 旧DODA
    2020/1/16時点


    FirstView 約5.1秒 (total:7.61秒)
    FirstView 約0.6秒 (total:2.94秒)
    まだ
    表示されない

    View full-size slide

  49. Java7
    Tomcat7
    Strut
    Seasar2
    svn
    手動リリース
    手動テスト
    仮想基盤
    ウォーターフォール開発
    モノリシックな
    アプリケーション
    昔ながらの
    クラサバ構成
    IoT活用
    AI活用
    ブロックチェーン活用
    ITと事業の
    進化
    Java8
    Tomcat8
    Spring
    Git
    自動リリース
    自動テスト
    クラウド活用
    (仮想とハイブリッド)
    スクラム・アジャイル
    開発
    マイクロサービス化
    ※対応中
    サーバレス
    /コンテナ活用
    (一部)

    View full-size slide

  50. 伝えたいこと (※再掲)
    アーキテクチャの負債と進化
    難易度:
    知 識:負債解消は事業成長のため。 無策で最新化しない。
    IoTダッシュボタンの実例
    難易度:
    知 識:AWSを用いて簡単に構築できる。アナログ業務の支援として期待できる。

    View full-size slide

  51. 53
    みんなの「はたらく」をテックでつくる 人々とテクノロジーがつながる場

    View full-size slide

  52. ご清聴ありがとうございました

    View full-size slide