SlideShare a Scribd company logo
1 of 27
06.04.2021 // 18h // online
NEMANJA KOSTIC
1978 - Serbia
English / German / Serbian
MSc Computer Science
Faculty of Electrical Engineering,
University of Belgrade
20+ years of professional experience in
designing and implementing commercial
software solutions. Passionate technologist
interested in AWS Cloud Architectures,
Serverless DevOps, Microservices, Domain
Driven Design and Event-Based Systems.
SOLUTION ARCHITECTURE
AWS cloud architectures / serverless
services / microservices architectures /
Domain Driven Design
ENTERPRISE ARCHITECTURE
TOGAF domains: Application
Architecture and Infrastructure
Architecture
PROGRAMMING
Java / Python / Node.js / Typescript /
React Native / JAMstack
AWS CONSULTANT
AWS Solution Architect
ex-AWS (4 years as Senior Solution Architect)
9 x AWS certified
20+ years of IT experience
Focus on Serverless, DevOps, Microservices
https://nemanjakostic.ch
https://linkedin.com/in/nemanjakostic
https://twitter.com/koletinja
www.1way2cloud.com
Webinars in Serbian:
• Ep.1 - Getting Started on AWS
https://bit.ly/2OqFnyi
• Ep.2 - Data Storage on AWS
https://bit.ly/2qWBpA3
• Ep.3 - Planning Migrations to AWS
https://bit.ly/2rBESEq
• Ep.4 - Containers on AWS
https://bit.ly/2YgfEtM
• Ep.5 - Securing your application with Amazon
Cognito and authentication at the Edge
-- don’t have the link
Users
Web
Load Balancer
Application
Load Balancer
Web
server 1
Web
server 2
Web
server 3
Web
server 4
DB
App
server 1
App
server 2
App
server 3
App
server 4
Sample Java Web Application Architecture
.WAR or Docker
Users
Web
Load Balancer
Application
Load Balancer
Web
server 1
Web
server 2
Web
server 3
Web
server 4
DB
App
server 1
App
server 2
App
server 3
App
server 4
Sample Java Web Application Architecture mapped to AWS
External
Application
Load Balancer
EC2 instance
Amazon
RDS
Internal
Application
Load Balancer
EC2 instance EC2 instance EC2 instance
Web
server 1
Web
server 2
Web
server 3
Web
server 4
App
server 1
App
server 2
App
server 3
App
server 4
EC2 instance EC2 instance EC2 instance EC2 instance
region
virtual private cloud
AWS cloud
AWS
DMS + SCT
(live migrations)
AWS SMS
(VMware/HyperV
to AMI)
Users
Web
Load Balancer
Application
Load Balancer
Web
server 1
Web
server 2
Web
server 3
Web
server 4
DB
App
server 1
App
server 2
App
server 3
App
server 4
Sample Java Web Application Architecture mapped to
serverless AWS services
region
AWS cloud
AWS & Java
Amazon Corretto
(v16, v15, v11, v8)
No-cost, production-ready distribution of the Open Java
Development Kit (OpenJDK). Corretto is certified as
compatible with the Java SE standard and is used
internally at Amazon for many production services.
James Gosling
Distinguished Engineer @AWS
Java learning resources @AWS
AWS Developer Blog
Category: Java
https://amzn.to/3wrLOEi
Java learning resources @AWS
Java Articles & Tutorials https://amzn.to/3cO6VJe
Java learning resources @AWS
Build Java applications on AWS https://amzn.to/2Pt7cIW
Book recommendation
AWS services that can run Java apps
 AWS Elastic Beanstalk
 AWS Lambda
