SlideShare a Scribd company logo
Developers.IO 2016
B-1
荒井 祐輔
Ⓒ Classmethod, Inc.
2016年02月20日
Scala:
Mobile Backend on AWS
1
#cmdevio2016
#B
whoami
• Yusuke Arai
• Classmethod (2014/11~)
• Mobile Backend API Team (2015/02~)
• AWS / Scala / Javascript / android
• dev.classmethod.jp/author/arai-yusuke
Today's topics
• Scalaのoverview
• Scalaを使ったモバイルバックエンドAPI
• なぜAWSネイティブの時代にScalaが必要か
• How to 説得 your client in "Scala使います!"
Today's topics
• Scalaのoverview
• Scalaを使ったモバイルバックエンドAPI
• なぜAWSネイティブの時代にScalaが必要か
• How to 説得 your client in "Scala使います!"
Scalaのoverview
Martin Odersky
Deutscher Informatiker / 1958~
Scala
• JVM言語(Javaバイトコードを生成)
• Javaの既存コードを直接参照可能
• 強い静的型付け言語
• 名前は"Scalable"から
Scala の文法
• セミコロンのないJavaっぽくも書ける
• Rubyっぽくも書ける
• 記述量が少ない
• 詳しくはググってくださいm(_ _)m
Scala のウソ・ホント
よく耳にする話
• 関数型のプログラミング言語
• Rubyに近いのでLL経験者なら楽勝
• Javaがわかればすぐに書けるようになる
• エコシステム(Play)はRailsライク
全部ウソです
• 関数型のプログラミング言語
• Rubyに近いのでLL経験者なら楽勝
• Javaがわかればすぐに書けるようになる
• エコシステム(Play)はRailsライク
Scala のホント
Scalaのホント
• 洗練されたOOP言語

ただしHaskellの影響を強く受けており、関数型の
書き方で書くことも可能になっている
• JVMやJava言語への理解が必要
• エコシステム(Play)は強力な型システムを内包し

FP, FRPを前提としている
Not 関数型言語
• 結構ある勘違い「Scalaは関数型言語DA!」
• Scala自体は洗練されたOOP言語
• ただし純粋関数ベースの開発を強くサポートしてる
• Haskellと同じ書き方をしようと思えば可能

主な理由としてScalaがアドホック多相性を表現でき
るから
Java/JVMの理解が必要
• JVMが型消去モデルであること(重要)
• GenericsはJava 1.5で追加されたこと,
ClassManifestの挙動, etc…
• Javaの文法などよりも、Javaの歴史に対する

理解が必要
☓ LL話者なら馴染みやすい
• ScalaはaltJavaとしても利用できるが

それは"Scala言語"に限った話で、エコシステムがそれを

許すとは限らない
• Play Framework 2.4 は強力な型システムを内部に持ち、

随所で型システムへの理解を要求する。
• 例: JsResult は Applicative Functor

Writes は Contravariant Functor
視点を変える
Scala を使っていけば……
• JVMやJavaの歴史について深く理解できる
• 関数型のグッドプラクティスが取り込める
• 型クラス、代数的データ型、関手、モナド

などの鉄板パターンが使えるようになる
• 新しめの言語ではだいたい↑が一部または全部使える

例えばSwiftにもflatMapメソッドが用意されています
• 新しい機能を使いこなし品質の高いアプリを作ることが可能に!

Scalaのoverview
は
こんな感じです
Today's topics
• Scalaのoverview
• Scalaを使ったモバイルバックエンドAPI
• なぜAWSネイティブの時代にScalaが必要か
• How to 説得 your client in "Scala使います!"
Scalaを使った

モバイルバックエンドAPI
モバイルAPIサーバーを作った
• 受託モバイルアプリ案件
• リリース後はC100Kがほぼ間違いない
• 安定して捌くためにフロントAPIサーバーには

Play-Scalaを採用
• バックエンドもAkkaを使いたいという理由から

Play-Scalaにした
開発の進め方
• フルでテスト書く

(全クラスユニットテスト、API毎最低1結合テスト)
• pull reqレビュー必須
• ScalazやCatsは使わない
• 今リリース前なのでパフォーマンス・運用についてのことは何とも
言えない(リリースできていたら運用ノウハウをお伝えしたかったです……)
開発で感じたこと
えげつないほど書きやすい
• ボイラープレートコードの少なさに咽び泣く
• 言語そのものがImmutableを推してくれてる
ことの有り難みを思い知る
• 別にカッコよく書こうとしてないのに関数は

