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
Fairy DevicesがRustを採用して 5年が経ちました
Search
Satoshi Yoshikawa
November 30, 2024
Technology
0
220
Fairy DevicesがRustを採用して 5年が経ちました
Rust.Tokyo 2024 でのFairy Devicesのスポンサーセッションです。
https://rust.tokyo/lineup/7
Satoshi Yoshikawa
November 30, 2024
Tweet
Share
More Decks by Satoshi Yoshikawa
See All by Satoshi Yoshikawa
Fairy DevicesでのRust活用
emergent
0
410
ONNX推論クレートの比較と実装奮闘記
emergent
1
880
フェアリーデバイセズがRustを 採用して3年が過ぎました
emergent
1
910
Other Decks in Technology
See All in Technology
オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of an ID Management, Authentication, and Authorization Platform Nurtured with Observability
kaminashi
1
720
だいたい分かった気になる 『SREの知識地図』 / introduction-to-sre-knowledge-map-book
katsuhisa91
PRO
3
1.4k
AI時代、“平均値”ではいられない
uhyo
8
2.6k
クラウドとリアルの融合により、製造業はどう変わるのか?〜クラスメソッドの製造業への取組と共に〜
hamadakoji
0
430
Kubernetes self-healing of your workload
hwchiu
0
550
マルチエージェントのチームビルディング_2025-10-25
shinoyamada
0
180
AIエージェントによる業務効率化への飽くなき挑戦-AWS上の実開発事例から学んだ効果、現実そしてギャップ-
nasuvitz
5
1.2k
SCONE - 動画配信の帯域を最適化する新プロトコル
kazuho
1
380
DSPy入門
tomehirata
0
110
会社を支える Pythonという言語戦略 ~なぜPythonを主要言語にしているのか?~
curekoshimizu
3
770
Azureコストと向き合った、4年半のリアル / Four and a half years of dealing with Azure costs
aeonpeople
1
300
SRE × マネジメントレイヤーが挑戦した組織・会社のオブザーバビリティ改革 ― ビジネス価値と信頼性を両立するリアルな挑戦
coconala_engineer
0
260
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
620
Building Adaptive Systems
keathley
44
2.8k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Speed Design
sergeychernyshev
32
1.2k
Optimizing for Happiness
mojombo
379
70k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Unsuck your backbone
ammeep
671
58k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Transcript
Rust.Tokyo 2024 スポンサーセッション Fairy DevicesがRustを採用して 5年が経ちました 2024−11−30 Fairy Devices株式会社
1
本日のトピック • Fairy Devicesの紹介 • Fairy DevicesでのRust利用状況の紹介 ◦ Rust採用経緯(Rust.Tokyo 2022振り返り)
◦ Rust開発環境の変化(2022 to 2024) • 入社1年の社員事例紹介(片岡) • まとめと宣伝 2
本日のトピック • Fairy Devicesの紹介 • Fairy DevicesでのRust利用状況の紹介 ◦ Rust採用経緯(Rust.Tokyo
2022振り返り) ◦ Rust開発環境の変化(2022 to 2024) • 入社1年の社員事例紹介(片岡) • まとめと宣伝 3
4
Fairy Devicesのミッション 5 業務支援AIの実現と普及 ヒトが「見ているもの」「聞いていること」「話していること」そして「ヒトの行動」それらを「機械が理解・ 学習・解析できるカタチ」に再設計することで、機械が自然に、そしてココロ優しくヒトを助けるため のテクノロジーを開発しています。
Fairy Devicesのミッション 6 業務支援AIの実現と普及 音声処理技術 遠隔業務支援サービス
7
8
日経トレンディ 2025年ヒット予測ベスト30 1位に当社のTHINKLETを含めたカテゴリが選出 9 https://xtrend.nikkei.com/atcl/contents/18/01086/00001/ 遠隔業務支援以外にも積極的に活用の場を広げています
Fairy Devicesの強み 10
本日のトピック • Fairy Devicesの紹介 • 当社プロダクトでのRustの採用状況紹介 ◦ Rust採用経緯(Rust.Tokyo 2022振り返り)
◦ Rust開発環境の変化(2022 to 2024) • 入社1年の社員事例紹介(片岡) • まとめと宣伝 11
本日のトピック • Fairy Devicesの紹介 • 当社プロダクトでのRustの採用状況紹介 ◦ Rust採用 の経緯(Rust.Tokyo 2022振り返り)
◦ Rust開発環境の変化(2022 to 2024) • 入社1年の社員事例紹介(片岡) • まとめと宣伝 12
Rust採用の経緯 Rust.Tokyo 2022スポンサーセッション フェアリーデバイセズがRustを 採用して3年が過ぎました 13
Rust採用の経緯 • 社内プロダクト(サーバー、クライアントライブラリ等)にはC++で実装されたもの が多くあった • 一方でC++プロダクトをメンテナンスできる社内リソースが不足していた • C++に劣らない性能 でより安全に開発できる プログラミング言語を探した結果、
Rustがフィットした 14
Rust採用のあゆみ(2019〜2022) 15 2019 2020 2021 2022 CATS Backend microservice (small
start) Nyaprus Speech Recognition API (replacement) LINKLET (new product) Product development Personal activity Publish Interviewed …and many trivial works in Rust Publish ※前述のスライドからの抜粋&一部修正
本日のトピック • 自己紹介 • Fairy Devicesの紹介 • Fairy DevicesでのRust利用状況の紹介 ◦
Rust採用経緯(Rust.Tokyo 2022振り返り) ◦ Rust開発環境の変化(2022 to 2024) • 入社1年の社員事例紹介(片岡) • まとめと宣伝 16
2022 → 2024のあゆみ • 業務でRustを扱うメンバーが2倍に • Webサービス(バックエンド)の新規開発はほぼRustで実装 • WebのフロントエンドでRustを採用した事例ができた 17
社内のGitリポジトリ数は 順調に増加中 Gitリポジトリ数(累計) Gitリポジトリ数は 5年で約15倍に
Webアプリ開発で使うクレートの変遷 18 2022年以前 2022〜2024年 Webフレームワーク actix-web, warp axum データベース接続 diesel(※)
sqlx ロガー env_logger, log tracing, tracing-subscriber エラー処理 failure(※) anyhow, thiserror シリアライズ/ デシリアライズ serde serde ※正確には2022年よりも以前から右側をメインに使ってはいる
AWSでRustを使いやすくなった • AWS SDK for Rust の正式リリース(2023-11) • cargo-lambdaでAWS Lambdaを簡単実装&デプロイ
◦ CDKからも扱えるようになっているようです(未使用) 19 https://aws.amazon.com/jp/about-aws/whats-new/2023/11/aws-sdk-rust/
Rust活用領域の拡大 • WebサービスのバックエンドやCLIツールだけでなく 社内ソフトウェアでの活用領域を拡大中 ◦ Webフロントエンド ◦ デバイスソフトウェアへの組み込み 20 Webサービス
デバイス、クライアント バック エンド フロントエ ンド デバイスソ フトウェア サービス 運用CLI ツール ※注:プロダクトのコードを全部Rustで置き換えるという話ではございません
21
• 一般的なプラクティスが少ない 課題に対する解決法が属人化・サイロ化してしまう懸念 • みんな「Rustを使っている」、でも… 技術領域が異なることで新たな壁ができてしまう懸念 活用領域の広がりによる新たな課題 22 社内外での情報発信・技術交流の強化 Rust以外での経験が豊富な人材の採用
本日のトピック • 自己紹介 • Fairy Devicesの紹介 • 当社プロダクトでのRustの採用状況紹介 ◦ Rust採用の経緯(Rust.Tokyo
2022振り返り) ◦ Rust開発環境の変化(2022 to 2024) • 入社1年の社員事例紹介(片岡) • まとめと宣伝 23
現場エンジニアによる開発体験記 自己紹介 - こそこそ個人開発 - 車輪の再開発もどきしたり - 友人のアプリケーション作ったり
- プロダクト開発部 ソフトウェアエンジニア - LINKLET(Webアプリケーション)のフロントエンド、バックエンドの開発 24 副題: 入社して1年が経ちました
Fairy Devices x Rust - Rust の採用歴が長く本番環境で運用している - いろんな知見が溜まっている
- Rust の本の執筆をされている方がいる - コア技術に理解はある - Rust の Slack チャンネルがある - 相談が簡単にできる - やったことの共有も盛んに行われている 25
日々の開発 Rust をたくさんかけて楽しい! けどそんなことばかりじゃない。運用していく中での課題感もある 26
課題感 part ① 依存クレートの定期的なアップデート - Breaking Change & 脆弱性対応 -
ロジックの修正が必要 - ドキュメントの充実させよう - 定常タスクでの対応 - 事前にテストしやすい形にしておこう 27
課題感 part ② 技術的負債の返却 - コードがどんどん古くなるし良い書き方が見つかる - 定期的な改善日の運用(改善 Day) -
どういうところがカバーできているか見えにくい - テスト結果分析(カバレッジ cargo-llvm-cov) 28
課題感 part ③ プロダクトの成長幅の大きさ - THINKLET でやりたいこと、できることがたくさんある - 流行りの
LLM と連携できたら、独自にカスタマイズしていきたいよね - 配信アプリケーションでYouTube とかも使えるから、独自の配信サー バー欲しいよね 29 THINKET x 〇〇 = 無限大
30 Rust 以外の Fairy Devices の面白さ - エンドユーザーとの接点が色々ある - 導入いただいているお客さんの現場同行、工場見学
- 直近滋賀にある工場に訪問させていただいて意見交換など - プロダクトに対して色んなレイヤーのエンジニアがいる - THINKLET 一つとっても - ハードウェア - ソフトウェア - サーバーサイド etc... 最後に
本日のトピック • 自己紹介 • Fairy Devicesの紹介 • 当社プロダクトでのRustの採用状況紹介 ◦ Rust採用の経緯(Rust.Tokyo
2022振り返り) ◦ Rust開発環境の変化(2022 to 2024) • 入社1年の社員事例紹介(片岡) • まとめと宣伝 31
まとめ • 当社でのRust採用事例や現場の声について紹介しました 32
Fairy Devicesでは一緒に働く仲間を募集中です • Webアプリケーション ◦ バックエンド ◦ フロントエンド • クラウドエンジニア
• デバイスソフトウェア • Androidアプリ • QA(品質保証) etc 33 採用ページのQRコード Rustにこだわらず、多様なご経験者を歓迎します
ご清聴ありがとうございました 34