Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Amazon Web Services Japan
PDF, PPTX
13,585 views
Serverless時代のJavaについて
20191123 JJUG Serverless 時代の Java について
Technology
◦
Read more
16
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 90
2
/ 90
3
/ 90
4
/ 90
5
/ 90
6
/ 90
7
/ 90
8
/ 90
9
/ 90
10
/ 90
11
/ 90
12
/ 90
13
/ 90
14
/ 90
15
/ 90
16
/ 90
17
/ 90
Most read
18
/ 90
19
/ 90
20
/ 90
21
/ 90
22
/ 90
Most read
23
/ 90
24
/ 90
25
/ 90
26
/ 90
27
/ 90
28
/ 90
29
/ 90
30
/ 90
31
/ 90
32
/ 90
Most read
33
/ 90
34
/ 90
35
/ 90
36
/ 90
37
/ 90
38
/ 90
39
/ 90
40
/ 90
41
/ 90
42
/ 90
43
/ 90
44
/ 90
45
/ 90
46
/ 90
47
/ 90
48
/ 90
49
/ 90
50
/ 90
51
/ 90
52
/ 90
53
/ 90
54
/ 90
55
/ 90
56
/ 90
57
/ 90
58
/ 90
59
/ 90
60
/ 90
61
/ 90
62
/ 90
63
/ 90
64
/ 90
65
/ 90
66
/ 90
67
/ 90
68
/ 90
69
/ 90
70
/ 90
71
/ 90
72
/ 90
73
/ 90
74
/ 90
75
/ 90
76
/ 90
77
/ 90
78
/ 90
79
/ 90
80
/ 90
81
/ 90
82
/ 90
83
/ 90
84
/ 90
85
/ 90
86
/ 90
87
/ 90
88
/ 90
89
/ 90
90
/ 90
More Related Content
PDF
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
by
Amazon Web Services Japan
PDF
The Twelve-Factor Appで考えるAWSのサービス開発
by
Amazon Web Services Japan
PDF
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
by
Amazon Web Services Japan
PDF
マイクロサービス 4つの分割アプローチ
by
増田 亨
PDF
DevOps with Database on AWS
by
Amazon Web Services Japan
PPTX
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
by
NTT DATA Technology & Innovation
PDF
マイクロにしすぎた結果がこれだよ!
by
mosa siru
ODP
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
by
pospome
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
by
Amazon Web Services Japan
The Twelve-Factor Appで考えるAWSのサービス開発
by
Amazon Web Services Japan
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
by
Amazon Web Services Japan
マイクロサービス 4つの分割アプローチ
by
増田 亨
DevOps with Database on AWS
by
Amazon Web Services Japan
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
by
NTT DATA Technology & Innovation
マイクロにしすぎた結果がこれだよ!
by
mosa siru
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
by
pospome
What's hot
PDF
GraphQL入門 (AWS AppSync)
by
Amazon Web Services Japan
PDF
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
by
Amazon Web Services Japan
PDF
20191120 AWS Black Belt Online Seminar Amazon Managed Streaming for Apache Ka...
by
Amazon Web Services Japan
PDF
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
by
Amazon Web Services Japan
PDF
Infrastructure as Code (IaC) 談義 2022
by
Amazon Web Services Japan
PDF
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
by
Amazon Web Services Japan
PDF
Dockerからcontainerdへの移行
by
Kohei Tokunaga
PDF
20210526 AWS Expert Online マルチアカウント管理の基本
by
Amazon Web Services Japan
PPTX
分散トレーシングAWS:X-Rayとの上手い付き合い方
by
Recruit Lifestyle Co., Ltd.
PDF
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
by
Amazon Web Services Japan
PPTX
KeycloakでAPI認可に入門する
by
Hitachi, Ltd. OSS Solution Center.
PDF
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
by
Amazon Web Services Japan
PDF
20190806 AWS Black Belt Online Seminar AWS Glue
by
Amazon Web Services Japan
PDF
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
by
Amazon Web Services Japan
PDF
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
by
NTT DATA Technology & Innovation
PPTX
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
PDF
Aws auto scalingによるwebapサーバbatchサーバの構成例
by
Takeshi Mikami
PPTX
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
by
NTT DATA Technology & Innovation
PDF
TLS, HTTP/2演習
by
shigeki_ohtsu
PPTX
Redisの特徴と活用方法について
by
Yuji Otani
GraphQL入門 (AWS AppSync)
by
Amazon Web Services Japan
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
by
Amazon Web Services Japan
20191120 AWS Black Belt Online Seminar Amazon Managed Streaming for Apache Ka...
by
Amazon Web Services Japan
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
by
Amazon Web Services Japan
Infrastructure as Code (IaC) 談義 2022
by
Amazon Web Services Japan
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
by
Amazon Web Services Japan
Dockerからcontainerdへの移行
by
Kohei Tokunaga
20210526 AWS Expert Online マルチアカウント管理の基本
by
Amazon Web Services Japan
分散トレーシングAWS:X-Rayとの上手い付き合い方
by
Recruit Lifestyle Co., Ltd.
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
by
Amazon Web Services Japan
KeycloakでAPI認可に入門する
by
Hitachi, Ltd. OSS Solution Center.
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
by
Amazon Web Services Japan
20190806 AWS Black Belt Online Seminar AWS Glue
by
Amazon Web Services Japan
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
by
Amazon Web Services Japan
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
by
NTT DATA Technology & Innovation
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
Aws auto scalingによるwebapサーバbatchサーバの構成例
by
Takeshi Mikami
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
by
NTT DATA Technology & Innovation
TLS, HTTP/2演習
by
shigeki_ohtsu
Redisの特徴と活用方法について
by
Yuji Otani
Similar to Serverless時代のJavaについて
PDF
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
by
Amazon Web Services Japan
PDF
20200728 AWS Black Belt Online Seminar What's New in Serverless
by
Amazon Web Services Japan
PDF
20200708サーバーレスでのAPI管理の考え方
by
Amazon Web Services Japan
PDF
浸透するサーバーレス 実際に見るユースケースと実装パターン
by
Amazon Web Services Japan
PDF
Amazon Simple Workflow Service (SWF)
by
Amazon Web Services Japan
PDF
Serverless Anti-Patterns
by
Keisuke Nishitani
PDF
AWS Black Belt Online Seminar 2016 AWS上でのサーバーレスアーキテクチャ入門
by
Amazon Web Services Japan
PDF
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
by
Ryu Yamashita
PDF
Serverless services on_aws_dmm_meetup_20170801
by
Amazon Web Services Japan
PDF
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
by
Amazon Web Services Japan
PDF
LambdaとMobileの美味しいかもしれない関係
by
Hiraku Komuro
PDF
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
by
JOYZO
PDF
[20171116 三木会] AWSを利用したサーバーレス開発の実践 by アイレット株式会社 cloudpack事業部 高橋 直樹 氏
by
Insight Technology, Inc.
PDF
aws mackerel twilio_handson_public
by
Tomoaki Sakatoku
PDF
クラウド時代のソフトウェアアーキテクチャ
by
Keisuke Nishitani
PDF
Talk: serverless-express
by
HiroyukiTakakura
PDF
Going Serverless, Building Applications with No Servers
by
Keisuke Nishitani
PDF
20120528 aws meister-reloaded-awssd-kforjava-public
by
Amazon Web Services Japan
PDF
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポート
by
真吾 吉田
PDF
Serverless Meetup Japan Virtual #6
by
Toshiaki Aoike
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
by
Amazon Web Services Japan
20200728 AWS Black Belt Online Seminar What's New in Serverless
by
Amazon Web Services Japan
20200708サーバーレスでのAPI管理の考え方
by
Amazon Web Services Japan
浸透するサーバーレス 実際に見るユースケースと実装パターン
by
Amazon Web Services Japan
Amazon Simple Workflow Service (SWF)
by
Amazon Web Services Japan
Serverless Anti-Patterns
by
Keisuke Nishitani
AWS Black Belt Online Seminar 2016 AWS上でのサーバーレスアーキテクチャ入門
by
Amazon Web Services Japan
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
by
Ryu Yamashita
Serverless services on_aws_dmm_meetup_20170801
by
Amazon Web Services Japan
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
by
Amazon Web Services Japan
LambdaとMobileの美味しいかもしれない関係
by
Hiraku Komuro
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
by
JOYZO
[20171116 三木会] AWSを利用したサーバーレス開発の実践 by アイレット株式会社 cloudpack事業部 高橋 直樹 氏
by
Insight Technology, Inc.
aws mackerel twilio_handson_public
by
Tomoaki Sakatoku
クラウド時代のソフトウェアアーキテクチャ
by
Keisuke Nishitani
Talk: serverless-express
by
HiroyukiTakakura
Going Serverless, Building Applications with No Servers
by
Keisuke Nishitani
20120528 aws meister-reloaded-awssd-kforjava-public
by
Amazon Web Services Japan
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポート
by
真吾 吉田
Serverless Meetup Japan Virtual #6
by
Toshiaki Aoike
More from Amazon Web Services Japan
PDF
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
by
Amazon Web Services Japan
PPTX
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
by
Amazon Web Services Japan
PDF
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
PDF
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
by
Amazon Web Services Japan
PDF
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
by
Amazon Web Services Japan
PPTX
20220409 AWS BLEA 開発にあたって検討したこと
by
Amazon Web Services Japan
PDF
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
by
Amazon Web Services Japan
PDF
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
by
Amazon Web Services Japan
PDF
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
by
Amazon Web Services Japan
PDF
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
by
Amazon Web Services Japan
PDF
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
by
Amazon Web Services Japan
PDF
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
by
Amazon Web Services Japan
PDF
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
by
Amazon Web Services Japan
PDF
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
by
Amazon Web Services Japan
PDF
Amazon QuickSight の組み込み方法をちょっぴりDD
by
Amazon Web Services Japan
PDF
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
by
Amazon Web Services Japan
PDF
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
by
Amazon Web Services Japan
PDF
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
by
Amazon Web Services Japan
PDF
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
by
Amazon Web Services Japan
PDF
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
by
Amazon Web Services Japan
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
by
Amazon Web Services Japan
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
by
Amazon Web Services Japan
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
by
Amazon Web Services Japan
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
by
Amazon Web Services Japan
20220409 AWS BLEA 開発にあたって検討したこと
by
Amazon Web Services Japan
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
by
Amazon Web Services Japan
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
by
Amazon Web Services Japan
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
by
Amazon Web Services Japan
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
by
Amazon Web Services Japan
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
by
Amazon Web Services Japan
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
by
Amazon Web Services Japan
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
by
Amazon Web Services Japan
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
by
Amazon Web Services Japan
Amazon QuickSight の組み込み方法をちょっぴりDD
by
Amazon Web Services Japan
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
by
Amazon Web Services Japan
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
by
Amazon Web Services Japan
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
by
Amazon Web Services Japan
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
by
Amazon Web Services Japan
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
by
Amazon Web Services Japan
Recently uploaded
PDF
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
PDF
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版
by
sorabatake
PDF
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
PDF
PMBOK 7th Edition Project Management Process Scrum
by
akipii ogaoga
PDF
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf
by
akipii ogaoga
PDF
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S...
by
akipii ogaoga
PDF
PMBOK 7th Edition_Project Management Context Diagram
by
akipii ogaoga
PDF
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信
by
e-Patent Co., Ltd.
PDF
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector
by
akipii ogaoga
PDF
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis
by
akipii ogaoga
PDF
FY2025 IT Strategist Afternoon I Question-1 Balanced Scorecard
by
akipii ogaoga
PDF
PMBOK 7th Edition_Project Management Process_WF Type Development
by
akipii ogaoga
PDF
自転車ユーザ参加型路面画像センシングによる点字ブロック検出における性能向上方法の模索 (20260123 SeMI研)
by
Yuto Matsuda
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版
by
sorabatake
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
PMBOK 7th Edition Project Management Process Scrum
by
akipii ogaoga
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf
by
akipii ogaoga
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S...
by
akipii ogaoga
PMBOK 7th Edition_Project Management Context Diagram
by
akipii ogaoga
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信
by
e-Patent Co., Ltd.
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector
by
akipii ogaoga
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis
by
akipii ogaoga
FY2025 IT Strategist Afternoon I Question-1 Balanced Scorecard
by
akipii ogaoga
PMBOK 7th Edition_Project Management Process_WF Type Development
by
akipii ogaoga
自転車ユーザ参加型路面画像センシングによる点字ブロック検出における性能向上方法の模索 (20260123 SeMI研)
by
Yuto Matsuda
Serverless時代のJavaについて
1.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. Serverless時代の Javaについて AWS Presents, Battle against Massive Load using Your Super Sonic Lambda Function! 1 @_kensh Kensuke Shimokawa Amazon Web Services Japan
2.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. Who? 2 •Name • 下川 賢介 • Kensuke Shimokawa •Company • Amazon Web Services Japan •Role • Serverless Specialist Solutions Architect @_kensh
3.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. agenda 3 •Serverless って何ですか? •Serverless Java チューニング •まとめ
4.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 4 Serverless って何ですか?
5.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. Amazon では、、、 モノリス 2001 2002 マイクロサービス + 2 ピザルール
6.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 役割の違い モノリス (全てを担当) マイクロサービス (単一機能を担当)
7.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. マイクロサービス アーキテクチャの例 7
8.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 8 マイクロサービスの特徴
9.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. モノリスのデリバリーパイプライン 9 開発者 サービス デリバリーパイプライン
10.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. マイクロサービスのデリバリーパイプライン 10 開発者 サービス デリバリーパイプライン
11.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. モノリスのスケール 11
12.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. マイクロサービス のスケール 12
13.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 13 Javaでマイクロサービスというと SpringBoot ですよね?
14.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 起動に時間がかかる? (本日の主題でもある) 14 • コンテナやServerlessは素早くスケールさせたい。 • ポイントは適度に⼩さい単位への分割 • → よりライトウエイトに、よりロジックだけに • → プレーンなJavaに • → 定型機能は特化型フレームワークで AWS Lambda + Java という選択肢はどうですか?
15.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. 15 HTTPS event Amazon API Gateway AWS Lambda Serverlessにするとマイクロサービスが作りやすい
16.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 16 サービスで考慮すること
17.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. サービス運用者の気持ち 17 インフラを 管理したくない サービスを スケールさせたい コスト効率を上げたい 高可用性や セキュリティ要件 を満たしたい
18.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 18 AWS Lambdaについて
19.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. AWS Lambda 19
20.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. (注意)Java Lambda Expressionのことではありません! 20 () -> System.out.println("Zero parameter lambda");
21.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. AWS Lambda 21 インフラの プロビジョニング不要 自動でスケール 使った分だけの お支払い 高可用性かつ安全
22.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. 22 WEBサーバー アプリケーション サーバー HTTPS HTTP これまでの環境
23.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. 23 HTTPS event Amazon API Gateway AWS Lambda Serverlessにすると ロジック ロジック ロジック
24.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 動作の仕組み 24 f(x) = {…} 呼び出し元 処理対象 例・API呼び出し ・データ変更イベント ・ファイル配置イベント… 例・DBアクセス ・ファイル出力 ・別の処理を呼び出し… 負荷に応じて 処理を多重化 リソース管理 リトライ ログ出力 g(x) = {…} h(x) = {…}
25.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. Sample Code 25 package example; import example.Event; import example.Response; import com.amazonaws.services.lambda.runtime.Context; public class Handler { public Response myHandler(Event event, Context context) { Response response = new Response(); String json = getJsonResponse(event); response.setBody(json); response.setStatusCode(200); return response; } } 完全修飾クラス名::メソッド名
26.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. Sample Code 26 この関数を呼び 出すサービス Runtime言語の指定 Java 11 も選択可能 完全修飾クラス名::メソッド名
27.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 実はJava以外のRuntimeも利用できます。 27
28.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 28 ColdStart について
29.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. 29 Amazon API Gateway AWS Lambda ColdStart と WarmStart ① ① ① ColdStart ② ② ② ColdStart
30.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. 30 Amazon API Gateway AWS Lambda ColdStart と WarmStart ③ ③ ③ WarmStart ② ② ② ColdStart 3 requests, 2 concurrency
31.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 31 でも、ColdStartってJavaだけ?
32.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. ColdStartを強制的に発生させる 32 for i in {1..100} do serverless deploy -f hello --force > /dev/null curl -s -o /dev/null ¥ -w "%{time_starttransfer}¥n” <API URL> done
33.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 33 Serverless Java チューニング
34.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. Lambda の Life Cycle 34 Warm StartCold Start コンテナ 生成 パッケージ ロード パッケージ 展開 ランタイム 起動 初期化 関数・メソッド 起動 デプロイ
35.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. Lambda の Life Cycle 35 Warm StartCold Start コンテナ 生成 パッケージ ロード パッケージ 展開 ランタイム 起動 初期化 関数・メソッド 起動 デプロイ Zipサイズ最小化 遅延ロード 依存最小化
36.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 不要ライブラリを依存から排除 (Zipサイズ最小化+依存最小化) 36 dependencies { runtimeOnly group: 'org.springframework’, name: 'spring-core', version: '2.5' runtimeOnly 'org.springframework:spring-core:2.5', 'org.springframework:spring-aop:2.5' runtimeOnly( [group: 'org.springframework', name: 'spring-core', version: '2.5'], [group: 'org.springframework', name: 'spring-aop', version: '2.5'] ) runtimeOnly('org.hibernate:hibernate:3.0.5') { transitive = true } runtimeOnly group: 'org.hibernate', name: 'hibernate', version: '3.0.5’, transitive: true runtimeOnly(group: 'org.hibernate', name: 'hibernate', version: '3.0.5') { transitive = true } (snip) 少なくする
37.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. プレーンJavaで書く(さらに、Zipサイズ最小化) 37 public class Handler { public Response myHandler(Map<String, Object> event, Context context) { Response response = new Response(); String json = getJsonResponse(event); response.setBody(json); response.setStatusCode(200); return response; } }
38.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. AWS Lambdaのベストプラクティス 38 https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/best-practices.html
39.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 39 プレーンJavaでは機能横断的な 要件を満たせないのでは?
40.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 機能横断的要件(あるいは非機能要件)
41.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 機能横断的要件(あるいは非機能要件) by Spring Boot 41 Spring Boot Actuator ログ Spring Security 認証認可 Layer7攻撃対策 パスワードポリシーメトリクス トレース FAT jar
42.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. 42 Amazon API Gateway AWS Lambda FAT jarでLambdaを動かそうとすると FAT jar FAT jar FAT jar ColdStart Latencyが増大
43.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. Jarを痩せ細らせたい 43 FAT jar Skinny jar アプリケーションロジック 依存ライブラリ アプリケーションサーバー
44.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 機能横断的要件(あるいは非機能要件) by AWS Lambda 44 ログ 認証認可 Layer7攻撃対策 パスワードポリシーメトリクス トレース Skinny jar AWS X-Ray AWS WAFAWS Lambda Amazon CloudWatch Amazon Cognito Amazon API Gateway ロジック
45.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 45 You aren't gonna need it 最初から機能追加すべきではない。 Martin Fowler YAGNI
46.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 機能横断的要件(あるいは非機能要件) by AWS Lambda 46 ログ メトリクス AWS Lambda Amazon CloudWatch 必要最低限から構築できる。
47.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. 47 Amazon API Gateway AWS Lambda Skinny jarでLambdaを動かすと ColdStartが抑制される Skinny jar Skinny ja Skinny
48.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 48 それでもFrameworkを使いたい。
49.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. まずはプリミティブな構成から考えていく 49 AWS SDK for Java 最小構成 https://docs.aws.amazon.com/ja_jp/sdk-for-java/v2/developer-guide
50.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. アイデアとしては、 50 AWS SDK for Java 最小構成 + compile-time DI https://dagger.dev/ Dagger は完全に静的な, compile-time dependency injection framework
51.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. run-time dependency injection 51 Warm StartCold Start コンテナ 生成 パッケージ ロード パッケージ 展開 ランタイム 起動 初期化 関数・メソッド 起動 デプロイ run-time 通常のDI o constructor o static field o handler
52.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. compile-time dependency injection 52 Warm StartCold Start コンテナ 生成 パッケージ ロード パッケージ 展開 ランタイム 起動 初期化 関数・メソッド 起動 デプロイ compile-time
53.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 53 これで満足?
54.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 最近のFrameworkの規模感 54 出典 https://dmitrykornilov.net/2018/09/07/helidon-takes-flight/ やっぱり手慣れた Spring Bootで開発したい!
55.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 55 Spring Boot を Lambdaにのせる
56.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 56 FAT jar Skinny jar アプリケーションロジック 依存ライブラリ アプリケーションサーバー AWS SDK for Java
57.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 57 アプリケーションロジック 依存ライブラリ アプリケーションサーバー Thin jar
58.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 58 Thin jar = ロジック + − アプリケーションサーバー
59.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 59 aws-serverless-java-container
60.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. aws-serverless-java-container 60 https://github.com/awslabs/aws-serverless-java-container コ ー ドは こ ち ら
61.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 61 https://aws.amazon.com/blogs/opensource/java-apis-aws-lambda 導 入 方 法 は こ ち ら
62.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. アプリデプロイ(抜粋) 62 git clone mvn package sam package sam deploy AWS SAM
63.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. aws-serverless-java-container 63 Amazon API Gateway AWS Lambda クライアント aws-serverless-java-container Request Response Event HttpServletRequest HttpServletResponse Return Value Thin jar No App Server
64.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 置き換え可能 対応Framework 64 AWS Lambda aws-serverless-java-container Thin jar No App Server
65.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 65 マイクロフレームワークで高速化
66.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 最近のFrameworkの規模感(再掲) 66 出典 https://dmitrykornilov.net/2018/09/07/helidon-takes-flight/ マイクロフレームワーク
67.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 67 compile-time dependency injection と AOP GraalVM に対応 宣言的 リアクティブ
68.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 68 GraalVMについて
69.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. GraalVMの簡単な紹介 69 • Oracle が開発している新たな JVM。JDK8 の代⽤として利⽤できる。 • Java 以外の⾔語も取り扱える Polyglot な JVM で、⾔語間通信ができる。 • ネイティブコードをバイナリとして⽣成できる。 -> Lambda で利⽤することで、Java のコールドスタートの軽減が⾒込まれる。 • ※AWS Lambdaのカスタムランタイムを利⽤したランタイム実装はAWSサ ポート対象外 • マイクロサービス向けの Java フレームワーク (Micronaut, Quarkus 等) と相 性が良い。 -> メモリのフットプリントを抑えることができる。 • ※Micronaut, QuarkusはAWSサポート対象外 • 2019/05/09 に GA し Twitter が本番環境で採⽤。Community Edition と Enterprise Edition がある。 • Community Edition のライセンスはクラスパス例外付きの GPL v2.0。 -> OpenJDK 等と同様に、利⽤のみであれば GPL は適⽤されない。 • ※GraalVMはOracle製品であり、AWSサポート対象外
70.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. GraalVMの簡単な紹介 70 実行可能な環境 提供する言語 https://www.graalvm.org/docs/
71.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. GraalVMの仕組み 71 LLVM言語 インタプリタ言語
72.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. HotSpot VM - これまでの標準的な JVM 実装 72 HotSpot VM C1 C2 Java Source Code AOT Compile Java Byte Code JIT Compile (パフォーマンスに影響する部分を動的コンパイル) Interpreter 実⾏ Native Code javac ・C1 : 素早い起動が求められる GUI アプリ向けの JIT コンパイラ (クライアントアプリ向け) ・C2 : ⻑時間実⾏されるサーバーサイド向けの JIT コンパイラ
73.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. GraalVM 全体図 73 HotSpot VM C1 JVMCI Java Source Code AOT Compile Java Byte Code Interpreter 実⾏ javac Graal Source Code (インタプリタ⾔語) Source Code (LLVM 対応⾔語) Sulong AST Compile LLVM Compile Truffle AST Truffle 互換 Compiler JIT Compile Substrate VM 静的コンパイル Native Code
74.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. GraalVM 全体図 74 HotSpot VM C1 JVMCI Java Source Code AOT Compile Java Byte Code Interpreter 実⾏ javac Graal Source Code (インタプリタ⾔語) Source Code (LLVM 対応⾔語) Sulong AST Compile LLVM Compile Truffle AST Truffle 互換 Compiler JIT Compile Substrate VM 静的コンパイル Native Code ・Truffle : Graal がインタプリタ⾔語を解釈するために満 たすべき要件をまとめたフレームワーク。 ・Truffle AST : Graal が解釈可能なインタプリタ⾔語の構造化 形式。 ・Sulong : LLVM の Bitcode を Truffle AST に変換する プログラム。
75.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. GraalVM 全体図 75 HotSpot VM C1 JVMCI Java Source Code AOT Compile Java Byte Code Interpreter 実⾏ javac Graal Source Code (インタプリタ⾔語) Source Code (LLVM 対応⾔語) Sulong AST Compile LLVM Compile Truffle AST Truffle 互換 Compiler JIT Compile Substrate VM 静的コンパイル Native Code ・Graal : JVMCI 経由で JIT コンパイルを⾏う Java ベースの プログラム。 ・JVMCI (JVM Compiler Interface) : HotSpot VM の JIT コンパイル関連リソースにアク セスするためのインタフェース。
76.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. GraalVM 全体図 76 HotSpot VM C1 JVMCI Java Source Code AOT Compile Java Byte Code Interpreter 実⾏ javac Graal Source Code (インタプリタ⾔語) Source Code (LLVM 対応⾔語) Sulong AST Compile LLVM Compile Truffle AST Truffle 互換 Compiler JIT Compile Substrate VM 静的コンパイル Native Code ・Substrate VM : 実⾏可能なネイティブコードにコンパイルすることがで きる。そのため、事前に Java のバイトコードをバイナ リ化することができる。
77.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. GraalVM ✖ Micronaut を取り込む 77 Warm StartCold Start コンテナ 生成 パッケージ ロード パッケージ 展開 ランタイム 起動 初期化 関数・メソッド 起動 デプロイ compile-time
78.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. JVM起動不要なNativeカスタムランタイム 78 AWS Lambda aws-serverless-java-container Native Modules ランタイムでは や、ビジネス固有 のロジックは、 Nativeとして 実行される。
79.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. GraalVM ✖ Micronaut のデプロイ(抜粋) 79 git clone gradle compile docker build sam package sam deploy AWS SAM https://github.com/awslabs/aws-serverless-java-container/tree/master/samples/micronaut/pet-store javac GraalVM
80.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. GraalVM ✖ SpringBoot はできないの? 80 Warm StartCold Start コンテナ 生成 パッケージ ロード パッケージ 展開 ランタイム 起動 初期化 関数・メソッド 起動 デプロイ compile-time GraalVMの制約により現在は困難。
81.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. GraalVMの制約 81 項目 サポート Dynamic Class Loading / Unloading Not supported Reflection Requires Configuration Dynamic Proxy Requires Configuration InvokeDynamic Bytecode and Method Handles Not supported Finalizers Not supported Security Manager Not supported https://github.com/oracle/graal/blob/master/substratevm/LIMITATIONS.md
82.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. 82 まとめ
83.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. Javaでサービスを作る場合 83 モノリス マイクロサービス • 開発サイクルを高速にまわしたい • バックエンドリソースを効率よく使いたい
84.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. Javaでマイクロサービスを作る場合 84 SpringBoot FAT jar AWS Lambda • サーバーを管理したくない。 • スケールを管理したくない。
85.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. AWS Lambda のランタイムをJavaにする場合 85 FAT jar Skinny jar • ColdStartを抑制したい。 • ロジックにフォーカスしたい。
86.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. AWS Lambdaで フレームワークを使う場合 86 Docker Container aws-serverless- java-container • 既存のSpringBoot資産を活かしたい。 • エンジニアはSpringBootでの開発に慣れている。
87.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. aws-serverless-java-containerを使う場合 87 javacで バイトコードに GraalVMで Nativeに • ColdStartの遅延を解消したい。 • 開発コードに手を入れたくない
88.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. AWS Lambdaで GraalVM を使う場合 88 SpringBoot Micronaut • GraalVM対応フレームワークにしたい。 • DI / AOPも対応したい。
89.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. AWS Lambda + JAVA で Serverless開発しましょう!! 89
90.
© 2019, Amazon
Web Services, Inc. or its affiliates. All rights reserved. Thank you! AWS Presents, Battle against Massive Load using Your Super Sonic Lambda Function! 90 @_kensh
Download