だいたい5行以内にまとまる
めっちゃ読みやすい
• 「Scalaは記号ばっかで読みにくい」って

とおい昔に聞いたことがあった
• それは超Haskellっぽく書いた場合の話だった
• シンプルに書いていくと英語っぽい文脈を持つ
• pull reqレビューが る
なんとなく英語っぽいのです
Akka
• 今回はワーカーをAkka Schedulerで実装
• AkkaのFault Toleranceを買った
• Amazon SQSやAmazon SNSとうまく結合する
• DynamoDB StreamやKinesisとくっつけたら

絶対楽しいでよすね
AWS Java SDKが使える
• AWSのフルマネージドサービス(CognitoやDynamoDB)
とやり取りするアプリを作る場合、

AWS SDKのドキュメンテーション具合は死活問題
• AWS Java SDKには何の心配もなかった
• Scalaの言語思想として「mutable実装をimmutableなイン
タフェースで隠 」というのがある

→ AWS Java SDK はインフラ層で隠 できるので無問題
アーキテクチャの利点(1)
• 純粋関数型言語だとmain関数の外側、つまり自分でコント
ロールできない領域まで副作用を遅延しなければならない
(ことが多い)
• Scalaでは副作用を起こすタイミングを自分で

コントロールしてOK

※ HaskellにもunsafePerformIOとかはありますが……
• 本当に遅延すべき副作用(ドメインロジックが起こす副作用)
とそれ以外(ログとか)を別のものとして扱うことが容易
ソフトウェア
アーキテクチャの利点(2)
• 言語レベルでDIを強くサポートするので

DIP達成の前提があるアーキテクチャと馴染む
• Layered Architecture, Onion Architecture…
• DDDなどでよく採用されるアーキテクチャ
ソフトウェア
続きはまた後で

時間に余裕があれば
Today's topics
• Scalaのoverview
• Scalaを使ったモバイルバックエンドAPI
• なぜAWSネイティブの時代にScalaが必要か
• How to 説得 your client in "Scala使います!"
なぜAWSネイティブ時代に
Scalaが必要か
マイクロサービス
アーキテクチャ
マイクロサービスアーキテクチャ
• 一つの役割をもった疎結合で小さなサービス
(コンポーネント)の集合で大きなサービス
(アプリケーション)を構築する
• それぞれのサービスはDockerコンテナやEC2
インスタンスとして表現される
• マイクロサービス同士はHTTPSなどで通信
© NGINX
via https://www.nginx.com/blog/service-discovery-in-a-microservices-architecture/
実際どうなの
• ScalaMatsuri 2016で色々なセッションを

聞いて来ましたが「リアクティブ」や「マイクロ
サービス」にまつわるセッションが多数
• 日本の方よりも海外の方のセッション多し

→ 海外では既にデファクトになってきてそう
• “リアクティブはResiliencyのための手段である”
更に先を眺める
その先に控えるのは
が主体のアーキテクチャ
AWS Lambda が主体へ
• バックエンドにあるmicro servicesへの

オーケストレーションではない
• ドメインロジックがAWS Lambda Functionと

して表現されるサーバーレスアーキテクチャ
• 単位が micro services から functions へ
Evolution of Compute – Public Cloud
InfrastructureInstances
Application code
©Amazon Web Services
via http://www.slideshare.net/AmazonWebServices/arc308-the-serverless-company-using-aws-lambda/
Evolution of Compute – Containers
InfrastructureInstances
Application codeContainers
©Amazon Web Services
via http://www.slideshare.net/AmazonWebServices/arc308-the-serverless-company-using-aws-lambda/
Evolution of Compute – Serverless
Application code
©Amazon Web Services
via http://www.slideshare.net/AmazonWebServices/arc308-the-serverless-company-using-aws-lambda/
実際どうなの
• AWS re:Invent 2015でマイクロサービス関連のセッ
ションが多く発表される中で、世界に向けて発信され
た概念(発表されたのはすでに実践されたもの)
• いずれ、必ず来るサーバーレスの未来を象徴している
• その”未来”が来る日のことを、

個人的に”Lambda Xデー”と呼んでます
深みにダイブしたい方は弊社丹内の記事をぜひチェック!
reinvent2015 マイクロサービス
For Your Information
2015.02 Lambda in VPC!!
©Amazon Web Services
via http://aws.typepad.com/aws_japan/2016/02/access-resources-in-a-vpc-from-your-
lambda-functions.html
さて
でアプリケーション

