Slide 1

Slide 1 text

スタートアップが直面する技術的負債 hacomono アーキテクチャのリアル

Slide 2

Slide 2 text

2 Copyright hacomono Inc. All Rights Reserved. 工藤 真 クドウ マコト / @macococo 株式会社 hacomono 取締役 CTO 株式会社エイトレッドにて B2B ワークフロー製品の開発  ↓ 株式会社サイバーエージェントにてスマホソーシャルゲーム開発  ↓ 2015年に株式会社まちいろ (現株式会社 hacomono) にジョイン  ↓ 2019年3月に hacomono リリース、今に至る 自己紹介

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

スタートアップが直面する技術的負債 hacomono アーキテクチャのリアル

Slide 9

Slide 9 text

9 Copyright hacomono Inc. All Rights Reserved. 矢嶋裕介(やじ) Yusuke Yajima ( 𝕏 @srv ) 株式会社 hacomono VP of Platform Engineering マルチテナント(MT)と戦いながら マニュアルトランスミッション(MT)に戯れる毎日 自己紹介

Slide 10

Slide 10 text

時を遡ること3年

Slide 11

Slide 11 text

2020 年

Slide 12

Slide 12 text

12 Copyright hacomono Inc. All Rights Reserved. ● 受託開発で培われたシステムをベースに開発 ● 顧客毎にサイロ化されたアーキテクチャ ● 顧客独自の AWS アカウント上にも構築可能 ● エンタープライズ要件に対応するための個社毎のカスタマイズ ● Jenkins を中心としたデプロイ・構成管理 ● Jenkins を利用した一部の定期処理 2020 年当時の hacomono アーキテクチャ

Slide 13

Slide 13 text

13 Copyright hacomono Inc. All Rights Reserved. ● 顧客数に比例して運用負荷が増大 ● 顧客からのシステム障害に関する問い合わせが増えだす ● 熱狂的ユーザー起因のスパイク -> システムダウン ● デプロイに時間がかかる ● デプロイに失敗する環境が出始める ● Jenkins に改善を入れるとデプロイが失敗する 歪(ひず)みの観測

Slide 14

Slide 14 text

14 Copyright hacomono Inc. All Rights Reserved. 1. リリースの度に問題が発生するため、毎週エンジニア全員(CTO含む)が 1日トラブル対応に追われる日々。 2. スケーリング設定が出来ていないため、毎月 ASG のインスタンス数を マニュアルで変更する日々。 当時の回想

Slide 15

Slide 15 text

15 Copyright hacomono Inc. All Rights Reserved. ● 監視出来ていない、監視運用 SaaS 導入のためのコストが高い ● 冗長化出来ていない、冗長化するためのコストが高い ● 構成管理されていない ● 不安定なデプロイ ● たくさんの単一障害点 アーキテクチャの課題

Slide 16

Slide 16 text

アーキテクチャ更改プロジェクト発足

Slide 17

Slide 17 text

17 Copyright hacomono Inc. All Rights Reserved. アーキテクチャの問題点を解消するためのプロジェクトを発足 アーキテクチャ更改プロジェクト

Slide 18

Slide 18 text

18 Copyright hacomono Inc. All Rights Reserved. 「スタートライン」に立つ為に アーキテクチャ更改プロジェクト

Slide 19

Slide 19 text

19 Copyright hacomono Inc. All Rights Reserved. ● 安定化 ● 監視強化 ● コスト改善 アーキテクチャ更改プロジェクトの目的

Slide 20

Slide 20 text

20 Copyright hacomono Inc. All Rights Reserved. ● 安定化   -> ECS Fargate & Aurora Serverless v2 ● 監視強化  -> Datadog APM ● コスト改善 -> Multitenancy アーキテクチャ概要

Slide 21

Slide 21 text

21 Copyright hacomono Inc. All Rights Reserved. ● ECS Fargate -> デプロイ安定化、スケーリング、自動回復 ● Aurora Serverless v2 -> Read & Write のオートスケーリング、自動回復 ECS Fargate & Aurora Serverless v2

Slide 22

Slide 22 text

22 Copyright hacomono Inc. All Rights Reserved. ● エラー解析の高速化 ● 複数のサービスを跨いだ俯瞰的分析 ● ログの集約 ● 異常検知 Datadog APM

Slide 23

Slide 23 text

23 Copyright hacomono Inc. All Rights Reserved. ● 環境構築の高速化 ● コスト最適化 ● データ集約 ● マイクロサービス化への布石 Multitenancy

Slide 24

Slide 24 text

24 Copyright hacomono Inc. All Rights Reserved. ● 新規環境を新しいアーキテクチャで受入 ● 旧アーキテクチャからのマイグレーション計画 ● 少しずつ適用範囲を広げていく アーキテクチャ更改の進め方

Slide 25

Slide 25 text

25 Copyright hacomono Inc. All Rights Reserved. アーキテクチャ更改プロジェクト 「スタートライン」に立つ為に ● 安定化   -> ECS Fargate & Aurora Serverless v2 ● 監視強化  -> Datadog APM ● コスト改善 -> Multitenancy ● 小さく進めてトラブルを抑え込む

