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
サーバーレスアーキテクチャでサクッと作るアイマスbot
Search
Keiichi Nomura
July 06, 2019
Technology
1
930
サーバーレスアーキテクチャでサクッと作るアイマスbot
Keiichi Nomura
July 06, 2019
Tweet
Share
More Decks by Keiichi Nomura
See All by Keiichi Nomura
チーム開発のふりかえり2024 #devio2024
k1style
0
220
ECサイト向け決済機能の開発で学んだ外部決済サービスの活用ポイント
k1style
1
1.7k
開発チームリーダーとしてやってきたことのふりかえり
k1style
0
1.2k
【EC/CRM基盤開発】 prismatix事業部 Devチーム(サーバーサイドエンジニア)の紹介 / Prismatix server side engineer job introduction
k1style
0
1.3k
外部決済サービスを利用する上での脆弱ポイントと対策 / Vulnerable points and countermeasures for using external payment services
k1style
0
1.6k
外部決済サービスを利用した開発の反省と改善 #devio2021 / Introspection and Improvement of Development with External Payment Services
k1style
0
1.5k
Developers.IO 2020 Connect Day5 ECサイトの決済システムを作るなら知っておきたいこと / Developers.IO 2020 Connect Day5 Payment Development Flow With E-commerce Site
k1style
0
4.4k
私が考えるAWSを使ったアイマスHack
k1style
1
1k
Other Decks in Technology
See All in Technology
Google Cloud で始める Cloud Run 〜AWSとの比較と実例デモで解説〜
risatube
PRO
0
120
サーバーなしでWordPress運用、できますよ。
sogaoh
PRO
0
140
re:Invent をおうちで楽しんでみた ~CloudWatch のオブザーバビリティ機能がスゴい!/ Enjoyed AWS re:Invent from Home and CloudWatch Observability Feature is Amazing!
yuj1osm
0
140
[Ruby] Develop a Morse Code Learning Gem & Beep from Strings
oguressive
1
200
なぜCodeceptJSを選んだか
goataka
0
190
生成AIのガバナンスの全体像と現実解
fnifni
1
230
いまからでも遅くないコンテナ座学
nomu
0
150
Fearsome File Formats
ange
0
340
事業貢献を考えるための技術改善の目標設計と改善実績 / Targeted design of technical improvements to consider business contribution and improvement performance
oomatomo
0
170
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
250
クレカ・銀行連携機能における “状態”との向き合い方 / SmartBank Engineer LT Event
smartbank
2
110
PHPerのための計算量入門/Complexity101 for PHPer
hanhan1978
5
780
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
335
57k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
YesSQL, Process and Tooling at Scale
rocio
170
14k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.6k
Designing for humans not robots
tammielis
250
25k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Testing 201, or: Great Expectations
jmmastey
41
7.1k
Building Your Own Lightsaber
phodgson
103
6.1k
Measuring & Analyzing Core Web Vitals
bluesmoon
5
180
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
Transcript
サーバーレスアーキテクチャでサクッと 作るアイマスbot 2019/07/06 IM@S Engineer Talks nomura.keiichi(K1)
自己紹介 K1 ( 野村啓一 : nomura.keiichi) @k1_style クラスメソッド株式会社 事業開発部所属 アプリケーションエンジニア(サーバサイド)
Java(Spring Boot, Gradle), AWS 竜宮小町・セクシーギルティ・放課後クライマックスガールズP
今日話すこと サーバーレスアーキテクチャとは AWS SAM で、アイドルがSlack で喋りかけてくれる風bot を試しに作った
サーバーレスアーキテクチャとは
サーバーレスアーキテクチャとは サーバー管理を意識せずアプリケーションやサービスを構築して実 行する手法のこと。 コード実行環境がすぐ利用できる サーバーのOS やミドルウェア等の管理は不要 AWS によるサーバーレスアーキテクチャの解説 https://aws.amazon.com/jp/lambda/serverless-architectures-learn- more/
AWS SAM
AWS SAM AWS のサーバーレスアプリケーション構築用フレームワーク 利用するAWS 環境を定義するテンプレートと、メインロジックと なるプログラムを開発者が用意 SAM で用意されたCLI でテスト・ビルド・デプロイを実施
https://aws.amazon.com/jp/serverless/sam/
サーバーレスアプリケーションに必要な環境の定義をテンプレート に記載
AWS Lambda で動作するロジックを実装
サーバーレスアプリケーションのテスト・ビルド・デプロイをCLI で 実行 sam local invoke --template template.yaml --event "App-event.json"
2019-07-05 22:33:56 Found credentials in environment variables. 2019-07-05 22:33:56 Invoking handler.App (java8) < 中略> {"body":"{ \"message\": \" 次もこの調子でいくわよ!\" }","headers":{"X-Custom-Header"
AWS Toolkit AWS SAM の機能をIDE 上で容易に実行可能にできるIDE プラグイン IntelliJ https://aws.amazon.com/jp/intellij/ eclipse
https://aws.amazon.com/jp/eclipse/ Visual Studio https://aws.amazon.com/jp/visualstudio/
【参考】AWS Toolkit for JetBrains 使ってみたブログ https://dev.classmethod.jp/cloud/aws/aws-toolkit-for-jetbrains-with- java8-gradle/
Slack でアイドルが喋りかけてくれる風bot を試 しに作った
いおりんbot
デモ curl -s https://xxx.execute-api.region.amazonaws.com/Prod/hello/ 用意したエンドポイントを叩くと、Slack でいおりんが発言する
やったこと 1. Slack でBot を用意する 2. AWS Toolkit 導入済みのIntelliJ でAWS
Serverless Application のプロ ジェクト作成 3. Bot のエンドポイント等AWS 環境の定義をtemplate.yaml に記述 4. Bot で動かすプログラムとユニットテストを書く 5. AWS Toolkit 使ってデプロイ
ソースコード https://github.com/K1-Style/imas-slack-iorin-bot 近日中に、README と解説ブログまとめます。
まとめ サーバーレスアーキテクチャの恩恵を活かして、有用なアイマスbot を量産していこう
https://k1-style.net @k1_style