( + Lambda Power Tools, https://github.com/awslabs/aws-lambda-powertools-java)
 Amazon EC2
 Amazon EKS
 Amazon ECS
AWS services that support development in Java
 Amazon CodeGuru
 AWS SDK for Java
 AWS IoT Device SDK for Java
 AWS Toolkit for Eclipse
 AWS Toolkit for IntelliJ
 AWS CodeArtifact
 AWS CDK
AWS integration with popular Java frameworks
 Micronaut
 Quarkus
Deploy a Micronaut application to AWS Lambda Java 11 Runtime
Deploy Quarkus to AWS Lambda Java 11 Runtime
https://guides.micronaut.io/mn-application-aws-lambda-java11/guide/index.html
https://quarkus.io/guides/amazon-lambda
End-to-end Java development in AWS
Setup IDE
Create AWS
Environment
Write Java
code
Test
Review
Code
execution
 AWS Elastic Beanstalk
 AWS Lambda
 Amazon EC2  Amazon EKS
 Amazon ECS
AWS Cloud9
• Cloud-based integrated development environment (IDE)
• Let’s you write, run, and debug your code with just a
browser
• Share your environment with your team to pair program in
real time
• Direct terminal access to AWS
• Provides great serverless experience: enables local
testing and preconfigures the development environment
with all SDKs, libraries, and plugins
AWS Cloud9 Demo
AWS CDK
• Open-source framework to define cloud infrastructure in
TypeScript/JS/Python/Java/C#
• Provides library of higher-level resource types (“construct”
classes) that haveAWS best practices built in by default,
packaged as npm modules
• Provisions resources with CloudFormation
• Supports all CloudFormation resource types
https://awslabs.github.io/aws-cdk
AWS CDK
CDK Application
CloudFormation
Template
Stack(s)
Construct
Resources
AWS
CloudFormation
AWS Fargate Fargate Task
Construct
synth
Amazon RDS ALB
AWS CDK Demo
AWS Elastic Beanstalk
• Preconfigured infrastructure:
• Single-instance (dev, low cost)
• Load-balanced, Auto Scaling (production)
• Web and worker tiers
• Elastic Beanstalk provisions necessary
infrastructure resources, such as the
load balancer, Auto Scaling group,
security groups, database (optional), etc.
• Provides a unique domain name for your
application
(e.g., yourapp.elasticbeanstalk.com)
AWS Elastic Beanstalk
Your code
Host
Operating system
Language interpreter
Application server
HTTP server
AWS Elastic Beanstalk Demo
Amazon CodeGuru
• CodeGuru leverages machine learning models and best practices informed by
years of experience and data from Amazon.com and AWS to find wide ranging
issues in source code such as use of un-sanitized inputs, inappropriate handling
of sensitive data, thread safety issues, and deviation from AWS best practices.
• CodeGuru includes:
 Automated code reviews with intelligent recommendations that even junior
staff can follow
 Code reviews seamlessly integrate with pull request workflow or performed
anytime on-demand
 Detection and optimization of the most expensive line of code
 Immediate identification of application inefficiencies running in a production
Amazon CodeGuru Demo
Recap: end-to-end Java development in AWS
Setup IDE
Create AWS
Environment
Write Java
code
Test
Review
Code
execution
 AWS Elastic Beanstalk
 AWS Lambda
 Amazon EC2  Amazon EKS
 Amazon ECS
Thank You
06.04.2021 // 18h // online

More Related Content

What's hot

AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
Amazon Web Services Korea
 

What's hot (20)

NEW LAUNCH! Introducing AWS Batch: Easy and efficient batch computing on Amaz...
NEW LAUNCH! Introducing AWS Batch: Easy and efficient batch computing on Amaz...NEW LAUNCH! Introducing AWS Batch: Easy and efficient batch computing on Amaz...
NEW LAUNCH! Introducing AWS Batch: Easy and efficient batch computing on Amaz...
 
Devops on AWS
Devops on AWSDevops on AWS
Devops on AWS
 
使用 AWS 無伺服器運算服務打造您的第一個語音助理
使用 AWS 無伺服器運算服務打造您的第一個語音助理使用 AWS 無伺服器運算服務打造您的第一個語音助理
使用 AWS 無伺服器運算服務打造您的第一個語音助理
 
遷移過程中建置混和雲架構的最佳實踐分享
遷移過程中建置混和雲架構的最佳實踐分享遷移過程中建置混和雲架構的最佳實踐分享
遷移過程中建置混和雲架構的最佳實踐分享
 
Comparison and mapping between various cloud services 2019
Comparison and mapping between various cloud services 2019Comparison and mapping between various cloud services 2019
Comparison and mapping between various cloud services 2019
 
NEW LAUNCH! Developing Serverless C# Applications
NEW LAUNCH! Developing Serverless C# ApplicationsNEW LAUNCH! Developing Serverless C# Applications
NEW LAUNCH! Developing Serverless C# Applications
 
Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic Beanstalk
Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic BeanstalkDeploy, Manage, and Scale Your Apps with OpsWorks and Elastic Beanstalk
Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic Beanstalk
 
HSBC and AWS Day - Database Options on AWS
HSBC and AWS Day - Database Options on AWSHSBC and AWS Day - Database Options on AWS
HSBC and AWS Day - Database Options on AWS
 
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar SeriesGetting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
 
Migrating Monolithic Applications with the Strangler Pattern
Migrating Monolithic Applications with the Strangler Pattern Migrating Monolithic Applications with the Strangler Pattern
Migrating Monolithic Applications with the Strangler Pattern
 
Developer Tools at AWS 2018.pdf
Developer Tools at AWS 2018.pdfDeveloper Tools at AWS 2018.pdf
Developer Tools at AWS 2018.pdf
 
Deep Dive into Apache MXNet on AWS
Deep Dive into Apache MXNet on AWSDeep Dive into Apache MXNet on AWS
Deep Dive into Apache MXNet on AWS
 
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
 
Keeping Developers and Auditors Happy in the Cloud
Keeping Developers and Auditors Happy in the Cloud Keeping Developers and Auditors Happy in the Cloud
Keeping Developers and Auditors Happy in the Cloud
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless Cloud
 
Application Deployment on AWS - Startup Talks June 2015
Application Deployment on AWS - Startup Talks June 2015Application Deployment on AWS - Startup Talks June 2015
Application Deployment on AWS - Startup Talks June 2015
 
DevOps for Business Transformation at Ellucian
DevOps for Business Transformation at EllucianDevOps for Business Transformation at Ellucian
DevOps for Business Transformation at Ellucian
 
Deep Dive on Microservices and Amazon ECS by Raul Frias, Solutions Architect,...
Deep Dive on Microservices and Amazon ECS by Raul Frias, Solutions Architect,...Deep Dive on Microservices and Amazon ECS by Raul Frias, Solutions Architect,...
Deep Dive on Microservices and Amazon ECS by Raul Frias, Solutions Architect,...
 
Docker on AWS
Docker on AWSDocker on AWS
Docker on AWS
 
Hands on Lab: Windows Workloads on AWS - June 2017 AWS Online Tech Talks
Hands on Lab: Windows Workloads on AWS - June 2017 AWS Online Tech TalksHands on Lab: Windows Workloads on AWS - June 2017 AWS Online Tech Talks
Hands on Lab: Windows Workloads on AWS - June 2017 AWS Online Tech Talks
 

Similar to Developing Java Applications in AWS

Track 4 Session 4_ MAD02 MAD 04 如何藉由 CICD 流程管理容器化和無伺服器應用
Track 4 Session 4_ MAD02 MAD 04 如何藉由 CICD 流程管理容器化和無伺服器應用Track 4 Session 4_ MAD02 MAD 04 如何藉由 CICD 流程管理容器化和無伺服器應用
Track 4 Session 4_ MAD02 MAD 04 如何藉由 CICD 流程管理容器化和無伺服器應用
Amazon Web Services
 

Similar to Developing Java Applications in AWS (20)

Running Microservices and Docker with AWS Elastic Beanstalk
Running Microservices and Docker with AWS Elastic BeanstalkRunning Microservices and Docker with AWS Elastic Beanstalk
Running Microservices and Docker with AWS Elastic Beanstalk
 
Connect and Interconnect – The Mesh of Event-Driven Compute and Marvelous Vir...
Connect and Interconnect – The Mesh of Event-Driven Compute and Marvelous Vir...Connect and Interconnect – The Mesh of Event-Driven Compute and Marvelous Vir...
Connect and Interconnect – The Mesh of Event-Driven Compute and Marvelous Vir...
 
AWS Elastic Beanstalk運作微服務與Docker
AWS Elastic Beanstalk運作微服務與Docker AWS Elastic Beanstalk運作微服務與Docker
AWS Elastic Beanstalk運作微服務與Docker
 
Architecting for the Cloud: Best Practices
Architecting for the Cloud: Best PracticesArchitecting for the Cloud: Best Practices
Architecting for the Cloud: Best Practices
 
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh VariaAWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia
 
Aws container webinar day 2
Aws container webinar day 2Aws container webinar day 2
Aws container webinar day 2
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
AWS Summit London 2014 | Deployment Done Right (300)
AWS Summit London 2014 | Deployment Done Right (300)AWS Summit London 2014 | Deployment Done Right (300)
AWS Summit London 2014 | Deployment Done Right (300)
 
Introduction to DevOps on AWS
Introduction to DevOps on AWSIntroduction to DevOps on AWS
Introduction to DevOps on AWS
 
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot Instances
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot InstancesWKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot Instances
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot Instances
 
From Docker Straight to AWS
From Docker Straight to AWSFrom Docker Straight to AWS
From Docker Straight to AWS
 
Track 4 Session 4_ MAD02 MAD 04 如何藉由 CICD 流程管理容器化和無伺服器應用
Track 4 Session 4_ MAD02 MAD 04 如何藉由 CICD 流程管理容器化和無伺服器應用Track 4 Session 4_ MAD02 MAD 04 如何藉由 CICD 流程管理容器化和無伺服器應用
Track 4 Session 4_ MAD02 MAD 04 如何藉由 CICD 流程管理容器化和無伺服器應用
 
Distribua, gerencie e escale suas aplicações com o aws elastic beanstalk
Distribua, gerencie e escale suas aplicações com o aws elastic beanstalkDistribua, gerencie e escale suas aplicações com o aws elastic beanstalk
Distribua, gerencie e escale suas aplicações com o aws elastic beanstalk
 
Increase Speed and Agility with Amazon Web Services
Increase Speed and Agility with Amazon Web ServicesIncrease Speed and Agility with Amazon Web Services
Increase Speed and Agility with Amazon Web Services
 
Increase Speed and Agility with Amazon Web Services
Increase Speed and Agility with Amazon Web ServicesIncrease Speed and Agility with Amazon Web Services
Increase Speed and Agility with Amazon Web Services
 
Startup Best Practices on AWS
Startup Best Practices on AWSStartup Best Practices on AWS
Startup Best Practices on AWS
 
Application Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless WorldApplication Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless World
 
AWS Elastic Beanstalk - Running Microservices and Docker
AWS Elastic Beanstalk - Running Microservices and DockerAWS Elastic Beanstalk - Running Microservices and Docker
AWS Elastic Beanstalk - Running Microservices and Docker
 
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
 
AWS Canberra WWPS Summit 2013 - AWS for Test and Development
AWS Canberra WWPS Summit 2013 - AWS for Test and DevelopmentAWS Canberra WWPS Summit 2013 - AWS for Test and Development
AWS Canberra WWPS Summit 2013 - AWS for Test and Development
 

Recently uploaded

JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)
Max Lee
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
Alluxio, Inc.
 