を開発する場合の選択肢
Scala in AWS Lambda
• LambdaはScalaで書けます。これはScalaに限った話
ではなく、JVM言語ならOK。
• ざっと試した感じでは無理やり感がでることもなく、
いい感じに書けます。
• 技術調査を進めていて、もう少しナレッジが溜まれば

近いうちに本番適用可能になりそう。
Scala in AWS Lambda
• LambdaはScalaで書けます。これはScalaに限った話
ではなく、JVM言語ならOK。
• ざっと試した感じでは無理やり感がでる

こともなく、いい感じに書けます。
• 技術調査を進めていて、もう少しナレッジが溜まれば

近いうちに本番適用可能になりそう。
この辺りを掘り下げる話を5月に福岡でします!

【Scala福岡2016】で検索検索!
なぜScalaを選ぶべきか
• AWS Lambdaを使う上で乗り越えなければならな
いのは”結合テストの書きにくさ”
• 結合テストガンガン書いてぴゅんぴゅん進めようぜ

という文化とはうまく合致しない
• ユニットテストのみでより多くの心配事を

解消するにはどうすべきか
なぜScalaを選ぶべきか
• AWS Lambdaを使う上で乗り越えなければならな
いのは”結合テストの書きにくさ”
• 結合テストガンガン書いてぴゅんぴゅん進めようぜ

という文化とはうまく合致しない
• ユニットテストのみでより多くの心配事を

解消するにはどうすべきか
強い静的型システムの堅牢さと
関数型の異常系表現力を駆使すべし!
rapture.core.Result
via https://github.com/propensive/rapture
scalaz./
via https://github.com/scalaz/scalaz
(EitherTもあるんだよ!)
scala.util.Either
via https://github.com/scala/scala
関数型の異常系表現力
• ある振る舞いをテストするにあたり、その振
る舞いが起こす副作用込みでテストするので
はなく、異常系やIOアクセスを表現可能な型
を扱い、副作用の発生箇所をギリギリまでア
プリケーションの外側に持ち越すようにする
ことで、副作用発生直前の値が正しいこと
(==)を保証するテストが書ける。
現状の細かいCons
• Artifact ZIPに50MB制限がある

→ 作り方を工夫する必要があるものの、

  マイクロサービスの考え方を継承するならば

  対処可能な制限
• JVMの初回起動コストがオーバーヘッドに?

→ Lambda in VPCならばENIコストもあるので、

  初回は遅いものと割り切る
一番伝えたかった事なので
ちょっと振り返り
なぜAWS時代にScalaか
• Lambda Xデーは必ず来る
• 大規模アプリをLambdaで作る日がくる
• AWS結合テストを無理やり書くのではなく

ユニットテストで担保できる領域を増やす
• そういう書き方を強くサポートしているのがScala
Today's topics
• Scalaのoverview
• Scalaを使ったモバイルバックエンドAPI
• なぜAWSネイティブの時代にScalaが必要か
• How to 説得 your client in "Scala使います!"
How to 説得 your client
in "Scala使いたい!"
"Play-Scalaを使います!"
という提案をするためには
いくつかのFrameworkと
比較検討を行う必要があった
代表的Framework
• Ruby on Rails (Ruby)
• Express (Node.js)
• Laravel (PHP)
• Play Framework (Java)
• etc
前 戦
vs Rails, Node, PHP
vs Rails, Node, PHP
• Play-Scalaとは問題解決のモデルがはっきり

違うので、説明(説得)しやすい。
• 耐障害性(Resiliency), 伸縮性(Elasticity)

信頼性(Reliability)などで圧勝する。
• 強いて言えば1インスタンスでC100Kの功績がある
Nodeが一番のライバル。
耐障害性(Resiliency)
• AkkaのFault Tolerance戦略はErlang/OTPなど
と並び最強クラスの耐障害性を提供
• 仕組みを理解して正しく使えば、金融基盤や
インフラ基盤に用いうるレベル
• 前 戦では説得のメインウェポン
伸縮性(Elasticity)
• 広義でのスケーラビリティ
• Akkaベースのクラスタリングが容易
• PlayもAkkaの仕組みの上で動いている
• Play-Scalaの単体処理性能はNodeより高い

