Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
保険クラウド Inspire の裏側 / Fin-JAWS 2021_01_25
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
toshipon
January 25, 2021
Technology
1.1k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
保険クラウド Inspire の裏側 / Fin-JAWS 2021_01_25
https://fin-jaws.connpass.com/event/201118/
にてお話した発表資料です
toshipon
January 25, 2021
Other Decks in Technology
See All in Technology
スキルと MCP ツール、責務をどう分けるか? AI が迷わないインターフェース設計の戦略
cdataj
1
1k
FDE という解 ― 暗黙知と明示知をつなぐ、伴走型エンジニアリング ―
otanet
0
150
2026TECHFRESH畢業分享會 - 葬送的通靈師:化系統與用戶雜訊成行動訊號
line_developers_tw
PRO
0
960
2026 TECHFRESH 畢業分享會 - 開發日常大解密!從領域驅動到企業級上線
line_developers_tw
PRO
0
960
連合学習と機密コンピューティング
lycorptech_jp
PRO
0
110
非エンジニアがClaudeと挑んだ「1ヶ月間プロダクト30本ノック」
askokc
0
470
MUSUBI 田中裕一『AIと共に行う「しごとのリデザイン」- スモールバックオフィス編』AI Ops Lab #4
musubi
0
130
SONiCの統計情報を取得したい
sonic
0
140
あなたの AI ワークスペースに、 専門コーダーを連れてくる - Amazon Quick Desktop 最新情報
kawaji_scratch
1
130
EventBridge Connection
_kensh
5
710
やさしいA2A入門
minorun365
PRO
12
1.8k
Disciplined Vibes: Scaling AI-Assisted Engineering
sheharyar
0
140
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
1
480
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
330
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
360
Faster Mobile Websites
deanohume
310
31k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
200
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
380
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
970
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
220
Transcript
保険クラウド Inspire の裏側 2020/01/25 Fin-JAWS 第18回 ~ Insurance world ~
Finatext Holdings Ltd. @toshipon
Copyright © FINATEXT. All rights Reserved. 1 今日お話する内容 ✅ Inspire
と取り扱う保険商品がどんな技術スタック、 インフラ構成で運用されているか ✅ 保険クラウド Inspire の開発チームでの取り組みの話 会社全体で取り組んでいる、 AWS リソースをセキュアに扱う等のプラットフォーム寄りの話は今回しません ♂
Copyright © FINATEXT. All rights Reserved. 2 自己紹介 Takahashi Toshiaki
@toshipon ( 2020/08〜 Finatext ) • 最近はサーバーサイド(Go)・インフラ寄り • AWS歴は 3年半ぐらい ◦ ( フロントエンド採用だったのに ..) 仮想通貨取引所でSRE業から始まる ◦ terraform + ECS, EKS 構築をよくやります • フロントエンド( React.js, Vue.js ) もやります • 鎌倉在住、子育てしながらリモートで働いてます • 趣味はコーヒー ☕
Copyright © FINATEXT. All rights Reserved. 3 会社紹介 Finatext Holdings
Ltd. • 『金融を「サービス」として再発明する』 • 証券ビジネスプラットフォーム「BaaS (Brokerage as a Service)」 ◦ ずーっと手数料無料のコミュニティ型株取引アプリ「STREAM」 ◦ 日本株だけのポートフォリオで資産運用「Wealth Wing」 • 保険プラットフォーム「Inspire (Insurance as a Service)」 ◦ 産前から産後まで、妊婦さんの困りごとにきめ細かく寄り添うミニ保険「母子保 険はぐ」
Copyright © FINATEXT. All rights Reserved. 4 Agenda • サービス紹介
◦ 保険クラウドInspireの紹介 ◦ 母子保険はぐの紹介 • 保険クラウド Inspire の裏側 ◦ メンバー構成 ◦ 技術スタック・インフラ構成と背景 ◦ 直近の取り組み • 今後の取り組みについて
Copyright © FINATEXT. All rights Reserved. 5 Agenda • サービス紹介
◦ 保険クラウドInspireの紹介 ◦ 母子保険はぐの紹介 • 保険クラウド Inspire の裏側 ◦ メンバー構成 ◦ 技術スタック・インフラ構成と背景 ◦ 直近の取り組み • 今後の取り組みについて
Copyright © FINATEXT. All rights Reserved. 6 サービス紹介 • 保険クラウド
「Inspire」 ◦ リード構築、契約申込受付、契約保全、保険金請求受付といった顧 客接点だけでなく、 ◦ 保険会社や代理店側の業務オペレーションもオンライン上でスマー トに完結することができるクラウドサービス ◦ 少額短期保険、損害保険、生命保険など様々な保険に対応 ◦ 低初期費用+従量課金型でスモールスタートで保険事業を開始でき る ◦ 組み込み型金融サービスの実現 ▪ 自社で保険事業を持たずとも簡単にサービスに保険商品を組み込める
Copyright © FINATEXT. All rights Reserved. 7 サービス紹介
Copyright © FINATEXT. All rights Reserved. 8 サービス紹介 契約情報詳細 聴取項目の編集画面
Inspire 管理画面
Copyright © FINATEXT. All rights Reserved. 9 サービス紹介 • 母子保険はぐ
◦ 子会社 ( スマートプラスSSI ) が提供する妊婦さんのための保険 ◦ 「産後うつ」など、出産・産後の不安にまつわる保障 ◦ 特徴 ▪ スマホで申込み・保険金請求が完結 ▪ 妊娠中・出産後で保障が切り替わる ▪ とにかくシンプルなユーザー体験で保険申込みが可能
Copyright © FINATEXT. All rights Reserved. 10 Agenda • サービス紹介
◦ 保険クラウドInspireの紹介 ◦ 母子保険はぐの紹介 • 保険クラウド Inspire の裏側 ◦ メンバー構成 ◦ 技術スタック・インフラ構成と背景 ◦ 直近の取り組み • 今後の取り組みについて
Copyright © FINATEXT. All rights Reserved. 11 メンバー構成 2021/01 現在
保険チーム ( フルタイム ) • バックエンド: 2名〜 ( インフラ兼任 ) • フロント: 2名〜 ( 2021/01 に1名join ) サポートメンバー • Platform team: 1名 ( インフラの足回り、セキュリティまわり ) • 業務委託: 1-3名 ( 週1-3稼働 ) 参考: Inspire API の開発状況
Copyright © FINATEXT. All rights Reserved. 12 技術スタック・インフラ構成と背景
Copyright © FINATEXT. All rights Reserved. 13 技術スタック・インフラ構成と背景 バックエンドの技術スタック Inspire
◦ Go + echo ◦ ECS Fargate + Aurora MySQL で構成 ◦ batch 処理は ECS Scheduled Task で運用 BFF サーバー ◦ Inspire API を叩いてフロントのUXに沿ったAPI生やした中継サーバー ◦ Go + echo ◦ ECS Fargate ◦ 連携システムが存在したり、商品性によってデータストアを保持
Copyright © FINATEXT. All rights Reserved. 14 技術スタック・インフラ構成と背景 フロントエンドの技術スタック •
Amplify • Vue.js を Hosting ◦ TypeScript ◦ Pug + Sass ◦ MPA ( Multi Page Application ) ◦ Composition-api ◦ Sentry でエラートラッキング Vue.js の細かな設計については ぼくのかんがえたさいきょうのVueあーきてくちゃ を参照ください
Copyright © FINATEXT. All rights Reserved. 15 技術スタック・インフラ構成と背景 CI/CD •
全社で共通のリリースパイプラインを構築 • CodePipeline + CodeBuild で ECS自動デプロイ • GitOps ( code push ) で CI/CD をキック Infrastructure as Code • AWSリソースはすべて Terraform で管理 監視・モニタリング • Datadog, opsgenie を活用 • Datadog の設定も Terraform で管理 詳しくは過去の発表スライド・ブログを参照ください • 金融スタートアップにおける セキュアなAWSの運用 - SpeakerDeck • 金融スタートアップにおけるコンテナ・ ECSの活用事例 - SpeakerDeck • 次世代デジタル保険を支える監視・通知の技術 | Finatext | Medium
Copyright © FINATEXT. All rights Reserved. 16 技術スタック・インフラ構成と背景 Inspire の設計思想とか
モジュラモノリスが基本 • コードベースはひとつだけど、コンポーネント間の依存関係をもたない • 各ドメイン(ユーザー・契約・請求・支払い)は実務に応じて潜在的に依存が”ありそう”なので • ただし明らかに分離可能で独立したドメインはサービスとして切り出す • 例) 管理画面はオペレーター・ロール管理機能をもったサービスとして分離 APIの設計 • 契約に至る手順をすべてAPIでオープンにしている • 「申し込み」や「解約」といったビジネスロジックは API 側で状態や制御を厳格に管理 • 告知や聴取項目の入力等の申込みに至るフローは保険商品によって異なるため • ドメイン駆動設計を採用して、値オブジェクト、ドメインサービスによって保険業務の複雑さを吸収 • テストは Unit tests + Postman (Newman) で E2E によるテスト, シナリオベースのテストで品質担保 • API 仕様はすべて Swagger で管理 ( すごい量 )
Copyright © FINATEXT. All rights Reserved. 17 技術スタック・インフラ構成と背景 Inspire の設計思想とか
BFFサーバーを実験場として活用する • 個社に依存する業務や定義を吸収する中継サーバー ◦ 例) 契約の異動・更改の定義は保険会社によって違う • 自社(母子保険はぐ)のBFFサーバー では試験的な実装を許容する • 機能性によっては Inspire API 本体に取り込むようなサイクルを回す ◦ 例) 顧客通知系機能, 履歴管理系機能
Copyright © FINATEXT. All rights Reserved. 18 直近の取り組みについて フロントのテンプレート化 •
フロントのコンポーネントは保険商品固有の実装をもたない ◦ 見積もり、契約申込み、保険金請求 ◦ マイページ ( 顧客の契約情報管理 ) • API から受け取る商品・聴取項目のJSONメタデータからフォームを生成 • シンプルな保険商品であれば3日で申込みフォームが作れる ◦ 必要なものは Inspire 上で商品登録 ( 特約・保障・聴取項目 ) ◦ 料金テーブルの登録 ◦ LPの作成だけ
Copyright © FINATEXT. All rights Reserved. 19 直近の取り組みについて 環境変数をアプリケーションコードと一緒に git
管理する • 課題: 環境変数を Terraform 管理下で ECS task-definition + SSM を使って運用 ◦ デプロイサイクルがアプリケーションコードと同期的にではないので手間 ◦ 環境変数を更新後 ECS task を手で更新していた • 環境変数を mozilla/sops を使って暗号化して • アプリケーションコードと同じ github repository で管理する • 暗号化には AWS KMS を利用 • デプロイのタイミングで Codebuild で復号してS3 にバージョン管理してアップロード • ECS Fargate で envionmentFiles に S3 Object path を指定 • 環境変数の編集は sops コマンド経由で実施
Copyright © FINATEXT. All rights Reserved. 20 直近の取り組みについて swagger-merger で巨大な
Swagger ファイルを管理 • 課題: Inspire API の Swagger YAML ファイルだけで 7000行ぐらいあってメンテが大 変だった ◦ ファイルを分割して $ref Syntax を使ってファイル参照できるようにしたい ◦ ただし API 仕様を確認する時は1つのファイルで閲覧したい • swagger-ui と swagger-merger を docker-compose で走らせながら編集する ◦ まず Swagger ファイルの paths, schema, parametersの定義をファイル分割 ◦ swagger-ui でyamlファイルを編集しながら、プレビューを確認 ◦ swagger-merger で yaml ファイルの編集をwatch して統合したファイルを編集の 都度生成する ◦ 編集後、個別のyaml ファイルと統合されたyamlファイルをgithub管理
Copyright © FINATEXT. All rights Reserved. 21 直近の取り組みについて 参考: swagger-merger
を docker-compose で走らせる
Copyright © FINATEXT. All rights Reserved. 22 Agenda • サービス紹介
◦ 保険クラウドInspireの紹介 ◦ 母子保険はぐの紹介 • 保険クラウド Inspire の裏側 ◦ メンバー構成 ◦ 技術スタック・インフラ構成と背景 ◦ 直近の取り組み • 今後の取り組みについて
Copyright © FINATEXT. All rights Reserved. 23 今後の取り組みについて 短期間・低コストで柔軟なシステム導入をめざして •
管理画面の Aurora MySQL を Serverless化したい ◦ 管理画面用のDBで扱っているデータはほぼユーザー、ロール情報のみ ◦ 利用時間帯が限られるので無駄が多い ◦ Aurora Serverless で必要な時間帯のみ稼働させたい ◦ Aurora Serverless v2 (preview) が 2020/12 発表された ▪ Multi A-Z サポート ▪ Read Replica サポート ▪ まだ us-east-1 リージョンのみ ◦ あるいは扱うデータの性質上、DynamoDB でもよさそう
Copyright © FINATEXT. All rights Reserved. 24 さいごに • 質問・ご意見歓迎です
• 個別のご質問があれば @toshipon 宛にご連絡ください • 資料のURLもTwitterで共有いたします • Finatext では一緒に働く仲間を募集中です • https://hd.finatext.com/recruit/
Copyright © FINATEXT. All rights Reserved. 25