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

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

Ryo Sakuma
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

Ryo Sakuma

January 18, 2018
Tweet

More Decks by Ryo Sakuma

Other Decks in Technology

Transcript

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

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

    - その日に患者が支払う金額を計算 - 医師が過去に入力したデータから 医薬品などを事前にレコメンド => ほぼクリックだけでカルテが完成
  3. 今日のトピック ・レコメンド ・会計 メイン ロジック HTTP & JSON Faraday gem

    チョット Microservices な構成が どのように生まれてきたか
  4. ファーストリリース前 レコメンド メイン ロジック Thread を利用した 待ち合わせ処理に転換 Rails + Thread

    の結果 - autoload 壊れる - Concern 壊れる - バージョンアップへの負債
  5. ファーストリリース前 メイン ロジック HTTP & JSON Faraday gem レコメンド JVM

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

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

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

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

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

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

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

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