Slide 26

Slide 26 text

急成長

Slide 27

Slide 27 text

27 Copyright hacomono Inc. All Rights Reserved. 社員数 利用店舗数 急成長 40 -> 150 100 -> 2,000

Slide 28

Slide 28 text

28 Copyright hacomono Inc. All Rights Reserved. プロダクト開発3チーム体制へ 開発組織

Slide 29

Slide 29 text

29 Copyright hacomono Inc. All Rights Reserved. 組織拡大へ適応する 第二の🏹

Slide 30

Slide 30 text

30 Copyright hacomono Inc. All Rights Reserved. ● スケーラブルな生産性 ● 安全安心 ● 標準化 第二の🏹

Slide 31

Slide 31 text

31 Copyright hacomono Inc. All Rights Reserved. ● モジュラーモノリス ● プラットフォーム ● 脱 hacomono フレームワーク ● クラウドガバナンス&クラウドセキュリティ 第二の🏹

Slide 32

Slide 32 text

32 Copyright hacomono Inc. All Rights Reserved. ● 開発チーム間の独立性の担保 ● Protocol Buffers を用いた API 管理 ● マイクロサービス化への布石 モジュラーモノリス

Slide 33

Slide 33 text

33 Copyright hacomono Inc. All Rights Reserved. ● 安定した独自サービスの提供 ● メール配信 ● コンテナ環境 ● 認証認可 ● 決済 ・・・ プラットフォーム

Slide 34

Slide 34 text

34 Copyright hacomono Inc. All Rights Reserved. ● 中途採用エンジニアが即戦力になる為に ● Rails 上に構築されたレイヤードアーキテクチャからの脱却 ● モジュラーモノリスへの移行 ● RSpec 標準化 ● Rails アップグレード 脱 hacomono フレームワーク

Slide 35

Slide 35 text

35 Copyright hacomono Inc. All Rights Reserved. ● 運用ポリシー、セキュリティポリシーの定義 hacomono セキュリティホワイトペーパー ● AWS Identity Centerを用いたAWSアカウントへのアクセス制御 ● AWS Config Rule を用いたセキュリティポリシーの準拠評価 ● アクセスログ、CloudTrailイベントログの集約基盤 ● AWS GuardDuty、Security Hub を用いた発見的統制 クラウドガバナンス&クラウドセキュリティ

Slide 36

Slide 36 text

36 Copyright hacomono Inc. All Rights Reserved. 第二の🏹 ● モジュラーモノリス ● プラットフォーム ● 脱 hacomono フレームワーク ● クラウドガバナンス&クラウドセキュリティ 組織拡大へ適応する

Slide 37

Slide 37 text

マルチプロダクト

Slide 38

Slide 38 text

No content

Slide 39

Slide 39 text

39 Copyright hacomono Inc. All Rights Reserved. POS EC CRM Fintech DWH & Enterprise BI IoT (Smart Locks, Gym Machines, Cameras …) etc … マルチプロダクト 採用ウィッシュリスト

Slide 40

Slide 40 text

40 Copyright hacomono Inc. All Rights Reserved. ● 各種プラットフォームサービス(会員、決済、予約、IoT、データ分析 …) ● マルチプロダクトを集約するマイクロフロントエンド ● マルチクラウドを見据えたマイクロサービス基盤 ● PMF を支える高速開発基盤 ● etc … マルチプロダクトを支えるアーキテクチャ計画

Slide 41

Slide 41 text

詳しくはウェブで

Slide 42

Slide 42 text

42 Copyright hacomono Inc. All Rights Reserved. hacomono Techblog 「マルチテナントへの道」 hacomono Techblog 「モノリスなRailsにモジュラーモノリスを導入した話」 マルチテナント・モジュラーモノリス

Slide 43

Slide 43 text

告知

Slide 44

Slide 44 text

44 Copyright hacomono Inc. All Rights Reserved. 明日 11/22(水) 19:00 ~ 「BtoB SaaSのSRE奮闘事例秋まつり」 弊社 SRE のこすこへいが出ますので、よろしくお願いいたします。 https://stmn.connpass.com/event/298576/ SREイベント

Slide 45

Slide 45 text

45 Copyright hacomono Inc. All Rights Reserved. 12/7(木) 12:00 ~ 13:00 「サービス提供者体験」、「単体テスト」、「運用保守」の3種類の テーマについて KAMINASHI x hacomono でお話させて頂きます。 https://stmn.connpass.com/event/298576/ 開発者体験について考える

Slide 46

Slide 46 text

46 Copyright hacomono Inc. All Rights Reserved. 共に戦う戦士たちを募集中 お客様に 「WOW!」を届ける基盤づくりに ご興味がある方いましたら選考のご応募をお待ちしております。            RECRUIT hacomono Entrance Book

Slide 47

Slide 47 text

Q & A