SlideShare a Scribd company logo
1 of 51
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Java Developer on AWS
Kim Kao
Solutions Architect
Amazon Web Services
Domain Driven Design(DDD Taiwan)
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Broadest and deepest platform choice
Java on Servers
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Broadest and deepest platform choice
• Purchase Options (On-demand, Reserved, Spot, Dedicated)
• Manufacturer (Intel, AWS, Amazon)
• Virtualization Type (Paravirtual, HVM, Bare Metal)
• CPU (up to 128 on x1 and x1e, 488 Logical Proc on .metal)
• Memory (up to 4T on x1e, 12T on Y)
• Disk (up to 48TB HDD / 16 TB NVMe SSD)
• Network (up to 100Gb)
• GPU (up to 8 NVIDIA Tesla V100)
• FPGA (up to 8 Xilinx Virtex UltraScale+ VU9P FPGAs)
.jar
.war
Java Containers
Pick the right
tool for the job
Create new
compositions easily
Improve resilience
and security
Experiment
and fail safely
Lower costs with
granular scaling
Adopt
technology faster
Optimize
team productivity
Deploy features
safely and quickly
Eight reasons why Amazon uses microservices
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Comparison of operational responsibility
AWS Lambda
Serverless functions
AWS Fargate
Serverless containers
ECS/EKS
Container-management as a service
EC2
Infrastructure-as-a-Service
More opinionated
Less opinionated
AWS manages Customer manages
• Data source integrations
• Physical hardware, software, networking,
and facilities
• Provisioning
• Application code
• Container orchestration, provisioning
• Cluster scaling
• Physical hardware, host OS/kernel,
networking, and facilities
• Application code
• Data source integrations
• Security config and updates, network config,
management tasks
• Container orchestration control plane
• Physical hardware software,
networking, and facilities
• Application code
• Data source integrations
• Work clusters
• Security config and updates, network config,
firewall, management tasks
• Physical hardware software,
networking, and facilities
• Application code
• Data source integrations
• Scaling
• Security config and updates, network config,
management tasks
• Provisioning, managing scaling and
patching of servers
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Containers and Microservices
• Do one thing, really well
• Any app, any language
• Test and deploy same immutable artifact
• Self-contained services
• Isolated execution environment
• Faster startup
• Scaling and upgrading
Container Container
Container Container
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Elastic Container Service for EC2
Scheduling and Orchestration
Cluster Manager Placement Engine
ECS AMI
Docker Agent ECS Agent
Container
1
Container
2
Container
3
Instances X1
Instance
Spot
Instance
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Elastic Container Service for Fargate
Scheduling and Orchestration
Cluster Manager Placement Engine
Container
1
Container
2
Container
3
Micro VMs
Firecracker
Fargate Cluster construction
--launch-type FARGATE
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Fargate CLI – Way to easy control container
https://github.com/jpignata/fargate
https://github.com/humank/fargate-java-sample
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Features on Fargate CLI
• Task – Whole lifecycle for ECS task
• Service – Create services within desired vpc, subnet, and count
• Load Balancers – easy to create for web integration
• Certificates – Import certs from ACM
• Easy Scale in, Scale out in 1 line command
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon EKS
mycluster.eks.amazonaws.com
EKS workers
Kubectl
AZ 1 AZ 2 AZ 3
Your AWS account
VPC
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Kubernetes control plane
Highly available and single
tenant infrastructure
All “native AWS” components
Fronted by an NLB
VPC
API Server ASG
Etcd ASG
NLB
AZ-1 AZ-2 AZ-3
ELB
Instances
Instances
Java Functions
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Enabling new
application patterns
Serverless at scale
Excelling in Service
Fundamentals
SQS as an event source
Improved fan-out
5X faster reads from Kinesis
Increase to 15 minute functions
Empowering
Developers
Simplified debugging with
SAM CLI and Go debugger
Support for Go, Powershell, Node 8,
.Net Core2.1, and Python 3.7
N E W !
Languages
Lambda
support
for Ruby
+ Bring any Linux compatible language
runtime;
Powered by new Runtime API - Codifies
the runtime calling conventions and
integration points
Same technology powering Ruby support
in AWS Lambda
Bring any Linux compatible
language runtime
Custom Runtimes
+
AWSOPENSOURCE
o f f e r e d b y
o f f e r e d b y
o f f e r e d b y
o f f e r e d b y
PARTNERSUPPORTED
N E W !
Extend the Lambda execution
environment with any binaries,
dependencies, or runtimes
Lambda Layers
BUSINESS
LOGIC
LIB
A
LIB
B
BUSINESS
LOGIC
LIB
A
LIB
B
BUSINESS
LOGIC
LIB
A
LIB
B
BUSINESS
LOGIC
LIB
A
LIB
B
Programming
Model
Before
BUSINESS
LOGIC
BUSINESS
LOGIC
BUSINESS
LOGIC
BUSINESS
LOGIC
LIB
A
LIB
B
After
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Run Java as a binary execution
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Improving startup time in Java functions
• Package Size
• Resource Polling
• Database Connections
• Worker Threads
• Classpath Scanning
• JVM Ergonomics
• Eager Initialization
• Network / FileSystem
Java Streaming Analytics
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What is streaming data?
Typical characteristics
Low-latencyContinuous Ordered,
incremental
High volume
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Why streaming data?
Get actionable insights quickly
Source: Perishable insights, Mike Gualtieri, Forrester
Real time Seconds Minutes Hours Days Months
Valueofdatatodecision-making
Preventive/Predictive
Actionable Reactive Historical
Time critical decisions Traditional “batch” business intelligence
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Streaming with Amazon Kinesis
Easily collect, process, and analyze video and data streams in real time
Capture, process,
and store video
streams
Load data streams
into AWS data
stores
Analyze data
streams in real time
Capture, process,
and store data
streams
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Apache Flink: Stateful Computations over Streams
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Apache Flink: Stateful Computations over Streams
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS operational responsibility models
On-Premises Cloud
Less More
Compute Virtual Machine
EC2 Elastic Beanstalk AWS LambdaFargate
Databases MySQL MySQL on EC2
RDS MySQL RDS Aurora Aurora Serverless DynamoDB
Storage Storage
S3
Messaging ESBs
Amazon MQ Kinesis SQS / SNS
Analytics
Hadoop Hadoop on EC2 EMR Elasticsearch Service Athena
Tools
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS JVM Ecosystem
AWS SDK
for Java
Kinesis
Consumer
Library
Kinesis
Producer
Library
Kinesis
S3 Transfer
Manager
S3A
Hadoop FS
S3
Encryption
Client
Amazon S3
DynamoDB
Mapper
DynamoDB
Document
API
DynamoDB
Encryption
Client
Amazon DynamoDB
DynamoDB
Accelerator
(DAX) Client
SWF
Flow Library
Step
Functions
DSL
Workflow
Eclipse
Toolkit
Beanstalker
Maven
Plugins
Client-Side Build Tools
Third Party
Scala SDKs
SQS
Extended
Client
Library
IAM Policy
DSL
Java Mail
Client for
SES
Other
Code Deployment
AWS
CodeStar
AWS
CodeDeploy
AWS
CodePipeline
Execution Environments
AWS Elastic
Beanstalk
AWS
Lambda
Amazon EMR Amazon ECSAmazon EC2
Ships with SDK (v1)
AWS Open Source
3rd Party Open
Source
AWS Services
Legend
Ships with SDK (v2)
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
SnsClient.builder()
.region(Region.US_WEST_2)
.httpClient(UrlConnectionHttpClient.create())
.build();
SnsClient.builder()
.region(Region.US_WEST_2)
.overrideConfiguration(
ClientOverrideConfiguration.builder()
.apiCallTimeout(Duration.ofSeconds(5))
.build())
.build();
SnsClient.builder()
.region(Region.US_WEST_2)
.overrideConfiguration(o -> o.apiCallTimeout(Duration.ofSeconds(5)))
.build();
SnsAsyncClient.create()
SnsClient.builder()
.region(Region.US_WEST_2)
.credentialsProvider(ProfileCredentialsProvider.create())
.build();
AWS Java SDK v2
Non-blocking Asynchronous Service Clients
Immutability through Builder Pattern
Pluggable HTTP Clients
Consumer Builder Pattern
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS SDK for Java v2
Modularized
Endpoint Discovery
HTTP/2 Event Streaming
Fully Non-Blocking HTTP/2 Clients
Bi-directional real-time streaming responses
URLConnection as http client
Moved off of Jackson Object Mapper at runtime
Generate resources at compile time
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS Toolkits for IntelliJ IDEA & Pycharm
Make it easier to develop on AWS
Open Source
Initial focus: Serverless
AWS Lambda
AWS SAM CLI Integration
Local debugging
Serverless application support
Basic resource/credential management
Will grow support across AWS
aws.amazon.com/intellij
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Infrastructure as code
Higher-level abstractions
Object oriented & extensible
Native IDE support
Open source
https://github.com/awslabs/aws-cdk
Currently in developer preview
AWS Cloud
Development
Kit
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Simple CDK example
Stack
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Synthesized Template
{
"Resources": {
"Queue4A7E3555": {
"Type": "AWS::SQS::Queue",
"Properties": { "VisibilityTimeout": 300 }
},
"QueuePolicy25439813": {
"Type": "AWS::SQS::QueuePolicy",
"Properties": {
"PolicyDocument": {
"Statement": [
{
"Action": "sqs:SendMessage",
"Condition": {
"ArnEquals": {
"aws:SourceArn": { "Ref": "TopicBFC7AF6E" }
}
},
"Effect": "Allow",
"Principal": { "Service": "sns.amazonaws.com" },
"Resource": {
"Fn::GetAtt": [ "Queue4A7E3555", "Arn" ]
}
}
],
"Version": "2012-10-17"
},
"Queues": [{ "Ref": "Queue4A7E3555" }]
}
},
"TopicBFC7AF6E": {
"Type": "AWS::SNS::Topic",
"Properties": {
"DisplayName": "Some Amazing Topic"
}
},
"TopicQueueSubscription2D098ED4": {
"Type": "AWS::SNS::Subscription",
"Properties": {
"Endpoint": {
"Fn::GetAtt": [ "Queue4A7E3555", "Arn" ]
},
"Protocol": "sqs",
"TopicArn": { "Ref": "TopicBFC7AF6E" }
}
}
}
}
Java Platform
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Amazon Corretto
• Amazon supported distribution of OpenJDK
• Run internally on thousands of production services
• Multiplatform: Amazon Linux 2, Windows, macOS, Docker, Ubuntu, etc.
• No cost – Distributed under open source license - no charge for use or
distribution
• No cost LTS (patches, performance improvements)
• Corretto 8 in preview, Corretto 8 & 11 expected to GA Q1 2019
• Open source – all patches and enhancements will be upstreamed to
OpenJDK - https://github.com/corretto
• More info - https://aws.amazon.com/corretto
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS JVM Ecosystem
Kinesis
Consumer
Library
Kinesis
Producer
Library
Kinesis/Streaming
S3 Transfer
Manager
S3A
Hadoop FS
S3
Encryption
Client
Amazon S3
DynamoDB
Mapper
DynamoDB
Document
API
DynamoDB
Encryption
Client
Amazon DynamoDB
DynamoDB
Accelerator
(DAX) Client
SWF
Flow Library
Step
Functions
DSL
Workflow
Eclipse
Toolkit
Beanstalker
Maven
Plugins
Client-Side Build Tools
Third Party
Scala SDKs
SQS
Extended
Client
Library
IAM Policy
DSL
Java Mail
Client for
SES
Other
Code Deployment
AWS
CodeStar
AWS
CodeDeploy
AWS
CodePipeline
Execution Environments
AWS Elastic
Beanstalk
AWS
Lambda
Amazon EMR Amazon ECSAmazon EC2
Ships with SDK (v1)
AWS Open Source
3rd Party Open
Source
AWS Services
Legend
Ships with SDK (v2)
AWS SDK
for Java (v1)
Toolkit for
IntelliJ
Serverless
deployment
with IntelliJ
AWS SDK
for Java (v2)
New APIs
with SDK v2
Faster SDK
start-up in
Lambda
HTTP/2 Bi-
Directional
Streaming
Full duplex
streaming
Cloud
Development
Kit (CDK)
Infrastructure
as code
Amazon
Corretto
Amazon
supported
OpenJDK
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Want More?
YouTube: Hands-on in the AWS Java Ecosystem – re:Invent 2018
Thank you!
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

