Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
BtoB SaaSにおける技術課題との向き合い方
Daisuke Takeuchi
December 06, 2022
Technology
0
570
BtoB SaaSにおける技術課題との向き合い方
2022.11.17 BtoB SaaSにおける技術課題との向き合い方
での発表資料です。
Daisuke Takeuchi
December 06, 2022
Tweet
Share
More Decks by Daisuke Takeuchi
See All by Daisuke Takeuchi
新規サービス開発で RDRA を使っている話
daicham
1
2.8k
Other Decks in Technology
See All in Technology
UEでPLATEAU触ってみた
41h0_shiho
0
250
macOSの更新を促す通知機能 を実装してみた
shimosyan
1
110
2年で10→70人へ! スタートアップの 情報セキュリティ課題と施策
miekobayashi
1
730
パスキーはユーザー認証を どう変えるのか?その特徴と導入における課題 @ devsumi 2023 9-C-1
ritou
2
350
機械学習を実用化するエンジニアリングスキル
shibuiwilliam
5
390
岐路に立つ若手がAmazonianの仕事術を学んできました / learning amazonian productivity hacks as a junior engineer
yayoi_dd
0
260
re:Invent2022 前後の Amazon EventBridge のアップデートを踏まえつつ、情シスの仕事をより楽しくしたい話。 / EventBridge for Information Systems Department
_kensh
2
810
クックパッドがRubyKaigiに20名以上の社員で参加するわけ
midorikawa
0
610
テストを学びたい開発者のためのソフトウェアテスト読書マップ / Software Testing Reading Map for Developers
kzsuzuki
1
200
YouTuber も編集マンもクラウド使って編集しよう。クラウド編集のキホン
eijikominami
0
140
Introduction to Dependency Injection 「DI」の整理とそのメリット
revcomm_inc
0
230
オンプレk8sとEKSの並行運用の実際
ch1aki
0
330
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
159
12k
A better future with KSS
kneath
230
16k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
109
16k
Rebuilding a faster, lazier Slack
samanthasiow
69
7.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
643
54k
Designing on Purpose - Digital PM Summit 2013
jponch
108
5.9k
Creatively Recalculating Your Daily Design Routine
revolveconf
207
11k
Robots, Beer and Maslow
schacon
154
7.3k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
13
5.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
56
2.5k
Typedesign – Prime Four
hannesfritz
34
1.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
239
19k
Transcript
© 2022 ASOVIEW Inc. 1 レジャー施設向けSaaSでの 外部システム連携について BtoB SaaSにおける技術課題との向き合い方
2022.11.17 アソビュー株式会社 竹内 大介
© 2022 ASOVIEW Inc. 2 0. 目次 1. 自己紹介
2. レジャー施設向けSaaSって? 3. 外部システムとの連携って? 4. 外部システム連携との向き合い方 5. まとめ
© 2022 ASOVIEW Inc. 3 1. 自己紹介 - 竹内
大介 - エンジニアリングマネージャ / バックエンド エンジニア - 主にウラカタチケット(レジャー施設向け SaaS)を担当 - 趣味: ダイビング、ゲーム、散歩
© 2022 ASOVIEW Inc. 4 2. レジャー施設向けSaaSって? アソビュー!って?
© 2022 ASOVIEW Inc. 5 2. レジャー施設向けSaaSって? -
アクティビティ事業者やレジャー施設がWeb上でアクティビティの予約やチケットの 販売を行えるようにするプラットフォーム - 主に2つに分類されます - アクティビティ事業者向け : ウラカタ予約 - レジャー施設向け: ウラカタチケット アソビューのSaaSって? 今回はレジャー 施設向けの話を します
© 2022 ASOVIEW Inc. 6 2. レジャー施設向けSaaSって? ものすごくおおざっぱなシステムイメージ
レジャー施設向けSaaSって?
© 2022 ASOVIEW Inc. 7 3. 外部連携について 他社サイトで販売するための外部連携(※今回はこの話をしません)
外部システム連携は大きく2種類
© 2022 ASOVIEW Inc. 8 3. 外部連携について 施設運営支援システムとの外部連携(※今回はこの話をします)
外部システム連携は大きく2種類
© 2022 ASOVIEW Inc. 9 3. 外部連携について 主に3種類
1. 商品連携 - 連携先の商品を SaaS で販売するため - 連携先から商品情報を取り込んで SaaS 側の商品を作成している - 商品IDのみ持つこともある 2. 販売連携 - SaaS での販売情報を連携先に伝えるため - 連携方法にもよるが、販売情報が連携されないとゲストは入場できない 3. ステータス連携 - チケットが利用されたりキャンセルされたりしたときのステータス同期 外部システムとどんな連携してるの?
© 2022 ASOVIEW Inc. 10 4. 外部連携との向き合い方 -
連携先商品のどの情報を取得するか - 必要最小限の商品情報を連携している - 料金、販売期間、有効期限など連携先と一致する必要がある情報のみとした - SaaS 側に商品情報を保持するか - SaaS 側にも連携先から取得した情報を保持している - 商品ページの説明文などの見せ方はアソビューで登録している - 連携先への依存を局所化 1. 商品連携で向き合ってきたこと ✓ 連携先によっては商品IDのみの簡易版でもあり - 連携先の商品IDをアソビュー側に持つ - 商品情報のバリデーション等できないので一長一短か 向き合ってきて思うこと
© 2022 ASOVIEW Inc. 11 4. 外部連携との向き合い方 -
パフォーマンス問題(同期連携の場合) - 人気商品でアクセス急増した場合など連携先 APIコールが性能ネックになる場合も - サービス全体がダウンする原因にもなりうる - 性能監視やタイムアウト設定、 APIコール数削減など取り組み改善を図っている - リアルタイム性(非同期連携の場合) - 購入時点から遅れるだけ入場可能になるのが遅れる - 連携先の性能も考慮し数分ごとにバッチ連携している 2. 販売連携で向き合ってきたこと ✓ タイムアウトや例外処理など早めにきちんとやっておくと良い(問題が起きたときの インパクトが大きい) ✓ 連携先と協力関係を築き、一緒に課題解決していけるとよい 向き合ってきて思うこと
© 2022 ASOVIEW Inc. 12 - 連携の方向を極力シンプルに - 必要最小限の連携方向とした
- 着券: 連携先 → アソビュー - キャンセル: アソビュー ← 連携先 - 連携先のステータスをアソビュー側の UIでも見れるようにした(社内からの問合せ削減) - 要件によっては双方向も - 運用要件により一部連携先で双方向も対応した(キャンセル) - 特にステータスマッピングと運用フローは連携先と時間をかけて検証した 4. 外部連携との向き合い方 3. ステータス連携で向き合ってきたこと ✓ 運用が許せば連携は単一方向がわかりやすいしリスクも少ない ✓ 双方向は入念に設計とテストが必要 向き合ってきて思うこと
© 2022 ASOVIEW Inc. 13 4. 外部連携との向き合い方 -
連携先によって異なる要件への対応 - 主に前述の3つの連携だが詳細な要件は異なることが多い - 簡易商品連携, QR仕様, API/ファイル連携, etc… - 既存の連携方式でいきたいが、どうしても個別対応が必要な場合がある - 結果いろんな連携方式が存在することに・・ - 人気商品によるトラフィック増への対応 - 販売と着券(入場)というクリティカルな機能は可用性や応答速度はとても重要 - SLOを導入しモニタリングと日々の改善を継続 - インフラの増強などは連携先と足並みを揃えることも - ビジネス側から人気商品の情報を得られるようにし連携先と共有 苦労していること
© 2022 ASOVIEW Inc. - 連携先の個別対応をうまく分離したい - 現状 個別対応が既存処理に入り込んでしまっている
- 今後連携先が増えても追加しやすいようにしたい 14 5. まとめ 今後の課題 このインターフェイスを定義 できないか
© 2022 ASOVIEW Inc. - 運用を考慮しどういった連携が望ましいか関係者と検討する - 連携は可能な限りシンプルに、複雑な場合は入念に設計とテストを行う -
例外処理はできるだけ早めに組み込む - 性能要件がシビアな機能は性能をモニタリングし改善を継続する - 連携先と協力関係を築く - 連携先ごとの個別対応部分は分離できる設計だとなお良い 15 5. まとめ 外部連携において大事だと思うこと
© 2022 ASOVIEW Inc. お気軽にアクセスしてください! https://www.asoview.co.jp/career 16 6.
宣伝 エンジニア募集しています!! 私たちは、エンジニアリングの力で、顧客(ゲスト /パートナー/クライアント/地域)に 価値提供するプロダクトを創造することで、遊びを世界につなげていきます。