※ 2015/05時点のベンチマーク
信頼性(Reliability)
• なんだかんだ言ってもJVMで動くアプリ
• JVMの歴史と信頼性をそのまま引き継ぐことがで
きる
• チューニングから運用まで実績・文献ともに豊富
• javapコマンドなどで解析すると結構読めます
耐障害性、伸縮性、信頼性を
しっかり抑えれば
Rails, Node, PHPに
競り負けることはない
※ APIサーバー開発の話です
難攻不落
vs Java
先ほど挙げた
耐障害性、伸縮性、信頼性は
それぞれ
Play, Akka → 耐障害性
Akka → 伸縮性
JVM → 信頼性
Play-Java
Akka for Java
JVM
えっ、
それJavaでいいですよね?
難攻不落
vs Java
JavaよりScalaを使いたい理由
• コード記述量が圧倒的に少ない(ナウい)
• 関数型で書ける(ナウい)
• Akka, PlayはScalaで書かれてるから追いやすい
• …だけじゃなくSparkとかKafkaとか最近の

重要なOSSがScalaで書かれまくってる(ナウい)
Javaを使ってほしい理由
• 言語話者の母数が圧倒的に多い
• ゆえにハイアリングが楽
• ゆえに保守・運用体制を立てやすい
• ゆえに安心感がある
本当にそうでしょうか?
Java8を実務レベルで書ける
エンジニアって
そんなに多いんでしょうか
(StreamAPIにflatMapとかありますけどそれは大丈夫なんですかね)
※ScalaにもSwiftにもHaskell(*bind)にもあるよ!
Java8話者かつDDD話者の
エンジニアのハイアリング
ってそんなに楽でしょうか
Java7話者を育てればよい?
ならScalaで

やりましょう!
"JavaよりもScala"を説得する
• Scalaを使った場合の利点を説明し
• Java8話者が必ずしも多くなく、かつJava8には

かなり学習コストがかかることを説明し
• (上司には)同じ学習コストを払うならばScalaを使うべき
だと伝えるべし!
• (お客さんには)Scalaでもリスク大差ないと伝えるべし!
時間に余裕があればここで
Scala愛を語る
電撃、初恋、相手のこともっと知りたい、…
まとめ
まとめ
• Scalaは関数型もできるOOP言語ですよ!
• 来るLambda Xデーには、Scalaは開発者に多くの幸
せをもたらすでしょう。
• Resiliency, Elasticity, Reliability!!
• Scalaを使う利点をしっかり説明した上で

“Javaならば安心” という幻想をぶち壊す!
Developers.IO 2016
ご静聴ありがとうございました。
スライドは後日ブログで公開します。
97
A-1
Ⓒ Classmethod, Inc.
#cmdevio2016

More Related Content

What's hot

AWS Introduction for Startups
AWS Introduction for StartupsAWS Introduction for Startups
AWS Introduction for Startups
akitsukada
 
モバイル開発者から見た サーバーレスアーキテクチャ
モバイル開発者から見た サーバーレスアーキテクチャモバイル開発者から見た サーバーレスアーキテクチャ
モバイル開発者から見た サーバーレスアーキテクチャ
Takaaki Tanaka
 
CRM分析サービス crm analyzer expressを 支えるサーバレスな色々
CRM分析サービス  crm analyzer expressを 支えるサーバレスな色々CRM分析サービス  crm analyzer expressを 支えるサーバレスな色々
CRM分析サービス crm analyzer expressを 支えるサーバレスな色々
Kazuhiro Sasaki
 
クラウド時代のソフトウェアアーキテクチャ
クラウド時代のソフトウェアアーキテクチャクラウド時代のソフトウェアアーキテクチャ
クラウド時代のソフトウェアアーキテクチャ
Keisuke Nishitani
 
AWSで実現するクラウドネイティブなアプリ開発のポイント
AWSで実現するクラウドネイティブなアプリ開発のポイントAWSで実現するクラウドネイティブなアプリ開発のポイント
AWSで実現するクラウドネイティブなアプリ開発のポイント
Keisuke Nishitani
 
AWS Lambda + Python資料 ver0.94 20160825
AWS Lambda + Python資料 ver0.94 20160825AWS Lambda + Python資料 ver0.94 20160825
AWS Lambda + Python資料 ver0.94 20160825
Yasuharu Suzuki
 
