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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
toshipon
January 25, 2021
Technology
1.2k
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
実装だけじゃない! CCA-F取得エンジニアが教えるClaude Code開発プロセス活用術
diggymo
2
430
Docker Desktop不要の時代が来る? WSL標準の「wslc」で Linuxコンテナを動かしてみた.
ueponx
0
800
Amazon EVS で VCF 9.0 / 9.1 のサポート開始まとめ
mtoyoda
0
280
AWS Summit の片隅で、体育座りしながらコミュニティがにぎわう理由を考えた
k_adachi_01
2
360
人を動かすのは時間ではなく、納得感 〜新任EMが入社3ヶ月、組織を2回変えた話〜
kakehashi
PRO
2
160
インフラ寄りSREでも 開発に踏み出せる〜境界を越えてユーザー体験に向き合いたい〜
sansantech
PRO
0
2.5k
Why is RC4 still being used?
tamaiyutaro
0
310
生成AI活用によるODC欠陥分析の分類高速化の実践と導入効果 / 20260703 Suguru Ishii
shift_evolve
PRO
2
100
Kotlin 開発のツラミを爆破した話! / Explode the difficulty of Kotlin dev!
eller86
0
150
ローカルLLMとLINE Botの組み合わせ その3 / LINE DC Generative AI Meetup #8
you
PRO
0
120
オブザーバビリティ、本当に活用できてる? 〜API連携×生成AIで成熟度を自動評価〜
dmmsre
0
2.1k
SRE依存からの脱却 運用を開 発チームへ移す、 フルサイ クル開 発体制の実践
joooee0000
0
1.8k
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
340
Building Adaptive Systems
keathley
44
3.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
180
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
440
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
180
Statistics for Hackers
jakevdp
799
230k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
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