More Related Content

What's hot

Systems Operations for Windows Workloads
Systems Operations for Windows WorkloadsSystems Operations for Windows Workloads
Systems Operations for Windows WorkloadsAmazon Web Services
 
Amazon WorkSpaces for Regulated Industries (BAP211) - AWS re:Invent 2018
Amazon WorkSpaces for Regulated Industries (BAP211) - AWS re:Invent 2018Amazon WorkSpaces for Regulated Industries (BAP211) - AWS re:Invent 2018
Amazon WorkSpaces for Regulated Industries (BAP211) - AWS re:Invent 2018Amazon Web Services
 
CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateAmazon Web Services
 
Twelve-Factor serverless applications - MAD311 - Chicago AWS Summit
Twelve-Factor serverless applications - MAD311 - Chicago AWS SummitTwelve-Factor serverless applications - MAD311 - Chicago AWS Summit
Twelve-Factor serverless applications - MAD311 - Chicago AWS SummitAmazon Web Services
 
如何成功的完成混合雲遷移專案
如何成功的完成混合雲遷移專案如何成功的完成混合雲遷移專案
如何成功的完成混合雲遷移專案Amazon Web Services
 
Microservices on AWS: Architectural Patterns and Best Practices | AWS Summit ...
Microservices on AWS: Architectural Patterns and Best Practices | AWS Summit ...Microservices on AWS: Architectural Patterns and Best Practices | AWS Summit ...
Microservices on AWS: Architectural Patterns and Best Practices | AWS Summit ...AWS Summits
 
