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
Serverless Scala
Search
arai-yusuke
May 28, 2016
Technology
0
2k
Serverless Scala
Lightweight Use Of Scala On AWS
arai-yusuke
May 28, 2016
Tweet
Share
More Decks by arai-yusuke
See All by arai-yusuke
Play Scala on AWS, C10K and DevOps
cmaraiyusuke
2
1.4k
Scala: Mobile Backend on AWS
cmaraiyusuke
1
760
Other Decks in Technology
See All in Technology
Talk to Someone At Delta Airlines™️ USA Contact Numbers
travelcarecenter
0
160
SREの次のキャリアの道しるべ 〜SREがマネジメントレイヤーに挑戦して、 気づいたこととTips〜
coconala_engineer
1
4.3k
ゼロから始めるSREの事業貢献 - 生成AI時代のSRE成長戦略と実践 / Starting SRE from Day One
shinyorke
PRO
0
110
組織内、組織間の資産保護に必要なアイデンティティ基盤と関連技術の最新動向
fujie
0
270
無理しない AI 活用サービス / #jazug
koudaiii
0
100
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
6.9k
毎晩の 負荷試験自動実行による効果
recruitengineers
PRO
5
180
LLM拡張解体新書/llm-extension-deep-dive
oracle4engineer
PRO
23
6.2k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.7k
アクセスピークを制するオートスケール再設計: 障害を乗り越えKEDAで実現したリソース管理の最適化
myamashii
1
660
Copilot coding agentにベットしたいCTOが開発組織で取り組んだこと / GitHub Copilot coding agent in Team
tnir
0
190
【あのMCPって、どんな処理してるの?】 AWS CDKでの開発で便利なAWS MCP Servers特集
yoshimi0227
6
950
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
We Have a Design System, Now What?
morganepeng
53
7.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
990
Documentation Writing (for coders)
carmenintech
72
4.9k
Designing for humans not robots
tammielis
253
25k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Transcript
SERVERLESS SCALA Lightweight Use Of Scala On AWS Yusuke A.
/ Classmethod, Inc.
WHOAMI Yusuke Arai Server App Programmer / AWS Solutions Architect
http://dev.classmethod.jp/author/arai-yusuke/
クラスメソッドでは、iOS / Android ネイティブアプリの 受託開発を行っています。 バックエンドチー ムは、 アプリのバックエンドになる API サー
バー の開発を行います。API サー バー は、AWS 上 で動作するPlay Scala アプリとして開発されます。
クラスメソッドのバックエンドチー ムは、 普段Play や Akka などのエコシステムやDDD の手法を用いた開発を行 っています。 ですが、 今日はその話ではなく……
Scala を始めるにあたって壁になりがちな" ある部分" を サクっと乗り越えるためのお話をします。
SCALA 初学者のぶつかる壁( 例) エコシステム(Play) が関数型の語法を用いる JSON Reads / Writes (Type
class, Applicative) Iteratee / Enumerator 初学者に優しくないSlick3 のモナり具合 JVM アプリについて学ぶ必要がある DevOps はElastic Beanstalk やHeroku ならある程度は ラップされているけど、 あくまで「 ある程度」 であ って、 程なくしてJVM への理解を要求される。 公開したいならEC2 なりVPS なりのリソー スが必要
SCALA 初学者が本当に思っていること はわからないので、 自分が初学者の頃に感じていたこと 言語を学んだは良いが何をすればいいのかわからない 何をしようと思っても難易度が高い Rails のような親しみ安さがない 取り敢えず何か小さいアプリ作ってみたい そしてそれをサクッと公開してみたい
突然ですが、AWS Lambda をご存知ですか?
AWS LAMBDA Function as a Service 実行可能なコー ドを用意してLambda Function を作成
イベントソー ス( 着火剤) を用意し、Function を実行 処理結果を受け取ることができる (AWS ネイティブ的に使おうとするならもっと色々 機能があります!)
AWS LAMBDA の特徴 実行リクエスト秒数とリクエスト数に対する課金 待機時間にはお金がかからない EC2 だとt2.micro 一ヶ月で15$ 前後かかる Lambda
なら使われなければお金はかからない さらにAWS の無期限無料枠がある 100 万リクエスト/ 月まで無料 最大で320 万秒コンピュー ティング時間/ 月まで無料
突然ですが、Amazon API Gateway をご存知ですか?
AMAZON API GATEWAY 複数のバックエンドリソー スをIntegrate してREST API としてHTTPS で公開できる バックエンドリソー
スとして以下が利用可能 AWS Lambda その他のアプリケー ション(HTTP) モック AWS Lambda がバックエンドリソー スとして扱えるこ とが大きなポイントで、 これによってEC2 なしでも標 準的なREST API が構築可能となった。
AWS Lambda は Node, Python, Java で動きます。
Scala でも動きます。
百聞は一見に如かず、 ですよね?
Live Coding & Demo code are also available at GitHub
Repo https://github.com/kawashirosan/scala-fukuoka-lambda
続くみなさんのセッションで学ぶことを生かしつつ よく利用するチャットツー ル(Typetalk, Slack, LINE, chatwork, etc) とのインテグレー ションをサクッと作っ てみると、
きっと楽しいと思います!
デモが終わって時間があれば触れたいこと Apex AWS Lambda のデプロイ管理ツー ル。Golang 製 サー バー レスアー
キテクチャの利点 フルマネー ジドなら可用性を考えなくていい サー バー レスアー キテクチャでの永続化層 フルマネー ジドならDynamoDB Lambda VPC を使うならRDS, Elasticache, and so on サー バー レスアー キテクチャの未来 大規模アプリを作る妄想をする Micorservices の先で、 モノリシックの対極 現時点では難易度かなり高く現実的ではない
今日のまとめ AWS Lambda / Amazon API Gateway を使ったサー バー レス環境で、
手軽に・ 安く・ 明日から稼働するアプリ をScala で作ってみよう! Scala アプリ開発の学習環境としても、 個人~ 小規模ア プリのデプロイ先としても、AWS Lambda / API Gateway はおすすめできます。 Scala にもサー バー レスアー キテクチャにも興味を持っ ていただけたら、 そして身近に感じていただけたら嬉 しいです
ご清聴ありがとうございました。 Demo code are available at GitHub Repo https://github.com/kawashirosan/scala-fukuoka-lambda