いるけどないからつくってみたよ高速モバイルプッシュ配信くん #cmdevio
いるけどないからつくってみたよ高速モバイルプッシュ配信くん #cmdevioいるけどないからつくってみたよ高速モバイルプッシュ配信くん #cmdevio
いるけどないからつくってみたよ高速モバイルプッシュ配信くん #cmdevio
fd0
 
Aws lambda & amazon api gateway入門
Aws lambda &  amazon api gateway入門Aws lambda &  amazon api gateway入門
Aws lambda & amazon api gateway入門
Yutaka Kajiwara
 
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発
Takuro Sasaki
 
JSON Schema で Web API のスキマを埋めよう
JSON Schema で Web API のスキマを埋めようJSON Schema で Web API のスキマを埋めよう
JSON Schema で Web API のスキマを埋めようVOYAGE GROUP
 
AWS Black Belt Tech シリーズ 2015 AWS Device Farm
AWS Black Belt Tech シリーズ 2015 AWS Device FarmAWS Black Belt Tech シリーズ 2015 AWS Device Farm
AWS Black Belt Tech シリーズ 2015 AWS Device Farm
Amazon Web Services Japan
 
Serverless Architecture on AWS(20151121版)
Serverless Architecture on AWS(20151121版)Serverless Architecture on AWS(20151121版)
Serverless Architecture on AWS(20151121版)
Keisuke Nishitani
 
What's new with Serverless
What's new with ServerlessWhat's new with Serverless
What's new with Serverless
Keisuke Nishitani
 
サーバレスアーキテクチャを実戦投入するにあたって知るべきこと
サーバレスアーキテクチャを実戦投入するにあたって知るべきことサーバレスアーキテクチャを実戦投入するにあたって知るべきこと
サーバレスアーキテクチャを実戦投入するにあたって知るべきこと
暁 三宅
 
実践サーバレスアーキテクチャ
実践サーバレスアーキテクチャ実践サーバレスアーキテクチャ
実践サーバレスアーキテクチャ
太郎 test
 
JAWSDAYS2016 Technical Deep DIVE
JAWSDAYS2016 Technical Deep DIVE JAWSDAYS2016 Technical Deep DIVE
JAWSDAYS2016 Technical Deep DIVE
陽平 山口
 
VRディープ座談会 introduction ojima
VRディープ座談会 introduction ojimaVRディープ座談会 introduction ojima
VRディープ座談会 introduction ojima
Hideki Ojima
 
Going Serverless, Building Applications with No Servers
Going Serverless, Building Applications with No ServersGoing Serverless, Building Applications with No Servers
Going Serverless, Building Applications with No Servers
Keisuke Nishitani
 
AWS Lambda / Amazon API Gateway Deep Dive
AWS Lambda / Amazon API Gateway Deep DiveAWS Lambda / Amazon API Gateway Deep Dive
AWS Lambda / Amazon API Gateway Deep Dive
Keisuke Nishitani
 
今なぜサーバーレスなのか
今なぜサーバーレスなのか今なぜサーバーレスなのか
今なぜサーバーレスなのか
真吾 吉田
 

What's hot (20)

AWS Introduction for Startups
AWS Introduction for StartupsAWS Introduction for Startups
AWS Introduction for Startups
 
モバイル開発者から見た サーバーレスアーキテクチャ
モバイル開発者から見た サーバーレスアーキテクチャモバイル開発者から見た サーバーレスアーキテクチャ
モバイル開発者から見た サーバーレスアーキテクチャ
 
CRM分析サービス crm analyzer expressを 支えるサーバレスな色々
CRM分析サービス  crm analyzer expressを 支えるサーバレスな色々CRM分析サービス  crm analyzer expressを 支えるサーバレスな色々
CRM分析サービス crm analyzer expressを 支えるサーバレスな色々
 
クラウド時代のソフトウェアアーキテクチャ
クラウド時代のソフトウェアアーキテクチャクラウド時代のソフトウェアアーキテクチャ
クラウド時代のソフトウェアアーキテクチャ
 
AWSで実現するクラウドネイティブなアプリ開発のポイント
AWSで実現するクラウドネイティブなアプリ開発のポイントAWSで実現するクラウドネイティブなアプリ開発のポイント
AWSで実現するクラウドネイティブなアプリ開発のポイント
 
AWS Lambda + Python資料 ver0.94 20160825
AWS Lambda + Python資料 ver0.94 20160825AWS Lambda + Python資料 ver0.94 20160825
AWS Lambda + Python資料 ver0.94 20160825
 