Twelve-Factor Serverless Applications
Twelve-Factor Serverless ApplicationsTwelve-Factor Serverless Applications
Twelve-Factor Serverless ApplicationsAmazon Web Services
 
DEM08 Use Cisco Cloud Connect to Securely Extend Private Network to AWS and M...
DEM08 Use Cisco Cloud Connect to Securely Extend Private Network to AWS and M...DEM08 Use Cisco Cloud Connect to Securely Extend Private Network to AWS and M...
DEM08 Use Cisco Cloud Connect to Securely Extend Private Network to AWS and M...Amazon Web Services
 
Overview of Serverless Application Deployment Patterns - AWS Online Tech Talks
Overview of Serverless Application Deployment Patterns - AWS Online Tech TalksOverview of Serverless Application Deployment Patterns - AWS Online Tech Talks
Overview of Serverless Application Deployment Patterns - AWS Online Tech TalksAmazon Web Services
 
Accelerating your Cloud Migration with VMware Cloud on AWS - SVC210 - Atlanta...
Accelerating your Cloud Migration with VMware Cloud on AWS - SVC210 - Atlanta...Accelerating your Cloud Migration with VMware Cloud on AWS - SVC210 - Atlanta...
Accelerating your Cloud Migration with VMware Cloud on AWS - SVC210 - Atlanta...Amazon Web Services
 
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...Amazon Web Services
 
利用微服務加速創新的步伐
利用微服務加速創新的步伐利用微服務加速創新的步伐
利用微服務加速創新的步伐Amazon Web Services
 
Serverless on AWS overview - PeachPayments meetup
Serverless on AWS overview - PeachPayments meetupServerless on AWS overview - PeachPayments meetup
Serverless on AWS overview - PeachPayments meetupCobus Bernard
 
Simplifying Microsoft Architectures with AWS Services (WIN306) - AWS re:Inven...
Simplifying Microsoft Architectures with AWS Services (WIN306) - AWS re:Inven...Simplifying Microsoft Architectures with AWS Services (WIN306) - AWS re:Inven...
Simplifying Microsoft Architectures with AWS Services (WIN306) - AWS re:Inven...Amazon Web Services
 
