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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Satoshi Yoshikawa
November 30, 2024
Technology
260
0
Share
Fairy DevicesがRustを採用して 5年が経ちました
Rust.Tokyo 2024 でのFairy Devicesのスポンサーセッションです。
https://rust.tokyo/lineup/7
Satoshi Yoshikawa
November 30, 2024
More Decks by Satoshi Yoshikawa
See All by Satoshi Yoshikawa
Fairy DevicesでのRust活用
emergent
0
510
ONNX推論クレートの比較と実装奮闘記
emergent
1
1.1k
フェアリーデバイセズがRustを 採用して3年が過ぎました
emergent
1
1.1k
Other Decks in Technology
See All in Technology
サイバーフィジカル社会とは何か / What Is a Cyber-Physical Society?
ks91
PRO
0
170
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
74k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
JOAI2026講評会資料(近藤佐介)
element138
1
110
DevOpsDays Tokyo 2026 軽量な仕様書と新たなDORA AI ケイパビリティで実現する、動くソフトウェアを中心とした開発ライフサイクル / DevOpsDays Tokyo 2026
n11sh1
0
110
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
5
14k
Azure Static Web Apps の自動ビルドがタイムアウトしやすくなった状況に対応した件/global-azure2026
thara0402
0
170
システムは「動く」だけでは足りない 実装編 - 非機能要件・分散システム・トレードオフをコードで見る
nwiizo
3
360
ストライクウィッチーズ2期6話のエイラの行動が許せないのでPjMの観点から何をすべきだったのかを考える
ichimichi
1
360
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
390
生成AI時代のエンジニア育成 変わる時代と変わらないコト
starfish719
0
700
AIエージェントを構築して感じた、AI時代のCDKとの向き合い方
smt7174
1
230
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.2k
The Curious Case for Waylosing
cassininazir
0
290
Leo the Paperboy
mayatellez
7
1.6k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
720
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
370
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
110
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Amusing Abliteration
ianozsvald
1
150
GitHub's CSS Performance
jonrohan
1032
470k
The Cost Of JavaScript in 2023
addyosmani
55
9.8k
Practical Orchestrator
shlominoach
191
11k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
200
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