Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
LADRのすすめ&先行技術検証PRJの紹介 / Introducing-LADR-and-Te...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
moomoo-ya
August 25, 2020
Programming
2.9k
5
Share
LADRのすすめ&先行技術検証PRJの紹介 / Introducing-LADR-and-Technology-verification
2020.08.25
RAKUS Meetup 8月
LADRのすすめ&先行技術検証PRJの紹介
moomoo-ya
August 25, 2020
More Decks by moomoo-ya
See All by moomoo-ya
サービスを陳腐化させない組織だった技術刷新 / Technology Renewal Initiatives
moomooya
0
1.6k
はじめてのオンラインイベント配信 with COVID-19 バグ修正版 / Online-Event-bugfixed
moomooya
0
150
一番安い子だーれだ?~黒字化のための無慈悲なタスク配分~ / Distribute tasks
moomooya
1
3.4k
はじめてのオンラインイベント配信 with COVID-19 バグあり版 / Online-Event-includes-bug
moomooya
0
890
やはり俺のLT登壇はまちがっている。 / my-lightning-talk-is-wrong-as-i-expected
moomooya
4
2.6k
Gatsby.jsで.md/.adocが混在できるテンプレートを作ったときの苦しみ / Pain-to-create-gatsby-template-that-supports-markdown-and-asciidoc
moomooya
0
690
技術書へのアクセスを劇的に向上させた話 / oreilly-safari-and-acm-membership
moomooya
2
7.8k
モノリスにおけるビジネスロジックの設計 ~アグリゲートパターン~ / aggregate-pattern-for-domain-modeling-on-monolithic
moomooya
2
1.7k
オブジェクト指向を学んでから20年間でモヤったこと / Object-Oriented-groomy-in-20-years
moomooya
0
580
Other Decks in Programming
See All in Programming
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
270
Modding RubyKaigi for Myself
yui_knk
0
590
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.1k
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.2k
RTSPクライアントを自作してみた話
simotin13
0
290
tsserverとは何だったのか、これからどうなるのか
nowaki28
1
410
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
420
新規プロダクトを高速で生み出すハーネスエンジニアリング
seanchas116
15
6.8k
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
380
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
2
970
ReactとSvelteのその先、Ripple-TS / Beyond React and Svelte: Ripple-TS
ssssota
3
1.5k
3Dシーンの圧縮
fadis
1
440
Featured
See All Featured
The Language of Interfaces
destraynor
162
26k
Context Engineering - Making Every Token Count
addyosmani
9
920
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
180
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
160
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
140
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
390
GitHub's CSS Performance
jonrohan
1033
470k
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
A Soul's Torment
seathinner
6
2.8k
Transcript
#RAKUSMeetup 新サービス立ち上げ時の技術 選定と、サービス立ち上げに 向けたラクスの取り組み(仮) 2020.8.25 RAKUS Meetup Aug. Isamu Suzuki
#RAKUSMeetup 新サービス立ち上げ時の技術 選定と、サービス立ち上げに 向けたラクスの取り組み(仮) 2020.8.25 RAKUS Meetup Aug. Isamu Suzuki
長い
#RAKUSMeetup LADRのすすめ& 先行技術検証PRJの紹介 2020.8.25 RAKUS Meetup Aug. Isamu Suzuki
#RAKUSMeetup 鈴木 勇 / Isamu Suzuki • 2013年にラクスへ中途入社 • ガンプラ部
部長 • 先行技術検証とかアーキテクチャ選 定とか技術イベント司会とか • 上流から下流まで経験済み PjM含むフルスタック系 • C/Java → JavaScript → Python/TypeScrpt • 自宅にNuro光開通した • 約10年ぶりに自転車買った • Fat Project作者
#RAKUSMeetup 今日話すこと • アーキテクチャ選定時にやると少し幸せになれること • 新規サービス立ち上げに向けてどんな活動をしているか
#RAKUSMeetup 新サービスの アーキテクチャ選定
#RAKUSMeetup 2018年 楽楽労務立ち上げ
#RAKUSMeetup
#RAKUSMeetup このときの社内の様子 • 東京拠点の開発言語は主にJava ※ • FWはSeasar2 ◦ 新しめのサービスでも 2012年以前に開発開始
• モノリシックアーキテクチャ • インフラはオンプレミス ↑こうしている理由は長くいる人が 経験で何となく把握している感じ ※大阪では主にPHPを使っています
#RAKUSMeetup なんにせよ
#RAKUSMeetup 新しい技術を 導入したりしなかったりすることになる 新しい技術を 導入したりしなかったりすることになる
#RAKUSMeetup 「導入しなかった」記録を残したい • 「導入したもの」は後に残るので記録しなくても残りがち • 「導入しなかったもの」は後から見るとわからないことが多い ◦ 検討はしたのか? ◦ 検討の上でなぜ導入しなかったのか?
◦ 今後も導入すべきではないと判断したのか、その時点の事情なのか
#RAKUSMeetup LADR Lightweight Architecture Decision Records
#RAKUSMeetup • ADRは米Sabreの Michael Nygard氏発案 • ThoughtWorks社の Technology Radarで紹介 •
技術要素を4段階評価 ◦ Hold:慎重に ◦ Assess:よく調査して ◦ Trial:挑戦の価値あり ◦ Adopt:採用を推奨 https://www.thoughtworks.com/radar/techniques/lightweight-architecture-decision-records
#RAKUSMeetup • 2017年11月にAdoptに昇格 • 要約すると ◦ 重要なアーキテクチャーの意思決定を、 その文脈や結果とともに記録するための テクニック ◦
WikiやWebサイトではなくコード管理に 含むことを推奨 ◦ ほとんどのプロジェクトで採用しない理由 がない https://www.thoughtworks.com/radar/techniques/lightweight-architecture-decision-records
#RAKUSMeetup Lightweightなのでやることはかんたん • ADRのフォーマットを決める • アーキテクチャ選定の意思決定 • フォーマットに従って記録 • ソース管理(gitなど)に格納
#RAKUSMeetup . . .
#RAKUSMeetup 要領わかんないし、フォーマット決めるのが面倒
#RAKUSMeetup 公開されているテンプレート • joelparkerhenderson / architecture_decision_record • deshpandetanmay / lightweight-architecture-decision-records
• peter-evans / lightweight-architecture-decision-records • jgreeners / LADR ※英語のものしか(たぶん)ないので 頑張って読みましょう https://github.com/peter-evans/lightweight-architecture-decision-records
#RAKUSMeetup . . .
#RAKUSMeetup 何を記録すればよいのか ニュアンスがわかりにくい
#RAKUSMeetup ご用意いたしました
#RAKUSMeetup moomoo-ya / LADR-template • 完全日本語版 • 何を書くべきなのかを記載 • もちろん各自カスタムしていくと
なお良きかと • 使いやすいMITライセンス • https://github.com/moomoo-y a/LADR-template
#RAKUSMeetup
#RAKUSMeetup で、役に立つの?
#RAKUSMeetup 2018年から 1年半ほど経った 2020年1月
#RAKUSMeetup グループ企業のアーキテクチャ選定 • サービスのソフトウェアリプレイス的な計画 • 「マイクロサービスにするべきかどうか」 「コンテナの利用はどうか」 ◦ 聞き覚えのある検討項目
#RAKUSMeetup やってました
#RAKUSMeetup ※注意※ 今回のケース) 1年半経過 → 判断をそのまま流用していけない 「議論のスタート地点を前にずらす」イメージ この手の議論は想像以上に時間がかかるので 少しでもショートカットできるのは嬉しい
#RAKUSMeetup LADR の Pros / Cons Pros • 選定理由が記録に残る ◦
通常1年後には忘れている • 相談されたときに楽 ◦ 「あそこにあるよ」で済む • 新規メンバーの疑問解消 • 軽量だから更新が続く • 経緯を知った上で判断が出来る Cons • 記録するのがちょっと手間 ◦ しかし大した手間ではない • “LADR”が発音しにくい ◦ 今日も何度も噛んでます
#RAKUSMeetup 新サービス立ち上げに 向けた日々の取り組み
#RAKUSMeetup そもそも 新サービスの立ち上げは忙しい
#RAKUSMeetup 理想と現実 流行りのフレームワーク 話題の言語 最新のツール イケてる設計手法 改善された開発プロセス いつから マネタイズ できますか?
#RAKUSMeetup 新サービスの立ち上げは忙しい • リリースするまではコストにしかならない • 最低限の機能(MVP)でいち早いリリースが求められる • 「ノウハウのある技術で」となりがち • そもそも技術面より業務要件まとめる方が困難&優先
#RAKUSMeetup 開発の未来に先手をうつプロジェクト 2017年2月ごろから かいはつのみらいにせんてをうつ 「開発の未来に先手をうつ」かみせんプロジェクト としてプロジェクトが始動(命名は後日つけました)
#RAKUSMeetup 何やるの? • 今後使う見込みの技術を先行検証するプロジェクト • サービス横断的に選抜した4名でスタート ◦ 途中で1名追加参加 • 半期ごとに1テーマ、毎週5時間
• サービスへの導入を想定して検証 • ラクスは複数サービスあるので個別にやるとコスパが悪かった
#RAKUSMeetup 発足の経緯 技術の更新 やらんとあかんよな やりましょう 利益も あがってるしね 現場は漠然とした 不安感は持っていた 経営層からの
オーダー
#RAKUSMeetup 3年経って……順調に拡大中 • 「かみせんプロジェクト」→「技術推進プロジェクト」に改名 • プロジェクトを推進する担当部署が設立 • 参加メンバーも10名を超えました • テーマも複数テーマを並行して検証を進めています
#RAKUSMeetup 最近の成果は テックブログで公 開中 https://tech-blog.rakus.co.jp/archive/category/かみせん 『マイクロサービスアーキテクチャにおける サービス分割の難しさ』 『失敗しない機械学習プロジェクトの進め 方入門』
#RAKUSMeetup 宣伝
#RAKUSMeetup 明日はフロントエンドLT会 司会します Gatsby.jsテーマに ついて話します
#RAKUSMeetup Thank ☺ you • アーキテクチャ選定時は記録を残そう ◦ LADRはいいぞ ◦ 割とすぐに活用される
• 新サービス立ち上げに向けて備えをしよう ◦ 見えてからでは間に合わない(ことが多い)