Modern Application Development for Startups
Modern Application Development for StartupsModern Application Development for Startups
Modern Application Development for StartupsDonnie Prakoso
 
A deep dive into Amazon MSK - ADB206 - Chicago AWS Summit
A deep dive into Amazon MSK - ADB206 - Chicago AWS SummitA deep dive into Amazon MSK - ADB206 - Chicago AWS Summit
A deep dive into Amazon MSK - ADB206 - Chicago AWS SummitAmazon Web Services
 
AWS App Mesh (Service Mesh Magic)- AWS Container Day 2019 Barcelona
AWS App Mesh (Service Mesh Magic)- AWS Container Day 2019 BarcelonaAWS App Mesh (Service Mesh Magic)- AWS Container Day 2019 Barcelona
AWS App Mesh (Service Mesh Magic)- AWS Container Day 2019 BarcelonaAmazon Web Services
 

What's hot (20)

Systems Operations for Windows Workloads
Systems Operations for Windows WorkloadsSystems Operations for Windows Workloads
Systems Operations for Windows Workloads
 
Amazon WorkSpaces for Regulated Industries (BAP211) - AWS re:Invent 2018
Amazon WorkSpaces for Regulated Industries (BAP211) - AWS re:Invent 2018Amazon WorkSpaces for Regulated Industries (BAP211) - AWS re:Invent 2018
Amazon WorkSpaces for Regulated Industries (BAP211) - AWS re:Invent 2018
 
CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and Fargate
 
Twelve-Factor serverless applications - MAD311 - Chicago AWS Summit
Twelve-Factor serverless applications - MAD311 - Chicago AWS SummitTwelve-Factor serverless applications - MAD311 - Chicago AWS Summit
Twelve-Factor serverless applications - MAD311 - Chicago AWS Summit
 
如何成功的完成混合雲遷移專案
如何成功的完成混合雲遷移專案如何成功的完成混合雲遷移專案
如何成功的完成混合雲遷移專案
 
Microservices on AWS: Architectural Patterns and Best Practices | AWS Summit ...
Microservices on AWS: Architectural Patterns and Best Practices | AWS Summit ...Microservices on AWS: Architectural Patterns and Best Practices | AWS Summit ...
Microservices on AWS: Architectural Patterns and Best Practices | AWS Summit ...
 
Serverless - State of the Union
Serverless - State of the UnionServerless - State of the Union
Serverless - State of the Union
 
Twelve-Factor Serverless Applications
Twelve-Factor Serverless ApplicationsTwelve-Factor Serverless Applications
Twelve-Factor Serverless Applications
 
DEM08 Use Cisco Cloud Connect to Securely Extend Private Network to AWS and M...
DEM08 Use Cisco Cloud Connect to Securely Extend Private Network to AWS and M...DEM08 Use Cisco Cloud Connect to Securely Extend Private Network to AWS and M...
DEM08 Use Cisco Cloud Connect to Securely Extend Private Network to AWS and M...
 
Overview of Serverless Application Deployment Patterns - AWS Online Tech Talks
Overview of Serverless Application Deployment Patterns - AWS Online Tech TalksOverview of Serverless Application Deployment Patterns - AWS Online Tech Talks
Overview of Serverless Application Deployment Patterns - AWS Online Tech Talks
 
Containers - State of the Union
Containers - State of the UnionContainers - State of the Union
Containers - State of the Union
 
Accelerating your Cloud Migration with VMware Cloud on AWS - SVC210 - Atlanta...
Accelerating your Cloud Migration with VMware Cloud on AWS - SVC210 - Atlanta...Accelerating your Cloud Migration with VMware Cloud on AWS - SVC210 - Atlanta...
Accelerating your Cloud Migration with VMware Cloud on AWS - SVC210 - Atlanta...
 
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
 
利用微服務加速創新的步伐
利用微服務加速創新的步伐利用微服務加速創新的步伐
利用微服務加速創新的步伐
 
Serverless on AWS overview - PeachPayments meetup
Serverless on AWS overview - PeachPayments meetupServerless on AWS overview - PeachPayments meetup
Serverless on AWS overview - PeachPayments meetup
 
Simplifying Microsoft Architectures with AWS Services (WIN306) - AWS re:Inven...
Simplifying Microsoft Architectures with AWS Services (WIN306) - AWS re:Inven...Simplifying Microsoft Architectures with AWS Services (WIN306) - AWS re:Inven...
Simplifying Microsoft Architectures with AWS Services (WIN306) - AWS re:Inven...
 
Modern Application Development for Startups
Modern Application Development for StartupsModern Application Development for Startups
Modern Application Development for Startups
 
Developer Tools at AWS 2018.pdf
Developer Tools at AWS 2018.pdfDeveloper Tools at AWS 2018.pdf
Developer Tools at AWS 2018.pdf
 
A deep dive into Amazon MSK - ADB206 - Chicago AWS Summit
A deep dive into Amazon MSK - ADB206 - Chicago AWS SummitA deep dive into Amazon MSK - ADB206 - Chicago AWS Summit
A deep dive into Amazon MSK - ADB206 - Chicago AWS Summit
 
