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
Rakusmeetup_20210804_Takuya_Okamoto
Search
txkxyx
August 05, 2021
Technology
0
1.6k
Rakusmeetup_20210804_Takuya_Okamoto
2021年8月4日に開催された「Rakusmeetup」で発表したスライドです。
txkxyx
August 05, 2021
Tweet
Share
More Decks by txkxyx
See All by txkxyx
Kubernetes導入に備えたGitOpsなCI/CDを構築する/rakus_meetup_202206
txkxyx
0
990
PostCSSの導入検証 / r&d_meetup_css_t_okkan
txkxyx
0
910
ゲーム開発で始めるオブジェクト指向 / ooltjp_vol3_t_okkan
txkxyx
1
530
Technology selection for mobile cross-platform
txkxyx
0
95
itbookslt_vol2_takuyaokamoto
txkxyx
0
15k
今年やることやらないこと
txkxyx
0
45
クロスプラットフォームの技術選定 ~ライブラリ編~
txkxyx
0
330
Other Decks in Technology
See All in Technology
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
『Firebase Dynamic Links終了に備える』 FlutterアプリでのAdjust導入とDeeplink最適化
techiro
0
130
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
120
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
3
620
VideoMamba: State Space Model for Efficient Video Understanding
chou500
0
190
CDCL による厳密解法を採用した MILP ソルバー
imai448
3
120
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
The Role of Developer Relations in AI Product Success.
giftojabu1
0
130
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
160
AI前提のサービス運用ってなんだろう?
ryuichi1208
8
1.4k
Lexical Analysis
shigashiyama
1
150
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
Embracing the Ebb and Flow
colly
84
4.5k
Designing Experiences People Love
moore
138
23k
Documentation Writing (for coders)
carmenintech
65
4.4k
Faster Mobile Websites
deanohume
305
30k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
420
Typedesign – Prime Four
hannesfritz
40
2.4k
Done Done
chrislema
181
16k
Building Adaptive Systems
keathley
38
2.3k
Fireside Chat
paigeccino
34
3k
It's Worth the Effort
3n
183
27k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Transcript
#RAKUSMeetup ©2021 RAKUS Co., Ltd. ラクスの技術スタックを新陳代謝し開発 を加速させる取り組み 2021/08/04(水)RAKUS Meetup 開発戦略・マネジメント
技術推進課 岡本拓也 1
#RAKUSMeetup 岡本 拓也 • Job ◦ 株式会社ラクス技術推進課に所属 ◦ 先行技術検証 ◦ 非エンジニア向けの技術勉強会の開催
• Career ◦ 2017年〜Webエンジニア ◦ Spring FW、AWS、Nuxt.js ◦ Java研修講師、資格対策本の執筆 ◦ 2020年〜株式会社ラクスに入社 • Hobby ◦ 野球 ◦ 筋トレ ◦ アウトドア ▪ 釣り ▪ キャンプ 2
#RAKUSMeetup 今日お話しする内容 • 設立20年以上の開発組織が抱えていた、技術スタックの陳腐化に よる危機感 • 技術スタックを陳腐化させないために、技術スタックを 新陳代謝して開発を加速させる技術推進課の取り組み 1. 技術推進課立ち上げの経緯と役割
2. 技術推進課の取り組みの紹介 3. 今後の展望 3
#RAKUSMeetup 技術推進課の紹介 4
#RAKUSMeetup 株式会社ラクス開発部のVISION VISION達成のために、組織力と技術力を強化しています 一方で・・・ 5
#RAKUSMeetup 技術力に関しては危機感が・・・ 6 ちょっとやばいか も・・・
#RAKUSMeetup 危機感① ソフトウェア業界のトレンドを十分にキャッチアップできていない • 創業20年を迎え、一部サービスはレガシーシステムに・・・ ◦ 技術スタックもどんどん陳腐化してく • この状態で新サービスを立ち上げると、既存の技術スタックで開発をすることに ◦
新しい技術は開発効率や品質面で優れているはず ◦ しかし、立ち上げ時に新技術を検証している時間がない • 新サービス開発時の生産性向上が見込めないのでは 7
#RAKUSMeetup 危機感② 後発の競合他社に技術的に優位に立たれてしまうのでは • 次々と競合が誕生するBtoBのSaaS領域 • 後発の競合サービスに、 機能開発速度やサービスの品質面で技術的な遅れをとってしまうのでは • 採用面でも不利になる可能性も
危機感はあるものの・・・ 8
#RAKUSMeetup 危機感はあるものの • 新しい技術を検証し、導入することが困難であった ◦ サービス開発が優先で時間的制約が多い ◦ このままでは危機感が現実に • 技術トレンドをキャッチアップ・習得する専門の組織を立ち上げ
◦ 新しい技術を必要な時にいつでも利用できる体制を整える →技術推進課 9 技術の更新 もしたいけど 開発優先
#RAKUSMeetup 技術推進課 • 新技術を調査・検証する専門の組織として2020年立ち上げ • Mission ◦ 高い技術力を生かし、エンジニア組織の開発速度アップに寄与する • 役割
◦ ラクスでは導入できていない新技術の調査・検証 ▪ 新サービス立ち上げ時の開発速度アップ ◦ 各サービス開発チームへの新技術の提案、導入支援 ▪ 既存サービスの新規機能開発速度アップ 10
#RAKUSMeetup 危機感を解決するための取り組み • 技術ロードマップ ◦ 5年後までにラクス開発部が蓄積すべき技術要素をまとめたもの ◦ 経年に陳腐化するため毎年更新している ◦ ラクスがSaaSを開発していく上で必要な技術のみを掲載
Kubernetes・FIDO2・Deep learning・SPAセキュリティテスト ブロックチェーン、ゲーム関連技術 • 技術ロードマップの技術の習得方法として技術推進PJ 11
#RAKUSMeetup 技術推進PJの紹介 12
#RAKUSMeetup 技術推進PJ • 概要 ◦ 技術ロードマップの未習得の技術を習得するための研究開発PJ ◦ ラクス開発部で習得できていない新技術を組織として習得する ◦ 1年で7〜8テーマのPJが動いている
• メンバー構成 ◦ リーダー1名+メンバー1〜2名 ◦ 技術推進課のメンバー or 各サービス開発チームのエンジニアが参加 • 期間 ◦ 週5時間の稼働で半年間、調査・検証・成果発表を行う 13
#RAKUSMeetup 技術推進PJの事例(モバイルクロスプラットフォーム) • ラクスの課題 ◦ 開発チームはWebエンジニアがメインで構成されている ◦ 既存サービスや新サービスでモバイルアプリの開発要件があった場合、 モバイルアプリ開発にかかる工数を削減できるツールを習得する必要がある •
調査・検証内容 ◦ 以下の観点でネイティブアプリと比較して開発の省力化を評価 ▪ 開発環境、学習コスト、実装コスト、ネイティブ機能実現 ◦ Ionic Framework、React Native、Flutterとネイティブアプリ (Swift、Kotlin)を比較 14 VS VS
#RAKUSMeetup 技術推進PJの事例(モバイルクロスプラットフォーム) • 結論 ◦ Flutterが最も開発を省力化できる ▪ デバッグツールやプラグインが高機能でネイティブと遜色がない ▪ DartがWebアプリエンジニアにとって学習コストが低い
◦ モバイルクロスプラットフォームの技術検証 - RAKUS Developers Blog | ラクス エンジニアブログ • 成果 ◦ あるサービスで新規でスマホアプリ開発の要求が上がっており、外注も視野に入れ ていたが、検証結果を元に提案することでFlutterでの内製に決定 ◦ 開発速度アップに寄与・新技術をいつでも使える状態 15
#RAKUSMeetup 技術推進PJの事例(GraphQL) • ラクスの課題 ◦ ビジネスドメイン知識に基づいて構築されるバックエンドと、柔軟に変化・多様化す るフロントエンドの間で柔軟なデータ通信を可能にしたい ◦ GraphQLが解決策となり得るか、運用上の課題についても検証する •
調査・検証内容 ◦ モノリシックなアプリケーションと、BFFアーキテクチャのアプリケーションに GraphQLを導入してみる ◦ スキーマファーストな開発により柔軟なデータ通信が可能かを検証 16 GraphQL ➕ ➕ ➕ モノリシック BFF
#RAKUSMeetup 技術推進PJの事例(GraphQL) • 結論 ◦ GraphQLを導入することでFEとBEの実装を切り離せて疎結合にできる ◦ FEとBEは定義ファイルの情報を元に必要なデータのみを取得・提供できるので、柔 軟なデータ通信を実現できる ◦
GraphQLのアプリケーションへの組み込みを考える - RAKUS Developers Blog | ラクス エンジニアブログ • 成果 ◦ 検証→導入という流れではないが、楽楽明細で運用改善でGraphQLを導入 ◦ 研究結果とサービスでの導入実績で新技術をいつでも利用できる状態 17 お互いどう実装してるかは知らない フロントエンド バックエンド
#RAKUSMeetup その他のテーマについて • その他テーマ ◦ 無停止リリース・AutoML・マイクロサービス ・CSSプラットフォーム • RAKUS Developers
Blogで「かみせん」と検索 かみせん カテゴリーの記事一覧 - RAKUS Developers Blog | ラクス エンジニアブログ 18
#RAKUSMeetup 技術推進課の今後の展望 19
#RAKUSMeetup 今後の展望 • 新サービス立ち上げ時の開発速度アップに寄与する ◦ 技術ロードマップの技術を習得しラクスの技術スタックを 新陳代謝させてく ◦ 習得した技術を新サービス立ち上げ時に導入して開発速度をアップ •
既存サービスの技術的課題への取り組み ◦ サービス固有の技術的課題に対応していく ◦ 新機能開発時の開発速度アップや運用コストの削減に寄与する 20