いるけどないからつくってみたよ高速モバイルプッシュ配信くん #cmdevio
いるけどないからつくってみたよ高速モバイルプッシュ配信くん #cmdevioいるけどないからつくってみたよ高速モバイルプッシュ配信くん #cmdevio
いるけどないからつくってみたよ高速モバイルプッシュ配信くん #cmdevio
 
Aws lambda & amazon api gateway入門
Aws lambda &  amazon api gateway入門Aws lambda &  amazon api gateway入門
Aws lambda & amazon api gateway入門
 
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発
 
JSON Schema で Web API のスキマを埋めよう
JSON Schema で Web API のスキマを埋めようJSON Schema で Web API のスキマを埋めよう
JSON Schema で Web API のスキマを埋めよう
 
AWS Black Belt Tech シリーズ 2015 AWS Device Farm
AWS Black Belt Tech シリーズ 2015 AWS Device FarmAWS Black Belt Tech シリーズ 2015 AWS Device Farm
AWS Black Belt Tech シリーズ 2015 AWS Device Farm
 
Serverless Architecture on AWS(20151121版)
Serverless Architecture on AWS(20151121版)Serverless Architecture on AWS(20151121版)
Serverless Architecture on AWS(20151121版)
 
What's new with Serverless
What's new with ServerlessWhat's new with Serverless
What's new with Serverless
 
サーバレスアーキテクチャを実戦投入するにあたって知るべきこと
サーバレスアーキテクチャを実戦投入するにあたって知るべきことサーバレスアーキテクチャを実戦投入するにあたって知るべきこと
サーバレスアーキテクチャを実戦投入するにあたって知るべきこと
 
実践サーバレスアーキテクチャ
実践サーバレスアーキテクチャ実践サーバレスアーキテクチャ
実践サーバレスアーキテクチャ
 
JAWSDAYS2016 Technical Deep DIVE
JAWSDAYS2016 Technical Deep DIVE JAWSDAYS2016 Technical Deep DIVE
JAWSDAYS2016 Technical Deep DIVE
 
VRディープ座談会 introduction ojima
VRディープ座談会 introduction ojimaVRディープ座談会 introduction ojima
VRディープ座談会 introduction ojima
 
Going Serverless, Building Applications with No Servers
Going Serverless, Building Applications with No ServersGoing Serverless, Building Applications with No Servers
Going Serverless, Building Applications with No Servers
 
AWS Lambda / Amazon API Gateway Deep Dive
AWS Lambda / Amazon API Gateway Deep DiveAWS Lambda / Amazon API Gateway Deep Dive
AWS Lambda / Amazon API Gateway Deep Dive
 
今なぜサーバーレスなのか
今なぜサーバーレスなのか今なぜサーバーレスなのか
今なぜサーバーレスなのか
 

Similar to Scala: Mobile Backend on AWS

Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
真吾 吉田
 
May the FaaS be with us!!
May the FaaS be with us!!May the FaaS be with us!!
May the FaaS be with us!!
真吾 吉田
 
これからのクラウドネイティブアプリケーションの話をしよう
これからのクラウドネイティブアプリケーションの話をしようこれからのクラウドネイティブアプリケーションの話をしよう
これからのクラウドネイティブアプリケーションの話をしよう
真吾 吉田
 
Architecting on Alibaba Cloud - 超基礎編 -
Architecting on Alibaba Cloud - 超基礎編 -Architecting on Alibaba Cloud - 超基礎編 -
Architecting on Alibaba Cloud - 超基礎編 -
真吾 吉田
 
LambdaとMobileの美味しいかもしれない関係
LambdaとMobileの美味しいかもしれない関係LambdaとMobileの美味しいかもしれない関係
LambdaとMobileの美味しいかもしれない関係
Hiraku Komuro
 
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
Amazon Web Services Japan
 
AWS Black Belt Techシリーズ AWS SDK
AWS Black Belt Techシリーズ AWS SDKAWS Black Belt Techシリーズ AWS SDK
AWS Black Belt Techシリーズ AWS SDK
Amazon Web Services Japan
 
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or ServerlessRunning Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Keisuke Nishitani
 
