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