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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Satoshi Yoshikawa
November 30, 2024
Technology
290
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
540
ONNX推論クレートの比較と実装奮闘記
emergent
1
1.1k
フェアリーデバイセズがRustを 採用して3年が過ぎました
emergent
1
1.1k
Other Decks in Technology
See All in Technology
AI Agentをシステムに組み込む前にゆるく向き合ってみる
hayama17
0
130
作る力から、見極める力へ — AI時代に広がるエンジニアの価値と役割
rince
0
330
MUSUBI 田中裕一『AIと共に行う「しごとのリデザイン」- スモールバックオフィス編』AI Ops Lab #4
musubi
0
310
アラート調査向けAIエージェントの本番導入とその後/AI Agents for Alert Investigation: Production Deployment and After
taddy_919
0
100
WebGIS AI Agentの紹介
_shimizu
0
550
飲食店もAIで。レジ締めやハンディシステムをつくってる話 / Using AI for restaurant management
vtryo
0
160
いまさら聞けない「仕様駆動開発入門」 〜AI活用時代の開発プロセスを考える〜
findy_eventslides
2
200
秘密度ラベル初心者が第1歩でつまづかないための「設計・運用」ポイント
seafay
PRO
1
480
AWS Security Agent といっしょに脅威モデリングをやってみよう
amarelo_n24
1
210
本当の”仕事”を手放せる未来が見えた
mu7889yoon
0
110
徹底討論!ECS vs EKS!
daitak
3
1.7k
フィジカル版Github Onshapeの紹介
shiba_8ro
0
320
Featured
See All Featured
How GitHub (no longer) Works
holman
316
150k
How to make the Groovebox
asonas
2
2.2k
From π to Pie charts
rasagy
0
220
How to Think Like a Performance Engineer
csswizardry
28
2.7k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
390
How to Ace a Technical Interview
jacobian
281
24k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
WCS-LA-2024
lcolladotor
0
650
The Invisible Side of Design
smashingmag
301
52k
It's Worth the Effort
3n
188
29k
We Have a Design System, Now What?
morganepeng
55
8.2k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
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