Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
保険クラウド Inspire の裏側 / Fin-JAWS 2021_01_25
Search
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
More Decks by toshipon
See All by toshipon
Claude Code Hypothesis-Driven Security Assessment Skill
toshipon
0
4
Other Decks in Technology
See All in Technology
The kernel report
ennael
PRO
1
190
Incremental HTTP
kazuho
5
1.9k
TiDBファミリーにDWHが新登場!! TiDB最新情報 / TiDB update 202609
yoshiakiyamasaki
0
190
[2026-09-30]ロックンロールは鳴り止まないっ - 信頼性かまってちゃん - 「データ駆動を投げ捨ててまで。」追いかける信頼性改善に向けた取り組みの話
tosite
0
180
あなたの知らないAmazon VPC Route Server/Amazon VPC Route Server you don't know about
masakiokuda
2
210
Execution in the Kingdom of Agents: Reflections on Abstraction and Complexity
bcantrill
0
670
AgentCoreで実践するハーネスエンジニアリング
yakumo
1
180
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
16
120k
検証フェーズはAIの回答を判断するための学習機会
toru_kubota
2
240
AI 時代の Azure エンジニアリング ~ 私たちは何を磨き、何を任せるのか ~
chack411
1
310
GitHub Agentic Workflows を触ってみる
htkym
2
910
Amazon Bedrock Agents ClassicからAmazon Bedrock AgentCoreへ移行した際、ガードレール設定が2箇所に割れた話
matsunobu
0
170
Featured
See All Featured
How to make the Groovebox
asonas
2
2.5k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
420
The Invisible Side of Design
smashingmag
301
52k
Being A Developer After 40
akosma
91
590k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
590
How to Ace a Technical Interview
jacobian
280
24k
Designing for Timeless Needs
cassininazir
1
510
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Code Reviewing Like a Champion
maltzj
528
40k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
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