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
AWS Lambda ではじめる Rust
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yuki Toyoda
August 26, 2020
730
2
Share
AWS Lambda ではじめる Rust
AWS GameDay in CyberAgent で発表した資料です。
Yuki Toyoda
August 26, 2020
More Decks by Yuki Toyoda
See All by Yuki Toyoda
パフォーマンスクリティカルな領域へのRust活用戦略
helloyuk13
4
840
Context Oriented Programming of Kotlin
helloyuk13
3
5.3k
カジュアルコントリビュータと学ぶRustコンパイラ
helloyuk13
3
1.9k
2025 年の Rust はどこに向かっているのか?
helloyuk13
6
1.4k
RustでWeb開発コソコソ噂話
helloyuk13
15
20k
SeaQL Projectsについて
helloyuk13
1
630
年末ですし、今年のRustの進捗の話をしましょう
helloyuk13
2
3.1k
SwiftでAWS Lambda
helloyuk13
0
280
Rustハンズオン@エウレカ社
helloyuk13
22
11k
Featured
See All Featured
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
290
The Art of Programming - Codeland 2020
erikaheidi
57
14k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
110
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
We Are The Robots
honzajavorek
0
220
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.4k
ラッコキーワード サービス紹介資料
rakko
1
3.1M
Designing for Timeless Needs
cassininazir
0
210
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Transcript
AWS Lambda meets Rust ではじめる
Yuki Toyoda 事業本部某プロダクト テックリード ❤ 2
本を出しました。 買ってください。 『実践 プログラミング入門』 3 宣伝
Contents 4 Rust とは、AWS Lambda とは カスタムランタイムを用いた の利用例 AWS Lambda
で Rust 登場人物のご紹介 まとめ 1 2 3
1. Rust とは、AWS Lambda とは 登場人物のご紹介
“A language empowering everyone to build reliable and efficient software.”
6
Rust の特徴 7 爆速 や より平均して早 く、 並のスピードが出 る。 がない。
安全♀ 基本的にセグフォしない。 メモリ安全性を強力に担 保しており、 やデータ 競合などはコンパイル時 に検出される。 開発者体験 一貫性がある文法で開発 者を迷わせない。また、 というビルドツール 兼パッケージ管理ツール が最高。
先日登壇した資料にさらに詳しく記載した。 プログラミング言語Rustのご紹介 https://speakerdeck.com/helloyuk13/puroguraminguyan-yu-rustfalsegoshao-jie 詳しくは 8
いわゆるサーバーレスを実現するためのサービス。 λ AWS Lambda とは 9
2. AWS Lambda で Rust カスタムランタイムを使って を 動かしてみる
Lambda のカスタムランタイムで Rust を利用可能に 年の後半に「カスタムランタイム」が 登場し、 も実質利用可能になった。 最初の お試しとして個人的に結構 おすすめ。
11
やってみるしかない 12 使う必然性はないが、やりたいからやるのだ。
• 今回は、リクエストを送ると内容を に保存する を 作る。 • リクエストを →中でデータを起こす → に保存
できる形に変換する →保存する。 作るもの 13
※ クレート のライブラリのこと • lambda-runtime 向けカスタムランタイム。 • serde の Ser
De をする。 • rusoto-dynamodb 向けの ◦ の 。 • cargo-aws-lambda 向けバイナリの生成〜リリースまでを 一挙に行ってくれる。 必要なクレート 14
• というのが最終的なバイナリ名になる。 ディレクトリ構成 15
がつく関数はマクロである。 がエントリポイント。 lambda-runtime を用意しておく 16
の中身を定義しておく。 lambda-runtime を用意しておく 17
アトリビュート(他言語だとアノテーションとも)を定義するだけ。 serde を使って JSON のパースをできるようにする 18
が扱えるように構造体を に変換する。 DynamoDB へ保存する 19
保存をかける。 DynamoDB へ保存する 20
デプロイ 21 • がかなり便利で、これを使っておく。 向けの プラグイン。 • の公式では、クロスビルドの設定が必要など、いくつか注意 点がある。 •
ならこれをインストールしておいて、設定ファイル を書いて実行するだけ。
の を に追加する。複数指定できる。 デプロイ 22
コマンドを叩く。 デプロイ 23
デプロイ 24
3. まとめ まとめ
• のお試しのために を使うのはおすすめ。 • 手軽に試すために必要なクレートをご紹介した。 • がビルド周りのめんどくささを一気に解消。 • Rust はいいぞ。←一番大事
• コード https://github.com/yuk1ty/aws-lambda-rust-example まとめ 26
についての質問や、導入のご相談はいつでもどうぞ! 27 ご清聴ありがとうございました