デブサミ2020【14-C-2】開発に集中するためのJava on Serverless #devsumiC #devsumi

下川 賢介[アマゾン ウェブ サービス ジャパン] https://event.shoeisha.jp/devsumi/20200213/session/2400/ Developers Summit 2020の講演資料・参加レポート一覧: https://codezine.jp/article/detail/11981
デブサミ2020 devsumi デブサミ
0
やまひろ@低音エンジニア @akkiengtw
セッション始まります。 「開発に集中するためのJava on Serverless」 #devsumi #devsumiB
いわしまん@AWS入門中 @iwasiman
次はAWSJ下川さんのセッションへ。デベロッパーアソシエイトに最近受かったワイさんとしては、Serverlessは深掘りしたい所なのです。 #devsumiC
SAKON @sakon310
5S(整理・整頓・掃除・清潔・躾)は、コードでも通じる。#devsumiC
いわしまん@AWS入門中 @iwasiman
サーバーレスを実際使ってる人、会場の挙手で1割ぐらいはいたような。いいなあ。 #devsumiC
あきの/D-En @DddEndow
javaでマイクロサービスというとSpringBootですよね? →でも問題が JVM:起動に時間がかかる スケールするときにリソース枯渇がかかる よりライトウェイトに→プレーンなJavaに→特化型フレームワークで 確かにSpringBootはめっちゃ時間かかる… #devsumiC
いわしまん@AWS入門中 @iwasiman
Javaでマイクロサービス、やはりSpring Bootが多いとのこと。このへんは伝統ですね。そこへAWSとしてはやはりLambdaを推してきました! #devsumiC Java文法のラムダ式とは違う話という注釈ありw
あきの/D-En @DddEndow
Lambdaがサーバレスで開発に集中できる!ってのはわかるんだけど、負荷の問題とかそこらへんの話が気になる 今日聴けるかな? #devsumiC
あきの/D-En @DddEndow
WebServer→アプリケーション API Gateway→Lambda 構造自体はあまり変わらない ロジックに集中することができる #devsumiC
あきの/D-En @DddEndow
コントローラじゃなくて直接サービス層以下を書く感じか で、メソッド単位で管理して、エンドポイントの振り分けとかはApi Gatewayで設定すると #devsumiC
いわしまん@AWS入門中 @iwasiman
API Gateway+Lambdaで、サーバー立てた場合と同じように作れる。スケールも自動。このへんも試験によく出ました。そして深い話へ... #devsumiC
あきの/D-En @DddEndow
javaのCold Start ・初回起動はCold Startで少し時間がかかる ・一回立ち上げたコンテナが再利用されたときWarm Startになる 3 requests, 2 concurrency #devsumiC
あきの/D-En @DddEndow
WorkloadでCold Startのレイテンシ(1秒強)を許容できるのか? できるならLambda! できないなら対策が必要←今日の話 #devsumiC
いわしまん@AWS入門中 @iwasiman
最初のリクエストをColdStartだと、1.2s、コンテナが暖まったら0.1-0.2s程度とのこと。 #devsumiC
あきの/D-En @DddEndow
Serverless Javaのチューニング めちゃくちゃ面白そうな話になってきた #devsumiC
あきの/D-En @DddEndow
Lambdaが呼ばれてからコンテナ生成→デプロイ→ランタイムまでしてるのか デプロイ(パッケージロード、展開)のZipを少なくする ・Gradleの外部ライブラリを少なくする ・できる限りプレーンなJavaを使う #devsumiC
いわしまん@AWS入門中 @iwasiman
依存を減らし、ライブラリを使わずプレーンJava寄りでzipサイズを減らすとコールドスタートが速くなる。このへんは納得。公式にプラクティスあり。 #devsumiC
あきの/D-En @DddEndow
プレーンなJavaでは機能横断的要件を対応できないのでは? SpringBootの場合 Spring Boot Actuator Spring Security →でもファットなjarになる Lambdaで使おうとするとレイテンシが増大 #devsumiC
あきの/D-En @DddEndow
jarを痩せ細らせたい Lambdaだけでやるのではなく、他のAWSのマネージドサービスをLambdaにアタッチする →Lambdaはロジックのみに集中する AWS的なベストプラクティスはやっぱそうなるよなぁ あとはお金の話になりそう #devsumiC
あきの/D-En @DddEndow
サーバレスでFrameWorkは使えるのか? 👀👀👀 #devsumiC
progrhyme @progrhyme
"You ain't gonna need it" (機能は実際に必要となるまでは追加しないのがよい) YAGNI, Martin Fowlerの言葉だったのか。 #devsumiC #devsumi
いわしまん@AWS入門中 @iwasiman
このセッション用語ですがファットjarだとどんどん遅くなり、スキニーjarがよし。非機能要件は他のAWSマネージドサービスに振る。このへんもAWSの基本的な考え方ですね。 #devsumiC
あきの/D-En @DddEndow
通常はデプロイしてランタイムが起動してからDIされる Compile DI #devsumiC
やまひろ@低音エンジニア @akkiengtw
Frameworkをserverlessで使う、はめっちゃ気になる。 #devsumi #devsumiC
いわしまん@AWS入門中 @iwasiman
突然のマーチンファウラー大先生w YAGNIもこの人の言葉でしたか。 #devsumiC
残りを読む(17)

コメント

コメントがまだありません。感想を最初に伝えてみませんか?

ログインして広告を非表示にする
ログインして広告を非表示にする