Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Recruit Lifestyle Co., Ltd.
PDF, PPTX
5,024 views
大規模システムリプレイスへの道
ULTRA Beer Bash「大規模システムリプレイスへの道」講演資料
Engineering
◦
Read more
6
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 63
2
/ 63
3
/ 63
4
/ 63
5
/ 63
6
/ 63
7
/ 63
8
/ 63
9
/ 63
10
/ 63
11
/ 63
12
/ 63
13
/ 63
14
/ 63
15
/ 63
16
/ 63
17
/ 63
18
/ 63
19
/ 63
20
/ 63
21
/ 63
22
/ 63
23
/ 63
24
/ 63
25
/ 63
26
/ 63
27
/ 63
28
/ 63
29
/ 63
30
/ 63
31
/ 63
32
/ 63
33
/ 63
34
/ 63
35
/ 63
36
/ 63
37
/ 63
38
/ 63
39
/ 63
40
/ 63
41
/ 63
42
/ 63
43
/ 63
44
/ 63
45
/ 63
46
/ 63
47
/ 63
48
/ 63
49
/ 63
50
/ 63
51
/ 63
52
/ 63
53
/ 63
54
/ 63
55
/ 63
56
/ 63
57
/ 63
58
/ 63
59
/ 63
60
/ 63
61
/ 63
62
/ 63
63
/ 63
More Related Content
PDF
JJUG CCC リクルートの Java に対する取り組み
by
Recruit Technologies
PDF
事業成長にコミットするエンジニア組織への道のり
by
Recruit Lifestyle Co., Ltd.
PPTX
上司が信用できない会社の内部統制~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?!...
by
WebSig24/7
PDF
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
by
Amazon Web Services Japan
PPTX
ぱぱっと理解するSpring Cloudの基本
by
kazuki kumagai
PDF
AWS BlackBelt AWS上でのDDoS対策
by
Amazon Web Services Japan
PDF
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
by
Amazon Web Services Japan
PDF
インターネットの舞台裏
by
Taiji Tsuchiya
JJUG CCC リクルートの Java に対する取り組み
by
Recruit Technologies
事業成長にコミットするエンジニア組織への道のり
by
Recruit Lifestyle Co., Ltd.
上司が信用できない会社の内部統制~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?!...
by
WebSig24/7
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
by
Amazon Web Services Japan
ぱぱっと理解するSpring Cloudの基本
by
kazuki kumagai
AWS BlackBelt AWS上でのDDoS対策
by
Amazon Web Services Japan
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
by
Amazon Web Services Japan
インターネットの舞台裏
by
Taiji Tsuchiya
What's hot
PDF
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
by
都元ダイスケ Miyamoto
PDF
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
by
Amazon Web Services Japan
PDF
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
by
Trainocate Japan, Ltd.
PDF
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
by
Amazon Web Services Japan
PPTX
[社内勉強会]ELBとALBと数万スパイク負荷テスト
by
Takahiro Moteki
PDF
AWSのログ管理ベストプラクティス
by
Akihiro Kuwano
PDF
リクルートのWebサービスを支える「RAFTEL」
by
Recruit Technologies
PDF
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
by
Amazon Web Services Japan
PPTX
イケてない開発チームがイケてる開発を始めようとする軌跡
by
NTT Communications Technology Development
PDF
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
by
Amazon Web Services Japan
PPTX
GitLab から GitLab に移行したときの思い出
by
富士通クラウドテクノロジーズ株式会社
PDF
AWS Black Belt Techシリーズ AWS IAM
by
Amazon Web Services Japan
PPTX
DevOpsにおけるAnsibleの立ち位置と使い所
by
Hidetoshi Hirokawa
PDF
分散トレーシング技術について(Open tracingやjaeger)
by
NTT Communications Technology Development
PDF
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
by
Amazon Web Services Japan
PDF
20190911 AWS Black Belt Online Seminar AWS Batch
by
Amazon Web Services Japan
PDF
AWS Black Belt Online Seminar 2017 Amazon Kinesis
by
Amazon Web Services Japan
PPTX
Power Apps による SharePoint リスト フォーム編集のコツ
by
Rie Okuda
PDF
20210316 AWS Black Belt Online Seminar AWS DataSync
by
Amazon Web Services Japan
PDF
リクルートライフスタイル流!分析基盤との賢い付き合い方
by
Recruit Lifestyle Co., Ltd.
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
by
都元ダイスケ Miyamoto
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
by
Amazon Web Services Japan
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
by
Trainocate Japan, Ltd.
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
by
Amazon Web Services Japan
[社内勉強会]ELBとALBと数万スパイク負荷テスト
by
Takahiro Moteki
AWSのログ管理ベストプラクティス
by
Akihiro Kuwano
リクルートのWebサービスを支える「RAFTEL」
by
Recruit Technologies
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
by
Amazon Web Services Japan
イケてない開発チームがイケてる開発を始めようとする軌跡
by
NTT Communications Technology Development
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
by
Amazon Web Services Japan
GitLab から GitLab に移行したときの思い出
by
富士通クラウドテクノロジーズ株式会社
AWS Black Belt Techシリーズ AWS IAM
by
Amazon Web Services Japan
DevOpsにおけるAnsibleの立ち位置と使い所
by
Hidetoshi Hirokawa
分散トレーシング技術について(Open tracingやjaeger)
by
NTT Communications Technology Development
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
by
Amazon Web Services Japan
20190911 AWS Black Belt Online Seminar AWS Batch
by
Amazon Web Services Japan
AWS Black Belt Online Seminar 2017 Amazon Kinesis
by
Amazon Web Services Japan
Power Apps による SharePoint リスト フォーム編集のコツ
by
Rie Okuda
20210316 AWS Black Belt Online Seminar AWS DataSync
by
Amazon Web Services Japan
リクルートライフスタイル流!分析基盤との賢い付き合い方
by
Recruit Lifestyle Co., Ltd.
Viewers also liked
PPTX
SeemのUXは難しい
by
Recruit Lifestyle Co., Ltd.
PDF
Seem~知るところから、はじめよう。~
by
Recruit Lifestyle Co., Ltd.
PDF
Step functionsとaws batchでオーケストレートするイベントドリブンな機械学習基盤
by
Recruit Lifestyle Co., Ltd.
PDF
新規プロジェクトにおけるエンジニアの働き方
by
Recruit Lifestyle Co., Ltd.
PPTX
売上に効くデータ組織~データから売上や利益を作るために何をしているか~
by
Recruit Lifestyle Co., Ltd.
PPTX
リクルートライフスタイルの売上を支える共通分析基盤
by
Recruit Lifestyle Co., Ltd.
PDF
『じゃらん』『ホットペッパーグルメ』を支えるクラウド・データ基盤
by
Recruit Lifestyle Co., Ltd.
PPTX
データプランナーによるデータ系施策について
by
Recruit Lifestyle Co., Ltd.
PDF
Setとして活動しはじめた話
by
Recruit Lifestyle Co., Ltd.
PDF
Rlsにおけるプロダクト プロジェクトマネジメント
by
Recruit Lifestyle Co., Ltd.
SeemのUXは難しい
by
Recruit Lifestyle Co., Ltd.
Seem~知るところから、はじめよう。~
by
Recruit Lifestyle Co., Ltd.
Step functionsとaws batchでオーケストレートするイベントドリブンな機械学習基盤
by
Recruit Lifestyle Co., Ltd.
新規プロジェクトにおけるエンジニアの働き方
by
Recruit Lifestyle Co., Ltd.
売上に効くデータ組織~データから売上や利益を作るために何をしているか~
by
Recruit Lifestyle Co., Ltd.
リクルートライフスタイルの売上を支える共通分析基盤
by
Recruit Lifestyle Co., Ltd.
『じゃらん』『ホットペッパーグルメ』を支えるクラウド・データ基盤
by
Recruit Lifestyle Co., Ltd.
データプランナーによるデータ系施策について
by
Recruit Lifestyle Co., Ltd.
Setとして活動しはじめた話
by
Recruit Lifestyle Co., Ltd.
Rlsにおけるプロダクト プロジェクトマネジメント
by
Recruit Lifestyle Co., Ltd.
Similar to 大規模システムリプレイスへの道
PDF
0630seminer ptn統合版_web公開用
by
loftwork
PDF
0630seminer renown_ver3
by
loftwork
PDF
楽天がHadoopを使う理由
by
Rakuten Group, Inc.
PDF
Webst3 ashisto
by
loftwork
PDF
【株式会社ルグラン】パーソナライズ戦略が拓くコーポレートサイトの未来とは
by
Rod Izumi
PPTX
楽天ラクマの組織とシステムをマイクロサービス化しようとした話
by
Rakuten Commerce Tech (Rakuten Group, Inc.)
PPTX
ITIL(r)上位資格の必要性とITプレナーズのソリューション
by
ITプレナーズ マーケティングチーム
PDF
2013 0715 acirご紹介
by
Yuichi Morito
PDF
株式会社フライク ソリューション資料 設計01 業務設計.pdf
by
Flyke1
PDF
ウェブアナリスト養成講座 第7回
by
Makoto Shimizu
PDF
プロフェッショナル・サービスの変化
by
Koichi Fukunaga
PDF
経営を支えるIT部門実現の記録2005
by
Makoto Shimizu
PDF
RFP and Requirement Development
by
Kent Ishizawa
PDF
2013会社説明会
by
Kohei Aoki
PDF
コースB 「ECサイト設計」Ver.2.0
by
Osamu Sugiura
0630seminer ptn統合版_web公開用
by
loftwork
0630seminer renown_ver3
by
loftwork
楽天がHadoopを使う理由
by
Rakuten Group, Inc.
Webst3 ashisto
by
loftwork
【株式会社ルグラン】パーソナライズ戦略が拓くコーポレートサイトの未来とは
by
Rod Izumi
楽天ラクマの組織とシステムをマイクロサービス化しようとした話
by
Rakuten Commerce Tech (Rakuten Group, Inc.)
ITIL(r)上位資格の必要性とITプレナーズのソリューション
by
ITプレナーズ マーケティングチーム
2013 0715 acirご紹介
by
Yuichi Morito
株式会社フライク ソリューション資料 設計01 業務設計.pdf
by
Flyke1
ウェブアナリスト養成講座 第7回
by
Makoto Shimizu
プロフェッショナル・サービスの変化
by
Koichi Fukunaga
経営を支えるIT部門実現の記録2005
by
Makoto Shimizu
RFP and Requirement Development
by
Kent Ishizawa
2013会社説明会
by
Kohei Aoki
コースB 「ECサイト設計」Ver.2.0
by
Osamu Sugiura
More from Recruit Lifestyle Co., Ltd.
PDF
業務と消費者の体験を同時にデザインするリクルートの価値検証のリアル ー 「Airレジ ハンディ」セルフオーダーのブレない「価値」の確かめ方 ー
by
Recruit Lifestyle Co., Ltd.
PPTX
分散トレーシングAWS:X-Rayとの上手い付き合い方
by
Recruit Lifestyle Co., Ltd.
PDF
OOUIを実践してわかった、9つの大切なこと
by
Recruit Lifestyle Co., Ltd.
PDF
Flutter移行の苦労と、乗り越えた先に得られたもの
by
Recruit Lifestyle Co., Ltd.
PDF
CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020
by
Recruit Lifestyle Co., Ltd.
PDF
「進化し続けるインフラ」のためのマルチアカウント管理
by
Recruit Lifestyle Co., Ltd.
PDF
Air事業のデザイン組織とデザイナー
by
Recruit Lifestyle Co., Ltd.
PDF
リクルートライフスタイル AirシリーズでのUXリサーチ
by
Recruit Lifestyle Co., Ltd.
PDF
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
by
Recruit Lifestyle Co., Ltd.
PPTX
データサイエンティストが力を発揮できるアジャイルデータ活用基盤
by
Recruit Lifestyle Co., Ltd.
PDF
Real-time personalized recommendation using embedding
by
Recruit Lifestyle Co., Ltd.
PDF
データから価値を生み続けるには
by
Recruit Lifestyle Co., Ltd.
PDF
データプロダクト開発を成功に導くには
by
Recruit Lifestyle Co., Ltd.
PDF
Jupyter だけで機械学習を実サービス展開できる基盤
by
Recruit Lifestyle Co., Ltd.
PDF
SQLを書くだけでAPIが作れる基盤
by
Recruit Lifestyle Co., Ltd.
PDF
BtoBサービスならではの顧客目線の取り入れ方
by
Recruit Lifestyle Co., Ltd.
PDF
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
by
Recruit Lifestyle Co., Ltd.
PDF
リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法
by
Recruit Lifestyle Co., Ltd.
PDF
ビックデータ分析基盤の成⻑の軌跡
by
Recruit Lifestyle Co., Ltd.
PDF
Refactoring point of Kotlin application
by
Recruit Lifestyle Co., Ltd.
業務と消費者の体験を同時にデザインするリクルートの価値検証のリアル ー 「Airレジ ハンディ」セルフオーダーのブレない「価値」の確かめ方 ー
by
Recruit Lifestyle Co., Ltd.
分散トレーシングAWS:X-Rayとの上手い付き合い方
by
Recruit Lifestyle Co., Ltd.
OOUIを実践してわかった、9つの大切なこと
by
Recruit Lifestyle Co., Ltd.
Flutter移行の苦労と、乗り越えた先に得られたもの
by
Recruit Lifestyle Co., Ltd.
CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020
by
Recruit Lifestyle Co., Ltd.
「進化し続けるインフラ」のためのマルチアカウント管理
by
Recruit Lifestyle Co., Ltd.
Air事業のデザイン組織とデザイナー
by
Recruit Lifestyle Co., Ltd.
リクルートライフスタイル AirシリーズでのUXリサーチ
by
Recruit Lifestyle Co., Ltd.
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
by
Recruit Lifestyle Co., Ltd.
データサイエンティストが力を発揮できるアジャイルデータ活用基盤
by
Recruit Lifestyle Co., Ltd.
Real-time personalized recommendation using embedding
by
Recruit Lifestyle Co., Ltd.
データから価値を生み続けるには
by
Recruit Lifestyle Co., Ltd.
データプロダクト開発を成功に導くには
by
Recruit Lifestyle Co., Ltd.
Jupyter だけで機械学習を実サービス展開できる基盤
by
Recruit Lifestyle Co., Ltd.
SQLを書くだけでAPIが作れる基盤
by
Recruit Lifestyle Co., Ltd.
BtoBサービスならではの顧客目線の取り入れ方
by
Recruit Lifestyle Co., Ltd.
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
by
Recruit Lifestyle Co., Ltd.
リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法
by
Recruit Lifestyle Co., Ltd.
ビックデータ分析基盤の成⻑の軌跡
by
Recruit Lifestyle Co., Ltd.
Refactoring point of Kotlin application
by
Recruit Lifestyle Co., Ltd.
大規模システムリプレイスへの道
1.
⼤規模サービスリプレイスへの道 2017年9⽉9⽇ 株式会社リクルートライフスタイル ネットビジネス本部 ビューティー事業ユニット プロダクト開発G ⼩川 健太郎 1
2.
提供 2
3.
注:リプレイス進⾏中です!! 3
4.
Agenda • リクルートライフスタイルの紹介 • ホットペッパービューティーについて –
事業について – システムについて • なぜ、リプレイスを進めることにしたのか • アーキテクチャ設計と組織設計 • 苦労したこととナレッジポイント • まとめ 4
5.
⾃⼰紹介 <略歴> • 〜2012年 – 受託系開発会社でCS
-> PG -> SE -> MGRとして勤務 • 2012年5⽉〜 – 株式会社リクルートに転職 – 新規⽴ち上げ、サービス運⽤改善に携わる • 2015年4⽉〜 – ネットビジネス本部 グループマネジャー就任 – 新規開発、スマホアプリ開発、ホットペッパービューティー開発の部署を担当 5 ⼩川 健太郎 ネットビジネス本部 ビューティー事業ユニット プロダクト開発G グループマネジャー
6.
今回のお話スコープ • ホットペッパービューティーというサービスに着任してからおこなってきた システムのリプレイスについてお話します • 事業、システムの紹介から始まり、どのように思考して取り組んできたか、 アーキテクチャをどういう組み合わせで⾏ってきたかということを話します •
実際のサービス開発ではシステムのリプレイス以外にも沢⼭の案件が ⾛っていて、その中でリプレイスについて取り上げるという形になります 6
7.
グループ理念とRLSの使命 リクルートライフスタイルの紹介
8.
㈱リクルートスタッフィング ㈱スタッフサービス・HD ㈱リクルート住まいカンパニー ㈱リクルートマーケティングパートナーズ HR事業 機能会社 (株)リクルート ホールディングス ㈱リクルートキャリア ㈱リクルートジョブズ ㈱リクルートライフスタイル ㈱リクルートアドミニストレーション ㈱リクルートテクノロジーズ ㈱リクルートコミュニケーションズ 住宅事業 結婚・学び事業 ⽇常消費領域事業 全社内でのRLSの位置づけ ㈱リクルートマネジメントソリューションズ 販促事業
9.
RLSの事業領域
10.
RLSの主な展開プロダクト・メディア
11.
RLSの主な展開プロダクト・メディア
12.
数値でみるリクルートライフスタイル
13.
ベンチャーマインドがあるが歴史ある企業 1960 2017 ⼤学新聞広告社創業 2000 「Hot Pepper」創刊 「じゃらんNet」サービス開始 2005
「HotPepper.jp」 (現・「ホットペッパーグルメ」)サービス開始 2007 「ホットペッパービューティー」サービス開始 〜省略〜 2012 (社員エンジニア採⽤し始める) 紙の会社 WEBの会社
14.
グループ理念とRLSの使命 ホットペッパービューティーについて
15.
ホットペッパービューティーとは • 国内最⼤級のヘアサロン リラク&ビューティーサロン検索
予約サイト 15
16.
カスタマー向けサイト16 美容 キレイ
17.
クライアント向けサイト17
18.
事業の成⻑数値 <2017年9⽉更新> 18 (美容) ヘアサロン (キレイ) リラク・ビューティーサロン 参画サロン数 34,084 32,633 スタイル・ フォトギャラリー写真数 2,404,079
845,589 ブログ投稿数 6,239,796 4,303,704 スタイリスト数 148,249 - 年間予約数 41,666,855 26,811,192 ⼝コミ投稿数 2,161,002 1,797,737
19.
ホットペッパービューティーを⽀えるシステム • 関連システムを加えるとカオス状態 • 開発者数
150名以上 • 年間機能追加件数 650件以上 • Java6 + 独⾃FW + オンプレ環境 • 10年物のシステム • システムも体制もとにかく⼤きい 19
20.
グループ理念とRLSの使命 なぜ、リプレイスを進めることにしたのか
21.
ビジネスと開発の成⻑速度の話 • ビジネスの成⻑がめざましく、どんどん機能追加要望がでる • いつのまにか、
品質 << 速度 という形で早くすることになる 21 早く!早く! くぉー!!
22.
ビジネスと開発の成⻑速度の話 • ⼯数を下げたいという企画者とそれを叶えようとしつづけた開発者 22 それなら、(負債になるけど) この案でどうでしょうか? ⼤変なのは理解してるけど なんとか実現したい!!
23.
ビジネスと開発の成⻑速度の話 • つぎはぎだらけのシステムになる 23 え?え?
24.
ビジネスと開発の成⻑速度の話 • 気づいたら、もう、どうしようもない状態になっていた • このまま増加傾向になっていくのを⾒ていくしかないのか… 24 2年前
現在 2年後 N⼈⽉ 2.5倍 2.5倍のまま? 3倍? 4倍? とある案件の例
25.
ビジネスと開発の成⻑速度の話25 EOSLどうするの? 競合でてきた! やりたいこと沢⼭! 技術的負債が・・・ なんでこんなに かかるの? アーキテクチャ古くて モチベダウン
26.
ビジネスと開発の成⻑速度の話 • 右肩上がりで成⻑してきた事業 • 未来を描き、それを実現するために機能を ひたすら追加していきたい •
ガンガン機能追加して伸ばしてきた⼿法 • でも、できない… 26
27.
ビジネスと開発の成⻑速度の話 • 学習コストが異常に⾼く、⾼スキル⼈材でもすぐに活躍できない – システム規模 –
アーキテクチャ構成 – 技術的、要件的負債が多い • 改善するには⾼スキル⼈材が必要だが、その⼈材が確保しづらい状態… 27 ⾼スキル⼈材 システム理解 罠を知る 特性を知る 事業特性を知る アーキが古い 活躍できるまでのリードタイムが⻑い
28.
現実をちゃんとみて、ひとつずつ課題をだしていく28 課題 案件 負債 ・改善⼯数とってない ・不要案件を削ってない ・改善⼯数を明⽰化 ・開発プロセス再設計 密結合 ・ロジック密結合 ・ドメイン分離などがない ・アーキテクチャ再設計 ・徐々に作り直し バッチ 依存 ・なんでもバッチ ・適切なデータフロー設計 ・キューイングなど導⼊ API 負債 ・APIらしい設計ではない ・アーキテクチャ再設計 ・作り直し インフラ ・新規ミドル導⼊しづらい ・オートスケール不可 ・交渉 ・⼀部クラウド化 打ち⼿ 課題ひたすら書く
29.
現実をちゃんとみて、ひとつずつ課題をだしていく29 課題 案件 負債 ・改善⼯数とってない ・不要案件を削ってない ・改善⼯数を明⽰化 ・開発プロセス再設計 密結合 ・ロジック密結合 ・ドメイン分離などがない ・アーキテクチャ再設計 ・徐々に作り直し バッチ 依存 ・なんでもバッチ ・適切なデータフロー設計 ・キューイングなど導⼊ API 負債 ・APIらしい設計ではない ・アーキテクチャ再設計 ・作り直し インフラ ・新規ミドル導⼊しづらい ・オートスケール不可 ・交渉 ・⼀部クラウド化 打ち⼿ • 課題が循環参照している • 例:改善⼯数とってプロセス 変えつつ、密結合を解消に…など •
アプリケーションに近い層から テコ⼊れすることを検討 アプリケーション ⾔語/FW ミドルウェア データベース インフラの箱
30.
ホットペッパービューティーのサービスを⼤きく3つにわける30 最も⼤切にすること 規模 スマホアプリ 新しい価値提供
中 カスタマ機能 新しい価値提供 ⼤ クライアント機能 安定稼働させること 特⼤
31.
リプレイスをするのか、リファクタリングとするのか31 リプレイス リファクタリング イメージ メリット デメリット 壊す
→ 建て直し リフォーム ・基礎部分から⼿がはいる ・技術⼊れ替えやすい ・アーキ再設計しやすい ・現状の延⻑線での対応 ・時間がかからない ※ リプレイスに⽐べて ・時間がかかる ・難易度が⾼い ・破壊的な変更しづらい
32.
リプレイスをするのか、リファクタリングとするのか • それぞれを選択した場合に何を得ることができるか • リプレイス –
⾔語レベルまで変更する – アーキテクチャの枠組み⾃体を変える • リファクタリング – EOSL対応のみ – ユニットテストを書く⽂化つくる 32
33.
スマホアプリとカスタマ機能はリプレイスの道に33 最も⼤切にすること 規模 対応⽅針
対応内容 スマホアプリ 新しい価値提供 中 リプレイス Swift化、Kotlin化 カスタマ機能 新しい価値提供 ⼤ リプレイス Rails化、Spring化 APIアーキテクチャへ クライアント機能 安定稼働させること 特⼤ 検討中 検討中
34.
事業責任者と課題認識を共有する • なぜこうなってしまっているのか、どうしていくべきなのかを伝える • 『事業成⻑のため』という⽬的はみんな⼀緒。優先度をどう考えるかだけ 34 みんなの責任や
35.
グループ理念とRLSの使命 アーキテクチャ設計と組織設計
36.
サービスごとの対応⽅針36 最も⼤切にすること 規模 対応⽅針
対応内容 進め⽅ スマホアプリ 新しい価値提供 中 リプレイス Swift化、Kotlin化 機能追加を⽌めて、 ⼀括でリプレイスする カスタマ機能 新しい価値提供 ⼤ リプレイス Rails化、Spring化 APIアーキテクチャへ 機能追加は⽌めず優先順位など をつけて順次リプレイスする クライアント機能 安定稼働させること 特⼤ 検討中 検討中 検討中
37.
スマホアプリのリプレイス • iOSはObjective-CからSwiftへの変更とMVCPへの移⾏ • AndroidはJavaからKotlinへの変更とCealnArchitectureへの移⾏ •
それぞれフルリプレイスを実⾏ 37 Obj-C
38.
iOSのアーキテクチャ詳細 • Swift化 • MVCPアーキテクチャ採⽤ •
分析要件などの組み込みに よる腐敗を防ぐために Presenter層を設置 38
39.
Androidのアーキテクチャ詳細 • Kotlin化 • Clean
Architecture + MVP • Activityへのコード集約を避ける • コンポーネントを分離させて ユニットテストを可能に 39
40.
なぜ、Kolinを採⽤できたのか? • 採⽤を決めたのは2017年3⽉ – 公式未サポート •
リプレイスしたコードベースで5年以上 戦うことを想定した場合にこのタイミングで やるべきではという声があがった • 社内前例なしで⼤規模サービスへの導⼊に 慎重となる声があったが徹底したメリデメ整理 とリスクへの対策⽬処がたって採⽤に⾄る 40
41.
横道それますが… Kotlin公式サポートにより チームの活気も⼀気にヒートアップ 41
42.
⼈材要件の⾒直しや採⽤活動もセットでおこなう42 https://recruit-lifestyle.connpass.com/event/65142/
43.
API カスタマ機能のリプレイス • Java6(独⾃フレームワーク)から、Ruby(Rails) +
Java8(Spring Boot)へ • APIアーキテクチャを採⽤することでフロントに近い部分だけ⾼速に 43 BFFMonolithic 独⾃FW ViewとLogicを分離
44.
カスタマ機能のリプレイス44 Browser BFF API HTML CSSJS Routing Resource Resource Resource Database
45.
カスタマ機能のリプレイス45 Browser BFF API HTML CSSJS Routing Resource Resource Resource Database Monolithic HTML CSS JS Resource Resource Resource Proxy リプレイスした機能 リプレイスしてない機能
46.
技術選定の話 • モノリシックなサービスの⽅が性能がでてしまうケースがある • その中で、開発速度やフロントエンドとバックエンドの分離という メリットを享受するためにバランスを取った構成とした •
サービスとして、『守らなければいけない数値』や『勝ち得たいもの』を 定量的に定義することで選択に踏み切ることができた – 1秒あたりのPV数、レスポンスタイムなど 46
47.
アプリケーション層発信でインフラへのテコ⼊れも • 従来までのJava6 +
独⾃FW構成を脱却するという中で、 OSやミドルウェアも刷新することができた 47 アプリケーション ⾔語/FW ミドルウェア データベース インフラの箱 APIアーキテクチャ化 Nginx導⼊、Fluentd導⼊、Redis導⼊ など Ubuntu化、Infrastructure as Code化 Ruby(Rails) + Java8(Spring Boot)導⼊ この他に監視系システムの ⼀新もしています
48.
組織体制も変更 • フロントエンドからバックエンドまでワンチーム • SRE(Site
Reliability Engineering)チームも新規で⽴ち上げ、 共にスクラム開発をおこなう 48 開発T インフラT Goal Goal 依頼 開発 インフラ Goal 協業 リプレイスT ワンチーム化
49.
少しずつ変えていく49 • システム分離をしつつ、 技術スタックの最新化やそれに伴う 開発フロー整備などをおこなう • いきなり全部は難しいので、 ⼿の⼊りやすいところや事業戦略上 重要である機能をターゲットにする
50.
続きはWebで…!!50 http://engineer.recruit-lifestyle.co.jp/techblog/
51.
(展望)こういうことをしていきたい51 オンプレ API BFF API GW WEB APP IoT or その他クラウド
52.
グループ理念とRLSの使命 苦労したこととナレッジポイント
53.
仕様書がなく、正解がわからない • 要件が正しいかわからない 53 if 条件A else
if 条件B else if 条件C else 条件Cって、 まだ必要なのかな… • ドキュメントは最⼩限にという 前提を⼀部壊す • 膨⼤な量に向き合うために各種の ⼯夫を検討していっている • 正攻法:企画者、開発者が作成 → クオリティは⾼いが納期とコストが問題 • QAT作成 → 企画者、開発者確認
54.
ユニットテストがない、⼯数もとられていない • ユニットテストがなく、改修のためのテスト⼯数があがりがち 54 リファクタリング したいんだけど不安… •
カバレッジルールを決めて、 ユニットテスト⼯数を積む • すぐに効果はでないもので、 ⼀時的に⽣産性は落ちるので ⽅針を上が決めることが⼤切
55.
リプレイスでも⼿を出せない箇所がある • アプリは問題なかったが、カスタマ向け機能の話 • 100%の改善幅ではなく50の改善幅で勝負しないといけなかった 55 新規ミドルいれづらい ここは既存踏襲 SEO要件が…
56.
技術的なマイルストンと機能をマッピングさせる • マイルストンやチェックポイントの設計をしっかりおこなう 56 シ ス テ ム 進 め ⽅ 新アーキ導⼊ (参照系) 新アーキ導⼊ (更新系) XXX導⼊ 仕様書作成 XXX変更 新アーキ導⼊ (参照系) 新アーキ導⼊ (更新系) XXX導⼊ 仕様書作成 XXX変更 新アーキ導⼊ (参照系) 新アーキ導⼊ (更新系) XXX導⼊ 仕様書作成 XXX変更 新アーキ導⼊ (参照系) 新アーキ導⼊ (更新系) XXX導⼊ 仕様書作成 XXX変更 サブシステムA サブシステムB
サブシステムC サブシステムD
57.
企画者も体制に含めて進める • 企画者も含めてワンチームにして判断を迅速におこなえるように 57 企画T開発T 相談〜調整 リプレイスT 内部で解決!!
58.
グループ理念とRLSの使命 まとめ
59.
まとめ • システム – ⽣産性は現時点で2倍程度になっている –
いままでブラックボックスだった部分が多少明るくなった – OS、⾔語、FWなどチャレンジポイントを無事達成していっている • ヒト – いいヒトが集まってきた – ⾃発的に改善活動が⽣まれるようになってきた 59
60.
まとめ • やってよかったの? に対しては明確にYesと⾔える •
しかし、やり⽅だったり登り⽅というものは常に反省がつきまとう • 技術的負債というキーワードに逃げるのではなく、 事業に向き合い、組織/案件負債というものも含めてリプレイスすべき • 正解はひとつじゃない。サービスの数だけ 60
61.
⼼構えの話 • 競合、商況、世論、様々なものが不確実である • その不確実性にエンジニアリングで⽴ち向かうのがエンジニアの仕事 •
“不確実性をエンジニアリングでリデザインする” ということを胸に、 取り組んでいます 61
62.
仲間を募集しています!!62
63.
ご清聴ありがとうございました
Download