AWS App Mesh (Service Mesh Magic)- AWS Container Day 2019 Barcelona
AWS App Mesh (Service Mesh Magic)- AWS Container Day 2019 BarcelonaAWS App Mesh (Service Mesh Magic)- AWS Container Day 2019 Barcelona
AWS App Mesh (Service Mesh Magic)- AWS Container Day 2019 Barcelona
 

Similar to Java-Developer-on-AWS

利用 Fargate - 無伺服器的容器環境建置高可用的系統
利用 Fargate - 無伺服器的容器環境建置高可用的系統利用 Fargate - 無伺服器的容器環境建置高可用的系統
利用 Fargate - 無伺服器的容器環境建置高可用的系統Amazon Web Services
 
Securing serverless and container services - SDD306 - AWS re:Inforce 2019
Securing serverless and container services - SDD306 - AWS re:Inforce 2019 Securing serverless and container services - SDD306 - AWS re:Inforce 2019
Securing serverless and container services - SDD306 - AWS re:Inforce 2019 Amazon Web Services
 
2018 10-19-jc conf-embrace-legacy-java-ee-by-aws-serverless
2018 10-19-jc conf-embrace-legacy-java-ee-by-aws-serverless2018 10-19-jc conf-embrace-legacy-java-ee-by-aws-serverless
2018 10-19-jc conf-embrace-legacy-java-ee-by-aws-serverlessKim Kao
 
Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...
Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...
Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...Amazon Web Services
 
AWSome Day Online Conference 2018 - Module 2
AWSome Day Online Conference 2018 -  Module 2AWSome Day Online Conference 2018 -  Module 2
AWSome Day Online Conference 2018 - Module 2Amazon Web Services
 
SRV205 Architectures and Strategies for Building Modern Applications on AWS
 SRV205 Architectures and Strategies for Building Modern Applications on AWS SRV205 Architectures and Strategies for Building Modern Applications on AWS
SRV205 Architectures and Strategies for Building Modern Applications on AWSAmazon Web Services
 
SRV313 Introduction to Building Web Apps on AWS
 SRV313 Introduction to Building Web Apps on AWS SRV313 Introduction to Building Web Apps on AWS
SRV313 Introduction to Building Web Apps on AWSAmazon Web Services
 
Building Modern Applications on AWS.pptx
Building Modern Applications on AWS.pptxBuilding Modern Applications on AWS.pptx
Building Modern Applications on AWS.pptxNelson Kimathi
 
Mainframe Modernization with AWS: Patterns and Best Practices (GPSTEC305) - A...
Mainframe Modernization with AWS: Patterns and Best Practices (GPSTEC305) - A...Mainframe Modernization with AWS: Patterns and Best Practices (GPSTEC305) - A...
Mainframe Modernization with AWS: Patterns and Best Practices (GPSTEC305) - A...Amazon Web Services
 
Getting Started with AWS Lambda and Serverless
Getting Started with AWS Lambda and ServerlessGetting Started with AWS Lambda and Serverless
Getting Started with AWS Lambda and ServerlessAmazon Web Services
 
AWS Core Services Overview, Immersion Day Huntsville 2019
AWS Core Services Overview, Immersion Day Huntsville 2019AWS Core Services Overview, Immersion Day Huntsville 2019
AWS Core Services Overview, Immersion Day Huntsville 2019Amazon Web Services
 
Using Containers and Serverless to Deploy Microservices (ARC214) - AWS re:Inv...
Using Containers and Serverless to Deploy Microservices (ARC214) - AWS re:Inv...Using Containers and Serverless to Deploy Microservices (ARC214) - AWS re:Inv...
Using Containers and Serverless to Deploy Microservices (ARC214) - AWS re:Inv...Amazon Web Services
 
AWS SUMMIT TEL AVIV - 2018
AWS SUMMIT TEL AVIV - 2018AWS SUMMIT TEL AVIV - 2018
AWS SUMMIT TEL AVIV - 2018Ayaz Hussain
 
Getting Started with AWS Lambda & Serverless Computing - Kashif Imran.pdf
Getting Started with AWS Lambda & Serverless Computing - Kashif Imran.pdfGetting Started with AWS Lambda & Serverless Computing - Kashif Imran.pdf
Getting Started with AWS Lambda & Serverless Computing - Kashif Imran.pdfAmazon Web Services
 
Track 1 Session 3_建構安全高效的電子設計自動化環境
Track 1 Session 3_建構安全高效的電子設計自動化環境Track 1 Session 3_建構安全高效的電子設計自動化環境
Track 1 Session 3_建構安全高效的電子設計自動化環境Amazon Web Services
 
Simplifying Microsoft Architectures with AWS Services
Simplifying Microsoft Architectures with AWS Services Simplifying Microsoft Architectures with AWS Services
Simplifying Microsoft Architectures with AWS Services Amazon Web Services
 
Serverless on AWS: Architectural Patterns and Best Practices
Serverless on AWS: Architectural Patterns and Best PracticesServerless on AWS: Architectural Patterns and Best Practices
Serverless on AWS: Architectural Patterns and Best PracticesVladimir Simek
 

Similar to Java-Developer-on-AWS (20)

利用 Fargate - 無伺服器的容器環境建置高可用的系統
利用 Fargate - 無伺服器的容器環境建置高可用的系統利用 Fargate - 無伺服器的容器環境建置高可用的系統
利用 Fargate - 無伺服器的容器環境建置高可用的系統
 
Compute@Scale
Compute@ScaleCompute@Scale
Compute@Scale
 
