Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
AWS Lambda meets Rust ではじめる
Slide 2
Slide 2 text
Yuki Toyoda 事業本部某プロダクト テックリード ❤ 2
Slide 3
Slide 3 text
本を出しました。 買ってください。 『実践 プログラミング入門』 3 宣伝
Slide 4
Slide 4 text
Contents 4 Rust とは、AWS Lambda とは カスタムランタイムを用いた の利用例 AWS Lambda で Rust 登場人物のご紹介 まとめ 1 2 3
Slide 5
Slide 5 text
1. Rust とは、AWS Lambda とは 登場人物のご紹介
Slide 6
Slide 6 text
“A language empowering everyone to build reliable and efficient software.” 6
Slide 7
Slide 7 text
Rust の特徴 7 爆速 や より平均して早 く、 並のスピードが出 る。 がない。 安全♀ 基本的にセグフォしない。 メモリ安全性を強力に担 保しており、 やデータ 競合などはコンパイル時 に検出される。 開発者体験 一貫性がある文法で開発 者を迷わせない。また、 というビルドツール 兼パッケージ管理ツール が最高。
Slide 8
Slide 8 text
先日登壇した資料にさらに詳しく記載した。 プログラミング言語Rustのご紹介 https://speakerdeck.com/helloyuk13/puroguraminguyan-yu-rustfalsegoshao-jie 詳しくは 8
Slide 9
Slide 9 text
いわゆるサーバーレスを実現するためのサービス。 λ AWS Lambda とは 9
Slide 10
Slide 10 text
2. AWS Lambda で Rust カスタムランタイムを使って を 動かしてみる
Slide 11
Slide 11 text
Lambda のカスタムランタイムで Rust を利用可能に 年の後半に「カスタムランタイム」が 登場し、 も実質利用可能になった。 最初の お試しとして個人的に結構 おすすめ。 11
Slide 12
Slide 12 text
やってみるしかない 12 使う必然性はないが、やりたいからやるのだ。
Slide 13
Slide 13 text
● 今回は、リクエストを送ると内容を に保存する を 作る。 ● リクエストを →中でデータを起こす → に保存 できる形に変換する →保存する。 作るもの 13
Slide 14
Slide 14 text
※ クレート のライブラリのこと ● lambda-runtime 向けカスタムランタイム。 ● serde の Ser De をする。 ● rusoto-dynamodb 向けの ○ の 。 ● cargo-aws-lambda 向けバイナリの生成〜リリースまでを 一挙に行ってくれる。 必要なクレート 14
Slide 15
Slide 15 text
● というのが最終的なバイナリ名になる。 ディレクトリ構成 15
Slide 16
Slide 16 text
がつく関数はマクロである。 がエントリポイント。 lambda-runtime を用意しておく 16
Slide 17
Slide 17 text
の中身を定義しておく。 lambda-runtime を用意しておく 17
Slide 18
Slide 18 text
アトリビュート(他言語だとアノテーションとも)を定義するだけ。 serde を使って JSON のパースをできるようにする 18
Slide 19
Slide 19 text
が扱えるように構造体を に変換する。 DynamoDB へ保存する 19
Slide 20
Slide 20 text
保存をかける。 DynamoDB へ保存する 20
Slide 21
Slide 21 text
デプロイ 21 ● がかなり便利で、これを使っておく。 向けの プラグイン。 ● の公式では、クロスビルドの設定が必要など、いくつか注意 点がある。 ● ならこれをインストールしておいて、設定ファイル を書いて実行するだけ。
Slide 22
Slide 22 text
の を に追加する。複数指定できる。 デプロイ 22
Slide 23
Slide 23 text
コマンドを叩く。 デプロイ 23
Slide 24
Slide 24 text
デプロイ 24
Slide 25
Slide 25 text
3. まとめ まとめ
Slide 26
Slide 26 text
● のお試しのために を使うのはおすすめ。 ● 手軽に試すために必要なクレートをご紹介した。 ● がビルド周りのめんどくささを一気に解消。 ● Rust はいいぞ。←一番大事 ● コード https://github.com/yuk1ty/aws-lambda-rust-example まとめ 26
Slide 27
Slide 27 text
についての質問や、導入のご相談はいつでもどうぞ! 27 ご清聴ありがとうございました