[DevSumi2019]Cloud Native アプリケーションに最適!Oracle Cloud Infrastructureの魅力!
[DevSumi2019]Cloud Native アプリケーションに最適!Oracle Cloud Infrastructureの魅力![DevSumi2019]Cloud Native アプリケーションに最適!Oracle Cloud Infrastructureの魅力!
[DevSumi2019]Cloud Native アプリケーションに最適!Oracle Cloud Infrastructureの魅力!
オラクルエンジニア通信
 
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
Junji Nishihara
 
20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...
20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...
20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...都元ダイスケ Miyamoto
 
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めようAWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
Amazon Web Services Japan
 
AWS SAMで始めるサーバーレスアプリケーション開発
AWS SAMで始めるサーバーレスアプリケーション開発AWS SAMで始めるサーバーレスアプリケーション開発
AWS SAMで始めるサーバーレスアプリケーション開発
真吾 吉田
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから
真吾 吉田
 
Google Compute EngineとPipe API
Google Compute EngineとPipe APIGoogle Compute EngineとPipe API
Google Compute EngineとPipe APImaruyama097
 
Google Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APIGoogle Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APImaruyama097
 
20151030 オープンデータとセキュリティon aws
20151030 オープンデータとセキュリティon aws20151030 オープンデータとセキュリティon aws
20151030 オープンデータとセキュリティon aws
takaoka susumu
 
JAWS DAYS 2015
JAWS DAYS 2015JAWS DAYS 2015
JAWS DAYS 2015
陽平 山口
 
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Yoichi Kawasaki
 
クラウドを積極活用した サービスの開発のために
クラウドを積極活用したサービスの開発のためにクラウドを積極活用したサービスの開発のために
クラウドを積極活用した サービスの開発のために
Yuichiro Saito
 

Similar to Scala: Mobile Backend on AWS (20)

Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
 
May the FaaS be with us!!
May the FaaS be with us!!May the FaaS be with us!!
May the FaaS be with us!!
 
これからのクラウドネイティブアプリケーションの話をしよう
これからのクラウドネイティブアプリケーションの話をしようこれからのクラウドネイティブアプリケーションの話をしよう
これからのクラウドネイティブアプリケーションの話をしよう
 
Architecting on Alibaba Cloud - 超基礎編 -
Architecting on Alibaba Cloud - 超基礎編 -Architecting on Alibaba Cloud - 超基礎編 -
Architecting on Alibaba Cloud - 超基礎編 -
 
LambdaとMobileの美味しいかもしれない関係
LambdaとMobileの美味しいかもしれない関係LambdaとMobileの美味しいかもしれない関係
LambdaとMobileの美味しいかもしれない関係
 
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
 
AWS Black Belt Techシリーズ AWS SDK
AWS Black Belt Techシリーズ AWS SDKAWS Black Belt Techシリーズ AWS SDK
AWS Black Belt Techシリーズ AWS SDK
 
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or ServerlessRunning Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
 
[DevSumi2019]Cloud Native アプリケーションに最適!Oracle Cloud Infrastructureの魅力!
[DevSumi2019]Cloud Native アプリケーションに最適!Oracle Cloud Infrastructureの魅力![DevSumi2019]Cloud Native アプリケーションに最適!Oracle Cloud Infrastructureの魅力!
[DevSumi2019]Cloud Native アプリケーションに最適!Oracle Cloud Infrastructureの魅力!
 
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
 
20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...
20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...
20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...
 
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めようAWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
 
AWS SAMで始めるサーバーレスアプリケーション開発
AWS SAMで始めるサーバーレスアプリケーション開発AWS SAMで始めるサーバーレスアプリケーション開発
AWS SAMで始めるサーバーレスアプリケーション開発
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから
 
Google Compute EngineとPipe API
Google Compute EngineとPipe APIGoogle Compute EngineとPipe API
Google Compute EngineとPipe API
 
Google Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APIGoogle Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline API
 
20151030 オープンデータとセキュリティon aws
20151030 オープンデータとセキュリティon aws20151030 オープンデータとセキュリティon aws
20151030 オープンデータとセキュリティon aws
 
JAWS DAYS 2015
JAWS DAYS 2015JAWS DAYS 2015
JAWS DAYS 2015
 
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
 
クラウドを積極活用した サービスの開発のために
クラウドを積極活用したサービスの開発のためにクラウドを積極活用したサービスの開発のために
クラウドを積極活用した サービスの開発のために
 

Recently uploaded

LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
Takayuki Nakayama
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 

Recently uploaded (8)

LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 

Scala: Mobile Backend on AWS