Securing serverless and container services - SDD306 - AWS re:Inforce 2019
Securing serverless and container services - SDD306 - AWS re:Inforce 2019 Securing serverless and container services - SDD306 - AWS re:Inforce 2019
Securing serverless and container services - SDD306 - AWS re:Inforce 2019
 
2018 10-19-jc conf-embrace-legacy-java-ee-by-aws-serverless
2018 10-19-jc conf-embrace-legacy-java-ee-by-aws-serverless2018 10-19-jc conf-embrace-legacy-java-ee-by-aws-serverless
2018 10-19-jc conf-embrace-legacy-java-ee-by-aws-serverless
 
Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...
Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...
Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...
 
AWSome Day Online Conference 2018 - Module 2
AWSome Day Online Conference 2018 -  Module 2AWSome Day Online Conference 2018 -  Module 2
AWSome Day Online Conference 2018 - Module 2
 
SRV205 Architectures and Strategies for Building Modern Applications on AWS
 SRV205 Architectures and Strategies for Building Modern Applications on AWS SRV205 Architectures and Strategies for Building Modern Applications on AWS
SRV205 Architectures and Strategies for Building Modern Applications on AWS
 
SRV313 Introduction to Building Web Apps on AWS
 SRV313 Introduction to Building Web Apps on AWS SRV313 Introduction to Building Web Apps on AWS
SRV313 Introduction to Building Web Apps on AWS
 
Building Modern Applications on AWS.pptx
Building Modern Applications on AWS.pptxBuilding Modern Applications on AWS.pptx
Building Modern Applications on AWS.pptx
 
Mainframe Modernization with AWS: Patterns and Best Practices (GPSTEC305) - A...
Mainframe Modernization with AWS: Patterns and Best Practices (GPSTEC305) - A...Mainframe Modernization with AWS: Patterns and Best Practices (GPSTEC305) - A...
Mainframe Modernization with AWS: Patterns and Best Practices (GPSTEC305) - A...
 
Getting Started with AWS Lambda and Serverless
Getting Started with AWS Lambda and ServerlessGetting Started with AWS Lambda and Serverless
Getting Started with AWS Lambda and Serverless
 
AWS Core Services Overview, Immersion Day Huntsville 2019
AWS Core Services Overview, Immersion Day Huntsville 2019AWS Core Services Overview, Immersion Day Huntsville 2019
AWS Core Services Overview, Immersion Day Huntsville 2019
 
Using Containers and Serverless to Deploy Microservices (ARC214) - AWS re:Inv...
Using Containers and Serverless to Deploy Microservices (ARC214) - AWS re:Inv...Using Containers and Serverless to Deploy Microservices (ARC214) - AWS re:Inv...
Using Containers and Serverless to Deploy Microservices (ARC214) - AWS re:Inv...
 
AWS 101 - Tel Aviv Summit 2018
AWS 101 - Tel Aviv Summit 2018AWS 101 - Tel Aviv Summit 2018
AWS 101 - Tel Aviv Summit 2018
 
AWS SUMMIT TEL AVIV - 2018
AWS SUMMIT TEL AVIV - 2018AWS SUMMIT TEL AVIV - 2018
AWS SUMMIT TEL AVIV - 2018
 
Getting Started with AWS Lambda & Serverless Computing - Kashif Imran.pdf
Getting Started with AWS Lambda & Serverless Computing - Kashif Imran.pdfGetting Started with AWS Lambda & Serverless Computing - Kashif Imran.pdf
Getting Started with AWS Lambda & Serverless Computing - Kashif Imran.pdf
 
Track 1 Session 3_建構安全高效的電子設計自動化環境
Track 1 Session 3_建構安全高效的電子設計自動化環境Track 1 Session 3_建構安全高效的電子設計自動化環境
Track 1 Session 3_建構安全高效的電子設計自動化環境
 
Simplifying Microsoft Architectures with AWS Services
Simplifying Microsoft Architectures with AWS Services Simplifying Microsoft Architectures with AWS Services
Simplifying Microsoft Architectures with AWS Services
 
Serverless on AWS: Architectural Patterns and Best Practices
Serverless on AWS: Architectural Patterns and Best PracticesServerless on AWS: Architectural Patterns and Best Practices
Serverless on AWS: Architectural Patterns and Best Practices
 
