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入門.pdf
Search
dach
October 02, 2019
Technology
360
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ローカル環境から始めるAWS_Lambda入門.pdf
dach
October 02, 2019
More Decks by dach
See All by dach
dbt_ベストプラクティス_完全に理解した.pdf
dach
2
1.2k
プロジェクトマネージャーと炎の回避術
dach
0
990
SLO_By_Google_Cloud_Monitoring
dach
0
230
状態遷移テスト完全に理解しよう.pdf
dach
0
890
JWT完全に理解しよう-認証編-.pptx.pdf
dach
0
840
JWT完全に理解しよう-公開鍵編-.pptx.pdf
dach
0
740
チームの垣根を越境する_チーム間交換留学
dach
0
110
設計書のないサービスとの付き合い方.pptx.pdf
dach
0
210
designからWebページを作るやりかた完全に理解した.pdf
dach
1
400
Other Decks in Technology
See All in Technology
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
Invisible to AI? Making TYPO3 Sites Quotable by AI Search Systems
wolfgangwagner
0
200
モダンフロントエンド 開発研修
recruitengineers
PRO
4
630
社内の7割が使うデータ基盤を、 データチーム2人で回すためにやったこと
koh_yoshi
4
1.3k
修正PRを食べてレビュースキルが賢くなる:Claude Codeによる自己改善サイクル
yuyaumetsu
6
1.5k
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
強化学習「理論」入門
enakai00
3
3.6k
20260608_Codexの可能性_ノンプログラマー向け_大城追記
doradora09
PRO
0
800
その“隠したつもり”が命取り ── 自前と平文をやめて「正解」に委ねる
kuroneko13
0
120
私がブラウザを自作したくなった理由
supurazako
1
230
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
19k
Head First モブプログラミング / Head First Mobprogramming
takaking22
10
12k
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.9k
Raft: Consensus for Rubyists
vanstee
141
7.6k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
270
Building Flexible Design Systems
yeseniaperezcruz
330
40k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
200
Color Theory Basics | Prateek | Gurzu
gurzu
0
410
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
280
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Being A Developer After 40
akosma
91
590k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.3k
Transcript
ローカル環境から始める AWS Lambda入門 @i-dach 2019/10
Who are you ? 職業 • 現在:カイゼンエンジニア • 将来:ムキムキカイゼンエンジニア
(トレーニング中) 所属 • DesignOne Japan, inc ◦ DOG主催 / diet部部長 / キックボクシング部部長 ◦ ジェネラリストとしてカイゼン&越境活動 ◦ 設計 / 開発 / 運用 / 保守 趣味 • 呼吸法の研究 • エンジニア • DIY(Iot) ←予定 最近熱いもの • golang Twitter: i-dach qiita: @i-dach github: i-dach 表記揺れ問題解決
今日お伝えしたいこと
Lambdaの挙動って ローカルでも確認できますよ (今更感)
本題に入る前に
Q. AWS Lambda使ってる / 事ある人?
ということで
知らない人のためのざっくり説明 AWS Lambda を使用することで、サーバーのプロビジョニングや管理をすることなく、コードを実行できます。課金は実際に使用した コンピューティング時間に対してのみ発生し、コードが実行されていないときには料金も発生しません。 Lambda を使用すれば、実質どのようなタイプのアプリケーションやバックエンドサービスでも管理を必要とせずに実行できます。コー ドさえアップロードすれば、高可用性を実現しながらコードを実行およびスケーリングするために必要なことは、すべて Lambda によ
り行われます。コードは、他の AWS サービスから自動的にトリガーされるよう設定することも、ウェブまたはモバイルアプリから直接 呼び出すよう設定することもできます。 AWS公式のLPより引用 つまりは、 Serverless !!
① event 簡略化するとこんな使い方 ② なんらかの処理した結果 event source some one
だからこんな使い方したり ① obj put ② event ③ objを加工
こんな使い方もできる ① データ欲しいんだけど... スマホ ② あとは任せた!! API Gateway Lambda
開発はこんなイメージ
どんなことができるか イメージがついたところで
DevOpsについて考えてみよう
DevとOpsをざっくり分解すると 開発します - まずは要求を達成する動くものを - e.g. - 設計 / 実装
/ テスト / デプロイ 運用します - 更にいい子にしましょう / 手のかからない子にしましょう - e.g. - リファクタリング / 監視 / 分析 / 管理
Lambdaにすることでメリデメって?
メリット 開発します - まずは要求を達成する動くものを - e.g. - 設計 / 実装
/ テスト / デプロイ 運用します - 更にいい子にしましょう / 手のかからない子にしましょう - e.g. - リファクタリング / 監視 / 分析 / 管理 やってくれるから 「開発」に集中できる! (後はコストが固定費じゃなくなる) イベントドリブンな 動きが簡単に!
デメリット 開発します - まずは要求を達成する動くものを - e.g. - 設計 / 実装
/ テスト / デプロイ 運用します - 更にいい子にしましょう / 手のかからない子にしましょう - e.g. - リファクタリング / 監視 / 分析 / 管理 利用状況によっては 高く付く ローカルでのテスト 複数人での開発では コンソール向いてない
コンソールでの開発じゃ 運用を考えたときに不安が残る
ようやく本題
Lambdaの挙動って ローカルでも確認できますよ
どいうことか
「Lambda」って どんな技術で動いているかを考える
Lambdaってどうやって動かしてる?
念の為確認
ということは
こういう風になってる かも(予想) EC2
ならdockerを使えば動くはず ※注意: Community Organizationのイメージ
使い方はDocker Hubにある通り docker run [--rm] -v <code_dir>:/var/task [-v <layer_dir>:/opt] lambci/lambda:<runtime>
[<handler>] [<event>]
やってみる $ ls -ltr total 2 -rw-r--r--@ 1 user group
Users 189 10 2 11:12 hello.py $ $ $ $ docker run --rm -v "$PWD":/var/task lambci/lambda:python3.7 hello.hello START RequestId: 52fdfc07-2182-154f-163f-5f0f9a621d72 Version: $LATEST 実行環境: Linux-4.9.184-linuxkit-x86_64-with-glibc2.2.5 実行dir: /var/task 実行users: bx_user1051 END RequestId: 52fdfc07-2182-154f-163f-5f0f9a621d72 REPORT RequestId: 52fdfc07-2182-154f-163f-5f0f9a621d72 Duration: 15.96 ms Billed Duration: 100 ms Memory Size: 1536 MB Max Memory Used: 22 MB null
OSとか異なるけど 簡単な挙動は確認できた
とりあえず学習コスト低めで 試してみようという方は これでも十分だと思うので是非お試しを
aws-sam-cliがあるので 実際に使うならそちらを推奨 ※今回は敢えてaws-sam-cliを使いませんでした
実際に開発するにあたっての ハマリポイント他にもあったりしますが 今回はここまで
まとめ
チキン南蛮最高
ではなく
Lambdaの挙動って ローカルでも確認できますよ
ご利用は計画的に ※注意: 2019/10/2時点
おしまい