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
960
サーバーレスアーキテクチャでサクッと作るアイマスbot
Keiichi Nomura
July 06, 2019
Tweet
Share
More Decks by Keiichi Nomura
See All by Keiichi Nomura
チーム開発のふりかえり2024 #devio2024
k1style
0
270
ECサイト向け決済機能の開発で学んだ外部決済サービスの活用ポイント
k1style
1
1.8k
開発チームリーダーとしてやってきたことのふりかえり
k1style
0
1.3k
【EC/CRM基盤開発】 prismatix事業部 Devチーム(サーバーサイドエンジニア)の紹介 / Prismatix server side engineer job introduction
k1style
0
1.4k
外部決済サービスを利用する上での脆弱ポイントと対策 / Vulnerable points and countermeasures for using external payment services
k1style
0
1.7k
外部決済サービスを利用した開発の反省と改善 #devio2021 / Introspection and Improvement of Development with External Payment Services
k1style
0
1.6k
Developers.IO 2020 Connect Day5 ECサイトの決済システムを作るなら知っておきたいこと / Developers.IO 2020 Connect Day5 Payment Development Flow With E-commerce Site
k1style
0
4.5k
私が考えるAWSを使ったアイマスHack
k1style
1
1.1k
Other Decks in Technology
See All in Technology
Twelve-Factor-Appから学ぶECS設計プラクティス/ECS practice for Twelve-Factor-App
ozawa
3
160
もう難しくない!誰でもカンタンDocker入門 〜30分であなたのPCにアプリを立ち上げる〜
devops_vtj
0
180
SREからゼロイチプロダクト開発へ ー越境する打席の立ち方と期待への応え方ー / Product Engineering Night #8
itkq
2
1.1k
QA/SDETの現在と、これからの挑戦
imtnd
0
220
Microsoft Fabric vs Databricks vs (Snowflake) -若手エンジニアがそれぞれの強みと違いを比較してみた- "A Young Engineer's Comparison of Their Strengths and Differences"
reireireijinjin6
1
130
AIと共に乗り越える、 入社後2ヶ月の苦労と学習の軌跡
sai_kaneko
0
190
AWSの新機能検証をやる時こそ、Amazon Qでプロンプトエンジニアリングを駆使しよう
duelist2020jp
1
330
AI 코딩 에이전트 더 똑똑하게 쓰기
nacyot
0
460
Aspire をカスタマイズしよう & Aspire 9.2
nenonaninu
0
360
バクラクの認証基盤の成長と現在地 / bakuraku-authn-platform
convto
4
880
勝手に!深堀り!Cloud Run worker pools / Deep dive Cloud Run worker pools
iselegant
4
620
MCPを理解する
yudai00
12
9.1k
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
523
40k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
The Pragmatic Product Professional
lauravandoore
33
6.6k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
How to Think Like a Performance Engineer
csswizardry
23
1.6k
Thoughts on Productivity
jonyablonski
69
4.6k
The Language of Interfaces
destraynor
157
25k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Scaling GitHub
holman
459
140k
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.5k
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