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

amptalkが月間10万件の商談解析SaaSを生み出すまでのアーキテクチャ変遷

 amptalkが月間10万件の商談解析SaaSを生み出すまでのアーキテクチャ変遷

AWS Startup Community Conference 2022 の登壇資料になります。

Keita Suzuki

August 26, 2022
Tweet

Other Decks in Technology

Transcript

  1. 自己紹介 2 鈴木 啓太 / Keita Suzuki amptalk 株式会社 -

    CTO @leonis_sk 好きな AWS サービス AWS CloudFormation アジャイル開発による内製開発の促進 オンラインストア開発 (Frontend/Backend/Cloud) → 現職
  2. サービス紹介 4 Slack Salesforce/ HubSpot Zoom Meetings Dialpad/ Zoom Phone

    録画・録音データを 自動で転送 書き起こし・解析結果を SlackやSFAに出力
  3. 設計判断 11 • デプロイ・テストの自動化 ◦ どうせ最初から最後まで必要なので 深く考えずに初めから自動化 事業仮説が正しいのかどうか、全く見えていない状態 • とにかく早く動くものを

    ◦ 「使い慣れていて早く作れる」ことを最優先に技術を選定 • 認証(Cognito)などマネージドサービスは使い倒す 資金(会社)なし • 様々な無料枠が用意されている AWS は強い味方 • 冗長化・スケーリングは度外視 時間リソースなし
  4. 開発プロセス 12 プロダクトバックログ とにかく早く動くものを → 最小単位の1機能ができるごとに即リリース ログイン機能もなしで FB をもらいにいくことも •

    未成熟すぎて実運用で使ってもらえない • Paying Customer でないと、口当たりの良いことを 言ってもらえるだけになってしまいがち • 誘導尋問になりがち • 現場にとっては工数が増えるだけで嬉しくない プロダクトだと分かった • ただのレコーダーとして利用している方も 仮説検証を細かく繰り返すことが大切とはいえ、 一番根本を間違えている状態で進み続けても未来がない
  5. 設計判断 16 以前と比べ、事業拡大のビジョンが見えてきた状態 • 将来的なスケールを見据えつつ、初期費用を抑えるためのサーバレスな構成(Lambda / DynamoDB) • デプロイ・テストに加えて、アラート検知の仕組みも自動化 •

    解析処理やジョブは SQS で疎結合に • インフラはすべて CloudFormation で作成 ◦ 手作業撲滅 ◦ 環境を一時的に増やしたい場合に非常に楽 • シングル AWS アカウントに、複数の環境を作成していた 商談の自動解析 • 書き起こしは Amazon Transcribe など既存サービスを検討 ◦ コスト・精度の面で断念 → 自前で作成
  6. 正式ローンチに向けて 18 • $100,000 のクレジット付与 ◦ コストを切り詰める必要がなくなった • サポートも手厚いので、やらない理由はない •

    期限があるので、いつどれだけ申請するかは重要 AWS Activate 3rd party 連携 • Zoom / Salesforce などの外部連携
  7. 設計判断 20 セキュリティファースト • 連携先のセキュリティ審査、セキュリティチェックシート対応 ◦ 認証認可の仕組み改善、WAF・GuardDuty の導入などセキュリティ周りの徹底的な見直し ◦ ISMS

    の取得 • ユーザが増える前から継続して意識すべき RDS • RDS Proxy が GA ◦ 結合・検索・強い一貫性が必要なデータ → RDS ◦ それ以外(個人設定など)→ DynamoDB AWS Activate クレジット • うっかり高課金されたら...の恐怖が和らぎ、実験しやすくなる
  8. 正式ローンチ後 22 開発組織の拡大 • エンジニアの数が増え、権限の委譲・精緻化が必要に アクセス数の急激な増加 • リソースの使用状況やサービスクォータにより一層気を配ることが必要 クレジット •

    AWS Activate クレジットの終了後を見据えたコストの分析と最適化 → (元々課題ではあったが)AWS シングルアカウント運用が辛くなってくる
  9. シングルアカウント運用の辛さ 24 権限管理 • 管理アカウント保持者がボトルネックになっていく ◦ アカウント作成・権限付与 • IAM ポリシー設計が非常に複雑に

    ◦ 名前やタグでリソースの限定をしないといけない ◦ ちょっとした実験でも、IAM 設計が必要 ◦ 常に商用リソースへのアクセスを気にしなければいけない
  10. マルチアカウントへの移行 27 AWS Control Tower • まずはこれを利用することを考えるべき ◦ AWS SSO

    (AWS Identity Center) やセキュリティ・ガバナンスの下地をよしなに作成してくれる 商用稼働しているアカウントからの移行 • 最も大事な商用リソースのみを元のアカウントに残し、それ以外を剥がしていく ◦ 極力商用のデータ移行を発生させない ◦ 複数の商用ワークロードが発生する前にやる! • CloudFormation を最大限に活用する