クラウド型電子カルテシステムと Microservices への歩み

07b02dd38e4e3a53caf0e528e3bc9e6c?s=47 Ryo Kato
January 18, 2018

クラウド型電子カルテシステムと Microservices への歩み

LT @Microservices Meetup vol.6 https://microservices-meetup.connpass.com/event/75332/

See also: ScalaMatsuri 2018 3/17 13:15-13:25『Scalaでの部分的な関数型プログラミング』http://2018.scalamatsuri.org/#day1

07b02dd38e4e3a53caf0e528e3bc9e6c?s=128

Ryo Kato

January 18, 2018
Tweet

Transcript

  1. Copyright © 2018 M3, Inc. All Rights Reserved クラウド型電子カルテシステムと Microservices

    への歩み LT @Microservices Meetup vol.6 加藤 諒(エムスリー株式会社)
  2. サービス概要 クラウド型電子カルテシステム - クラウド: AWSを用いて構築(大手はオンプレ) - 電子カルテ: 患者情報の入力・会計機能 - 症状・処方した医薬品名などを入力

    - その日に患者が支払う金額を計算 - 医師が過去に入力したデータから 医薬品などを事前にレコメンド => ほぼクリックだけでカルテが完成
  3. サービスアーキテクチャ概要 ・レコメンド ・会計 常時接続 WebSocket メイン ロジック クリニック内

  4. サービスアーキテクチャ概要 ・レコメンド ・会計 常時接続 WebSocket メイン ロジック クリニック内 よくありがちな web

    アプリ
  5. 今日のトピック ・レコメンド ・会計 メイン ロジック HTTP & JSON Faraday gem

    チョット Microservices な構成が どのように生まれてきたか
  6. ファーストリリース前 レコメンド メイン ロジック

  7. ファーストリリース前 レコメンド メイン ロジック 一般論: 良いユーザ体験をもたらす レコメンド機能の実装には 十分多量のデータ処理が必要

  8. ファーストリリース前 レコメンド メイン ロジック フィールドテストの初期段階で 重すぎる処理・応答速度が発生

  9. ファーストリリース前 レコメンド メイン ロジック Thread を利用した 待ち合わせ処理に転換 Rails + Thread

    の結果 - autoload 壊れる - Concern 壊れる - バージョンアップへの負債
  10. ファーストリリース前 レコメンド メイン ロジック レコメンド機能に専念する 別アプリケーションとして 分離することに

  11. ファーストリリース前 メイン ロジック HTTP & JSON Faraday gem レコメンド JVM

    上でスレッドを使う アプリケーションを Scala + Skinny Framework で実装
  12. ファーストリリース メイン ロジック HTTP & JSON Faraday gem レコメンド 速い応答速度・良いユーザ体験

    キラー機能・ビジネスにも貢献 良いユーザ体験を実現するため Microservices 的になった
  13. 会計機能リリース前 メイン ロジック HTTP & JSON Faraday gem レコメンド 会計は「金銭の発生する計算」

    - 関数型のアプローチ - 保守性の高い言語・技術を使 いたい - 尖った新技術に挑戦したい
  14. 会計機能リリース前 メイン ロジック HTTP & JSON Faraday gem レコメンド Scala

    + Cats による実装を 別エンドポイントとして追加 Cats: Scala の関数型ライブラリ Scala + Cats の開発に関しては同僚が ScalaMatsuri 2018 (3/17 13:15-13:25) で登壇
  15. 会計機能リリース前 メイン ロジック HTTP & JSON Faraday gem Scala +

    Cats による実装を 別エンドポイントとして追加 Cats: Scala の関数型ライブラリ Scala + Cats の開発に関しては同僚が ScalaMatsuri 2018 (3/17 13:15-13:25) で登壇 ・レコメンド ・会計
  16. 会計機能リリース メイン ロジック HTTP & JSON Faraday gem - 保守性の高い言語・技術

    - 尖った新技術への挑戦 - 現在も安定稼働 ・レコメンド ・会計 Microservices 的な構成により 技術選択の幅が広がった
  17. 今後の展望 ・レコメンド ・会計 常時接続 WebSocket メイン ロジック クリニック内 EC2 のコンテナ化(ECS

    など) - 運用の時間的コスト削減 - ちなみに社内別サービスでは Elastic Beanstalk の運用実績
  18. まとめ - Monolithic => チョット Microservices へ - Microservices は原理主義的にこだわらずとも

    十分にメリットのある技術選択肢 - Microservices による適材適所の技術選択で 良いユーザ体験・ビジネスにも貢献 - Microservices によりエンジニアの伸び代が作れる