Recently uploaded (20)

Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024
 
CompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdfCompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdf
 
IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024
 
How to pick right visual testing tool.pdf
How to pick right visual testing tool.pdfHow to pick right visual testing tool.pdf
How to pick right visual testing tool.pdf
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdf
 
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
 
SQL Injection Introduction and Prevention
SQL Injection Introduction and PreventionSQL Injection Introduction and Prevention
SQL Injection Introduction and Prevention
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
 
The Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion ProductionThe Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion Production
 
5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand
 
Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
 
JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)
 
AI Hackathon.pptx
AI                        Hackathon.pptxAI                        Hackathon.pptx
AI Hackathon.pptx
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
 

Developing Java Applications in AWS

  • 1. 06.04.2021 // 18h // online
  • 2. NEMANJA KOSTIC 1978 - Serbia English / German / Serbian MSc Computer Science Faculty of Electrical Engineering, University of Belgrade 20+ years of professional experience in designing and implementing commercial software solutions. Passionate technologist interested in AWS Cloud Architectures, Serverless DevOps, Microservices, Domain Driven Design and Event-Based Systems. SOLUTION ARCHITECTURE AWS cloud architectures / serverless services / microservices architectures / Domain Driven Design ENTERPRISE ARCHITECTURE TOGAF domains: Application Architecture and Infrastructure Architecture PROGRAMMING Java / Python / Node.js / Typescript / React Native / JAMstack AWS CONSULTANT AWS Solution Architect ex-AWS (4 years as Senior Solution Architect) 9 x AWS certified 20+ years of IT experience Focus on Serverless, DevOps, Microservices https://nemanjakostic.ch https://linkedin.com/in/nemanjakostic https://twitter.com/koletinja www.1way2cloud.com
  • 3. Webinars in Serbian: • Ep.1 - Getting Started on AWS https://bit.ly/2OqFnyi • Ep.2 - Data Storage on AWS https://bit.ly/2qWBpA3 • Ep.3 - Planning Migrations to AWS https://bit.ly/2rBESEq • Ep.4 - Containers on AWS https://bit.ly/2YgfEtM • Ep.5 - Securing your application with Amazon Cognito and authentication at the Edge -- don’t have the link
  • 4. Users Web Load Balancer Application Load Balancer Web server 1 Web server 2 Web server 3 Web server 4 DB App server 1 App server 2 App server 3 App server 4 Sample Java Web Application Architecture .WAR or Docker
  • 5. Users Web Load Balancer Application Load Balancer Web server 1 Web server 2 Web server 3 Web server 4 DB App server 1 App server 2 App server 3 App server 4 Sample Java Web Application Architecture mapped to AWS External Application Load Balancer EC2 instance Amazon RDS Internal Application Load Balancer EC2 instance EC2 instance EC2 instance Web server 1 Web server 2 Web server 3 Web server 4 App server 1 App server 2 App server 3 App server 4 EC2 instance EC2 instance EC2 instance EC2 instance region virtual private cloud AWS cloud AWS DMS + SCT (live migrations) AWS SMS (VMware/HyperV to AMI)
  • 6. Users Web Load Balancer Application Load Balancer Web server 1 Web server 2 Web server 3 Web server 4 DB App server 1 App server 2 App server 3 App server 4 Sample Java Web Application Architecture mapped to serverless AWS services region AWS cloud
  • 7. AWS & Java Amazon Corretto (v16, v15, v11, v8) No-cost, production-ready distribution of the Open Java Development Kit (OpenJDK). Corretto is certified as compatible with the Java SE standard and is used internally at Amazon for many production services. James Gosling Distinguished Engineer @AWS
  • 8. Java learning resources @AWS AWS Developer Blog Category: Java https://amzn.to/3wrLOEi
  • 9. Java learning resources @AWS Java Articles & Tutorials https://amzn.to/3cO6VJe
  • 10. Java learning resources @AWS Build Java applications on AWS https://amzn.to/2Pt7cIW
  • 12. AWS services that can run Java apps  AWS Elastic Beanstalk  AWS Lambda ( + Lambda Power Tools, https://github.com/awslabs/aws-lambda-powertools-java)  Amazon EC2  Amazon EKS  Amazon ECS
  • 13. AWS services that support development in Java  Amazon CodeGuru  AWS SDK for Java  AWS IoT Device SDK for Java  AWS Toolkit for Eclipse  AWS Toolkit for IntelliJ  AWS CodeArtifact  AWS CDK
  • 14. AWS integration with popular Java frameworks  Micronaut  Quarkus Deploy a Micronaut application to AWS Lambda Java 11 Runtime Deploy Quarkus to AWS Lambda Java 11 Runtime https://guides.micronaut.io/mn-application-aws-lambda-java11/guide/index.html https://quarkus.io/guides/amazon-lambda
  • 15. End-to-end Java development in AWS Setup IDE Create AWS Environment Write Java code Test Review Code execution  AWS Elastic Beanstalk  AWS Lambda  Amazon EC2  Amazon EKS  Amazon ECS
  • 16. AWS Cloud9 • Cloud-based integrated development environment (IDE) • Let’s you write, run, and debug your code with just a browser • Share your environment with your team to pair program in real time • Direct terminal access to AWS • Provides great serverless experience: enables local testing and preconfigures the development environment with all SDKs, libraries, and plugins
  • 18. AWS CDK • Open-source framework to define cloud infrastructure in TypeScript/JS/Python/Java/C# • Provides library of higher-level resource types (“construct” classes) that haveAWS best practices built in by default, packaged as npm modules • Provisions resources with CloudFormation • Supports all CloudFormation resource types https://awslabs.github.io/aws-cdk
  • 21. AWS Elastic Beanstalk • Preconfigured infrastructure: • Single-instance (dev, low cost) • Load-balanced, Auto Scaling (production) • Web and worker tiers • Elastic Beanstalk provisions necessary infrastructure resources, such as the load balancer, Auto Scaling group, security groups, database (optional), etc. • Provides a unique domain name for your application (e.g., yourapp.elasticbeanstalk.com)
  • 22. AWS Elastic Beanstalk Your code Host Operating system Language interpreter Application server HTTP server
  • 24. Amazon CodeGuru • CodeGuru leverages machine learning models and best practices informed by years of experience and data from Amazon.com and AWS to find wide ranging issues in source code such as use of un-sanitized inputs, inappropriate handling of sensitive data, thread safety issues, and deviation from AWS best practices. • CodeGuru includes:  Automated code reviews with intelligent recommendations that even junior staff can follow  Code reviews seamlessly integrate with pull request workflow or performed anytime on-demand  Detection and optimization of the most expensive line of code  Immediate identification of application inefficiencies running in a production
  • 26. Recap: end-to-end Java development in AWS Setup IDE Create AWS Environment Write Java code Test Review Code execution  AWS Elastic Beanstalk  AWS Lambda  Amazon EC2  Amazon EKS  Amazon ECS
  • 27. Thank You 06.04.2021 // 18h // online

Editor's Notes

  1. https://docs.aws.amazon.com/cloud9/latest/user-guide/sample-java.html
  2. https://docs.aws.amazon.com/cloud9/latest/user-guide/sample-java.html
  3. https://cdkworkshop.com/50-java.html https://docs.aws.amazon.com/neptune/latest/userguide/iam-auth-connect-prerq.html
  4. https://cdkworkshop.com/50-java.html https://docs.aws.amazon.com/neptune/latest/userguide/iam-auth-connect-prerq.html
  5. https://cdkworkshop.com/50-java.html https://docs.aws.amazon.com/neptune/latest/userguide/iam-auth-connect-prerq.html
  6. https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/tutorial-github-reviewer.html
  7. https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/tutorial-github-reviewer.html