AWS for VMware Admins
AWS for VMware AdminsAWS for VMware Admins
AWS for VMware Admins
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Java-Developer-on-AWS

  • 1. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Java Developer on AWS Kim Kao Solutions Architect Amazon Web Services Domain Driven Design(DDD Taiwan)
  • 2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Broadest and deepest platform choice
  • 4. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Broadest and deepest platform choice • Purchase Options (On-demand, Reserved, Spot, Dedicated) • Manufacturer (Intel, AWS, Amazon) • Virtualization Type (Paravirtual, HVM, Bare Metal) • CPU (up to 128 on x1 and x1e, 488 Logical Proc on .metal) • Memory (up to 4T on x1e, 12T on Y) • Disk (up to 48TB HDD / 16 TB NVMe SSD) • Network (up to 100Gb) • GPU (up to 8 NVIDIA Tesla V100) • FPGA (up to 8 Xilinx Virtex UltraScale+ VU9P FPGAs)
  • 5.
  • 7.
  • 8.
  • 10. Pick the right tool for the job Create new compositions easily Improve resilience and security Experiment and fail safely Lower costs with granular scaling Adopt technology faster Optimize team productivity Deploy features safely and quickly Eight reasons why Amazon uses microservices
  • 11. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Comparison of operational responsibility AWS Lambda Serverless functions AWS Fargate Serverless containers ECS/EKS Container-management as a service EC2 Infrastructure-as-a-Service More opinionated Less opinionated AWS manages Customer manages • Data source integrations • Physical hardware, software, networking, and facilities • Provisioning • Application code • Container orchestration, provisioning • Cluster scaling • Physical hardware, host OS/kernel, networking, and facilities • Application code • Data source integrations • Security config and updates, network config, management tasks • Container orchestration control plane • Physical hardware software, networking, and facilities • Application code • Data source integrations • Work clusters • Security config and updates, network config, firewall, management tasks • Physical hardware software, networking, and facilities • Application code • Data source integrations • Scaling • Security config and updates, network config, management tasks • Provisioning, managing scaling and patching of servers
  • 12. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Containers and Microservices • Do one thing, really well • Any app, any language • Test and deploy same immutable artifact • Self-contained services • Isolated execution environment • Faster startup • Scaling and upgrading Container Container Container Container
  • 13. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Elastic Container Service for EC2 Scheduling and Orchestration Cluster Manager Placement Engine ECS AMI Docker Agent ECS Agent Container 1 Container 2 Container 3 Instances X1 Instance Spot Instance
  • 14. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Elastic Container Service for Fargate Scheduling and Orchestration Cluster Manager Placement Engine Container 1 Container 2 Container 3 Micro VMs Firecracker
  • 16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Fargate CLI – Way to easy control container https://github.com/jpignata/fargate https://github.com/humank/fargate-java-sample
  • 17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Features on Fargate CLI • Task – Whole lifecycle for ECS task • Service – Create services within desired vpc, subnet, and count • Load Balancers – easy to create for web integration • Certificates – Import certs from ACM • Easy Scale in, Scale out in 1 line command
  • 18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon EKS mycluster.eks.amazonaws.com EKS workers Kubectl AZ 1 AZ 2 AZ 3 Your AWS account VPC
  • 19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Kubernetes control plane Highly available and single tenant infrastructure All “native AWS” components Fronted by an NLB VPC API Server ASG Etcd ASG NLB AZ-1 AZ-2 AZ-3 ELB Instances Instances
  • 21. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Enabling new application patterns Serverless at scale Excelling in Service Fundamentals SQS as an event source Improved fan-out 5X faster reads from Kinesis Increase to 15 minute functions Empowering Developers Simplified debugging with SAM CLI and Go debugger Support for Go, Powershell, Node 8, .Net Core2.1, and Python 3.7
  • 22.
  • 23. N E W ! Languages Lambda support for Ruby + Bring any Linux compatible language runtime; Powered by new Runtime API - Codifies the runtime calling conventions and integration points Same technology powering Ruby support in AWS Lambda Bring any Linux compatible language runtime Custom Runtimes + AWSOPENSOURCE o f f e r e d b y o f f e r e d b y o f f e r e d b y o f f e r e d b y PARTNERSUPPORTED
  • 24.
  • 25. N E W ! Extend the Lambda execution environment with any binaries, dependencies, or runtimes Lambda Layers BUSINESS LOGIC LIB A LIB B BUSINESS LOGIC LIB A LIB B BUSINESS LOGIC LIB A LIB B BUSINESS LOGIC LIB A LIB B Programming Model Before BUSINESS LOGIC BUSINESS LOGIC BUSINESS LOGIC BUSINESS LOGIC LIB A LIB B After
  • 26.
  • 27.
  • 28. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Run Java as a binary execution
  • 29. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Improving startup time in Java functions • Package Size • Resource Polling • Database Connections • Worker Threads • Classpath Scanning • JVM Ergonomics • Eager Initialization • Network / FileSystem
  • 31. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What is streaming data? Typical characteristics Low-latencyContinuous Ordered, incremental High volume
  • 32. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Why streaming data? Get actionable insights quickly Source: Perishable insights, Mike Gualtieri, Forrester Real time Seconds Minutes Hours Days Months Valueofdatatodecision-making Preventive/Predictive Actionable Reactive Historical Time critical decisions Traditional “batch” business intelligence
  • 33. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Streaming with Amazon Kinesis Easily collect, process, and analyze video and data streams in real time Capture, process, and store video streams Load data streams into AWS data stores Analyze data streams in real time Capture, process, and store data streams
  • 34. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Apache Flink: Stateful Computations over Streams
  • 35. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Apache Flink: Stateful Computations over Streams
  • 36.
  • 37. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T AWS operational responsibility models On-Premises Cloud Less More Compute Virtual Machine EC2 Elastic Beanstalk AWS LambdaFargate Databases MySQL MySQL on EC2 RDS MySQL RDS Aurora Aurora Serverless DynamoDB Storage Storage S3 Messaging ESBs Amazon MQ Kinesis SQS / SNS Analytics Hadoop Hadoop on EC2 EMR Elasticsearch Service Athena
  • 38. Tools
  • 39. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T AWS JVM Ecosystem AWS SDK for Java Kinesis Consumer Library Kinesis Producer Library Kinesis S3 Transfer Manager S3A Hadoop FS S3 Encryption Client Amazon S3 DynamoDB Mapper DynamoDB Document API DynamoDB Encryption Client Amazon DynamoDB DynamoDB Accelerator (DAX) Client SWF Flow Library Step Functions DSL Workflow Eclipse Toolkit Beanstalker Maven Plugins Client-Side Build Tools Third Party Scala SDKs SQS Extended Client Library IAM Policy DSL Java Mail Client for SES Other Code Deployment AWS CodeStar AWS CodeDeploy AWS CodePipeline Execution Environments AWS Elastic Beanstalk AWS Lambda Amazon EMR Amazon ECSAmazon EC2 Ships with SDK (v1) AWS Open Source 3rd Party Open Source AWS Services Legend Ships with SDK (v2)
  • 40. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T SnsClient.builder() .region(Region.US_WEST_2) .httpClient(UrlConnectionHttpClient.create()) .build(); SnsClient.builder() .region(Region.US_WEST_2) .overrideConfiguration( ClientOverrideConfiguration.builder() .apiCallTimeout(Duration.ofSeconds(5)) .build()) .build(); SnsClient.builder() .region(Region.US_WEST_2) .overrideConfiguration(o -> o.apiCallTimeout(Duration.ofSeconds(5))) .build(); SnsAsyncClient.create() SnsClient.builder() .region(Region.US_WEST_2) .credentialsProvider(ProfileCredentialsProvider.create()) .build(); AWS Java SDK v2 Non-blocking Asynchronous Service Clients Immutability through Builder Pattern Pluggable HTTP Clients Consumer Builder Pattern
  • 41. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T AWS SDK for Java v2 Modularized Endpoint Discovery HTTP/2 Event Streaming Fully Non-Blocking HTTP/2 Clients Bi-directional real-time streaming responses URLConnection as http client Moved off of Jackson Object Mapper at runtime Generate resources at compile time
  • 42. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T AWS Toolkits for IntelliJ IDEA & Pycharm Make it easier to develop on AWS Open Source Initial focus: Serverless AWS Lambda AWS SAM CLI Integration Local debugging Serverless application support Basic resource/credential management Will grow support across AWS aws.amazon.com/intellij
  • 43. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Infrastructure as code Higher-level abstractions Object oriented & extensible Native IDE support Open source https://github.com/awslabs/aws-cdk Currently in developer preview AWS Cloud Development Kit
  • 44. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Simple CDK example Stack
  • 45.
  • 46. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Synthesized Template { "Resources": { "Queue4A7E3555": { "Type": "AWS::SQS::Queue", "Properties": { "VisibilityTimeout": 300 } }, "QueuePolicy25439813": { "Type": "AWS::SQS::QueuePolicy", "Properties": { "PolicyDocument": { "Statement": [ { "Action": "sqs:SendMessage", "Condition": { "ArnEquals": { "aws:SourceArn": { "Ref": "TopicBFC7AF6E" } } }, "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Resource": { "Fn::GetAtt": [ "Queue4A7E3555", "Arn" ] } } ], "Version": "2012-10-17" }, "Queues": [{ "Ref": "Queue4A7E3555" }] } }, "TopicBFC7AF6E": { "Type": "AWS::SNS::Topic", "Properties": { "DisplayName": "Some Amazing Topic" } }, "TopicQueueSubscription2D098ED4": { "Type": "AWS::SNS::Subscription", "Properties": { "Endpoint": { "Fn::GetAtt": [ "Queue4A7E3555", "Arn" ] }, "Protocol": "sqs", "TopicArn": { "Ref": "TopicBFC7AF6E" } } } } }
  • 48. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Amazon Corretto • Amazon supported distribution of OpenJDK • Run internally on thousands of production services • Multiplatform: Amazon Linux 2, Windows, macOS, Docker, Ubuntu, etc. • No cost – Distributed under open source license - no charge for use or distribution • No cost LTS (patches, performance improvements) • Corretto 8 in preview, Corretto 8 & 11 expected to GA Q1 2019 • Open source – all patches and enhancements will be upstreamed to OpenJDK - https://github.com/corretto • More info - https://aws.amazon.com/corretto
  • 49. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T AWS JVM Ecosystem Kinesis Consumer Library Kinesis Producer Library Kinesis/Streaming S3 Transfer Manager S3A Hadoop FS S3 Encryption Client Amazon S3 DynamoDB Mapper DynamoDB Document API DynamoDB Encryption Client Amazon DynamoDB DynamoDB Accelerator (DAX) Client SWF Flow Library Step Functions DSL Workflow Eclipse Toolkit Beanstalker Maven Plugins Client-Side Build Tools Third Party Scala SDKs SQS Extended Client Library IAM Policy DSL Java Mail Client for SES Other Code Deployment AWS CodeStar AWS CodeDeploy AWS CodePipeline Execution Environments AWS Elastic Beanstalk AWS Lambda Amazon EMR Amazon ECSAmazon EC2 Ships with SDK (v1) AWS Open Source 3rd Party Open Source AWS Services Legend Ships with SDK (v2) AWS SDK for Java (v1) Toolkit for IntelliJ Serverless deployment with IntelliJ AWS SDK for Java (v2) New APIs with SDK v2 Faster SDK start-up in Lambda HTTP/2 Bi- Directional Streaming Full duplex streaming Cloud Development Kit (CDK) Infrastructure as code Amazon Corretto Amazon supported OpenJDK
  • 50. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Want More? YouTube: Hands-on in the AWS Java Ecosystem – re:Invent 2018
  • 51. Thank you! S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.