SlideShare a Scribd company logo
1 of 24
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Building Web Apps with AWS CodeStar and AWS Elastic Beanstalk
Leo Zhadanovsky
Principal Solutions Architect
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
What we will learn today
• What is AWS CodeStar?
• How do I use AWS CodeStar to rapidly develop on AWS (demo)?
• What is AWS Elastic Beanstalk?
• How do I run my application in production with Elastic Beanstalk (demo)?
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AWS CodeStar
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AWS CodeStar
Quickly develop, build, and deploy applications on AWS
• Start developing on AWS in minutes
• Choose from a variety of project templates
• Manage software delivery easily
• Work across your team securely
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AWS CodeStar
• Some notable features
– Free
– Integration with Cloud9 IDE
– Works with
• EC2, Lambda, CodeCommit, CodeBuild, CodePipeline,
CodeDeploy, CloudFormation, CloudWatch, Elastic
Beanstalk
• GitHub, Atlassian JIRA
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AWS CodeStar Demo
• Application Architecture
• Syncing the code
• Initial Deployment
• Updating your code with Cloud9
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AWS Elastic Beanstalk
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
What is Elastic Beanstalk?
Elastic Beanstalk is an easy-to-use service for
deploying, scaling, and managing web applications
and services
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Elastic Beanstalk benefits
Fast and simple
to begin
Developer
productivity/agility
Impossible
to outgrow
Complete
resource control
No additional charge to use Elastic Beanstalk—you pay only for underlying AWS
resources (i.e., EC2 instances, Amazon S3, etc.)
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
On-instance configuration
Your code
HTTP server
Application server
Language interpreter
Operating system
Host
Elastic Beanstalk configures each
Amazon EC2 instance in your
environment with the components
necessary to run applications for
the selected platform
Focus on building your application
Provided by you
Provided and managed by Elastic Beanstalk
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Infrastructure stack
• 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., youapp.regionx.elasticbeanstalk.com)
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Building blocks
Application
Application versions ( v1, v2, …,vn)
Environment 1 Environment 2 Environment … n
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Getting started with AWS Elastic Beanstalk
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
How to deploy applications
1. Via AWS Management Console
2. Via AWS Toolkit for Eclipse and Visual Studio
IDE
3. Via AWS SDKs and AWS CLI
4. Via AWS Code Pipeline
5. Via Elastic Beanstalk command line interface
$ eb deploy
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AWS Elastic Beanstalk Demo
• Application Architecture
• Setting up Elastic Beanstalk
• Setting Up CodePipeline with CodeCommit and Elastic
Beanstalk
• Updating your code with Cloud9
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Elastic Beanstalk Best Practices
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Dependency Management
{
"name": "Elastic-Beanstalk-Sample-App",
"version": "0.0.1",
"private": true,
"dependencies": {
"ejs": "latest",
"aws-sdk": "latest",
"express": "latest",
"body-parser": "latest"
},
"scripts": {
"start": "node app.js"
}
}
Bad idea to do this for production environments
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Dependency Management
{
"name": "Elastic-Beanstalk-Sample-App",
"version": "0.0.1",
"private": true,
"dependencies": {
"ejs": "2.3.3",
"aws-sdk": "2.1.39",
"express": "4.13.1",
"body-parser": "1.13.2"
},
"scripts": {
"start": "node app.js"
}
}
Always lock down versions of dependencies.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Testing/Tuning Your Application
• Pick performance metrics you want to optimize for (e.g.: latency, concurrent
users, number of web requests, etc.)
• Load test your application
– Start with auto-scaling minimum and maximum of 1 to understand how your application
degrades under an over load condition
– Understand available metrics and how they correspond to your performance metric.
• Configure auto-scaling to optimize for performance metrics
– Number of instances to add on scale out
– Breach duration
– Metric to scale on
• Tune backend (DynamoDB, RDS, etc.) for optimal performance, leave enough
headroom for full scale out
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Logs, Metrics, & Alarms
• Enable log rotation to automatically publish logs to S3.
• Understand metrics available for your environment and
what they mean.
• Setup alarms to automatically monitor critical metrics and
send notifications when metrics are outside normal
operating range.
• Enable Amazon Route 53 health checks and alarms.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Tag your environments
• Makes it easy to find resources belonging to a given environment.
• Can be used to monitor costs associated with a given environment and/or
application.
• AWS Elastic Beanstalk automatically tags environments with:
– Environment Name
– Environment ID
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Summary
• Get your development environment started quickly with
CodeStar
• Use Elastic Beanstalk for operating production workloads
• Use AWS Developer Services, such as CodeCommit and
CodePipeline to do CI/CD
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Next Steps
• AWS DevOps Blog: https://aws.amazon.com/blogs/devops/
• AWS 10 Minute Tutorials:
• https://aws.amazon.com/getting-started/tutorials/build-serverless-
application/
• https://aws.amazon.com/getting-started/tutorials/launch-an-app/
• https://aws.amazon.com/getting-started/tutorials/continuous-
deployment-pipeline/
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved

More Related Content

What's hot

Running your Windows Enterprise Workloads on AWS - Technical 201
Running your Windows Enterprise Workloads on AWS - Technical 201Running your Windows Enterprise Workloads on AWS - Technical 201
Running your Windows Enterprise Workloads on AWS - Technical 201Amazon Web Services
 
Leveraging Elastic Web Scale Computing with AWS
 Leveraging Elastic Web Scale Computing with AWS Leveraging Elastic Web Scale Computing with AWS
Leveraging Elastic Web Scale Computing with AWSShiva Narayanaswamy
 
T2 – Continuous integration on aws
T2 – Continuous integration on awsT2 – Continuous integration on aws
T2 – Continuous integration on awsAmazon Web Services
 
Delivering DevOps on AWS - Transformation Day Public Sector London 2017
Delivering DevOps on AWS - Transformation Day Public Sector London 2017Delivering DevOps on AWS - Transformation Day Public Sector London 2017
Delivering DevOps on AWS - Transformation Day Public Sector London 2017Amazon Web Services
 
Following Well Architected Frameworks - Lunch and Learn.pdf
Following Well Architected Frameworks - Lunch and Learn.pdfFollowing Well Architected Frameworks - Lunch and Learn.pdf
Following Well Architected Frameworks - Lunch and Learn.pdfAmazon Web Services
 
Migrating your .NET Applications to the AWS Serverless Platform
Migrating your .NET Applications to the AWS Serverless PlatformMigrating your .NET Applications to the AWS Serverless Platform
Migrating your .NET Applications to the AWS Serverless PlatformAmazon Web Services
 
Build on AWS: Delivering and Modernizing.
Build on AWS: Delivering and Modernizing. Build on AWS: Delivering and Modernizing.
Build on AWS: Delivering and Modernizing. Amazon Web Services
 
Effective Collaboration & Delivery with GitHub and AWS Code Deploy – GitHub
Effective Collaboration & Delivery with GitHub and AWS Code Deploy – GitHubEffective Collaboration & Delivery with GitHub and AWS Code Deploy – GitHub
Effective Collaboration & Delivery with GitHub and AWS Code Deploy – GitHubAmazon Web Services
 
DevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software DeliveryDevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software DeliveryAmazon Web Services
 
Introduction to DevOps and the AWS Code Services
Introduction to DevOps and the AWS Code ServicesIntroduction to DevOps and the AWS Code Services
Introduction to DevOps and the AWS Code ServicesAmazon Web Services
 
AWS Certification Paths And Tips for Getting Certified
AWS Certification Paths And Tips for Getting CertifiedAWS Certification Paths And Tips for Getting Certified
AWS Certification Paths And Tips for Getting CertifiedAdam Book
 
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 SeriesAmazon Web Services
 
Well-Architected for Security: Advanced Session
Well-Architected for Security: Advanced SessionWell-Architected for Security: Advanced Session
Well-Architected for Security: Advanced SessionAmazon Web Services
 
AWS Enterprise Summit London 2013 - Yuri Misnik - AWS
AWS Enterprise Summit London 2013 - Yuri Misnik - AWSAWS Enterprise Summit London 2013 - Yuri Misnik - AWS
AWS Enterprise Summit London 2013 - Yuri Misnik - AWSAmazon Web Services
 
SRV414 NEW LAUNCH! Introducing AWS CodeStar: The central experience to quickl...
SRV414 NEW LAUNCH! Introducing AWS CodeStar: The central experience to quickl...SRV414 NEW LAUNCH! Introducing AWS CodeStar: The central experience to quickl...
SRV414 NEW LAUNCH! Introducing AWS CodeStar: The central experience to quickl...Amazon Web Services
 
SRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver FasterSRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver FasterAmazon Web Services
 
Visualising Your Data Insights with Amazon QuickSight
Visualising Your Data Insights with Amazon QuickSight  Visualising Your Data Insights with Amazon QuickSight
Visualising Your Data Insights with Amazon QuickSight Amazon Web Services
 
Customer Sharing: M2Communication Inc. - IoT's future with AWS
Customer Sharing: M2Communication Inc. - IoT's future with AWSCustomer Sharing: M2Communication Inc. - IoT's future with AWS
Customer Sharing: M2Communication Inc. - IoT's future with AWSAmazon Web Services
 
Intro to AWS Developer Tools, featuring AWS CodeStar
Intro to AWS Developer Tools, featuring AWS CodeStarIntro to AWS Developer Tools, featuring AWS CodeStar
Intro to AWS Developer Tools, featuring AWS CodeStarAmazon Web Services
 

What's hot (20)

Running your Windows Enterprise Workloads on AWS - Technical 201
Running your Windows Enterprise Workloads on AWS - Technical 201Running your Windows Enterprise Workloads on AWS - Technical 201
Running your Windows Enterprise Workloads on AWS - Technical 201
 
Leveraging Elastic Web Scale Computing with AWS
 Leveraging Elastic Web Scale Computing with AWS Leveraging Elastic Web Scale Computing with AWS
Leveraging Elastic Web Scale Computing with AWS
 
T2 – Continuous integration on aws
T2 – Continuous integration on awsT2 – Continuous integration on aws
T2 – Continuous integration on aws
 
Delivering DevOps on AWS - Transformation Day Public Sector London 2017
Delivering DevOps on AWS - Transformation Day Public Sector London 2017Delivering DevOps on AWS - Transformation Day Public Sector London 2017
Delivering DevOps on AWS - Transformation Day Public Sector London 2017
 
Following Well Architected Frameworks - Lunch and Learn.pdf
Following Well Architected Frameworks - Lunch and Learn.pdfFollowing Well Architected Frameworks - Lunch and Learn.pdf
Following Well Architected Frameworks - Lunch and Learn.pdf
 
Migrating your .NET Applications to the AWS Serverless Platform
Migrating your .NET Applications to the AWS Serverless PlatformMigrating your .NET Applications to the AWS Serverless Platform
Migrating your .NET Applications to the AWS Serverless Platform
 
Build on AWS: Delivering and Modernizing.
Build on AWS: Delivering and Modernizing. Build on AWS: Delivering and Modernizing.
Build on AWS: Delivering and Modernizing.
 
Effective Collaboration & Delivery with GitHub and AWS Code Deploy – GitHub
Effective Collaboration & Delivery with GitHub and AWS Code Deploy – GitHubEffective Collaboration & Delivery with GitHub and AWS Code Deploy – GitHub
Effective Collaboration & Delivery with GitHub and AWS Code Deploy – GitHub
 
DevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software DeliveryDevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software Delivery
 
Introduction to DevOps and the AWS Code Services
Introduction to DevOps and the AWS Code ServicesIntroduction to DevOps and the AWS Code Services
Introduction to DevOps and the AWS Code Services
 
AWS Certification Paths And Tips for Getting Certified
AWS Certification Paths And Tips for Getting CertifiedAWS Certification Paths And Tips for Getting Certified
AWS Certification Paths And Tips for Getting Certified
 
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
 
Well-Architected for Security: Advanced Session
Well-Architected for Security: Advanced SessionWell-Architected for Security: Advanced Session
Well-Architected for Security: Advanced Session
 
AWS Enterprise Summit London 2013 - Yuri Misnik - AWS
AWS Enterprise Summit London 2013 - Yuri Misnik - AWSAWS Enterprise Summit London 2013 - Yuri Misnik - AWS
AWS Enterprise Summit London 2013 - Yuri Misnik - AWS
 
SRV414 NEW LAUNCH! Introducing AWS CodeStar: The central experience to quickl...
SRV414 NEW LAUNCH! Introducing AWS CodeStar: The central experience to quickl...SRV414 NEW LAUNCH! Introducing AWS CodeStar: The central experience to quickl...
SRV414 NEW LAUNCH! Introducing AWS CodeStar: The central experience to quickl...
 
Deep Dive into Amazon Fargate
Deep Dive into Amazon FargateDeep Dive into Amazon Fargate
Deep Dive into Amazon Fargate
 
SRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver FasterSRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver Faster
 
Visualising Your Data Insights with Amazon QuickSight
Visualising Your Data Insights with Amazon QuickSight  Visualising Your Data Insights with Amazon QuickSight
Visualising Your Data Insights with Amazon QuickSight
 
Customer Sharing: M2Communication Inc. - IoT's future with AWS
Customer Sharing: M2Communication Inc. - IoT's future with AWSCustomer Sharing: M2Communication Inc. - IoT's future with AWS
Customer Sharing: M2Communication Inc. - IoT's future with AWS
 
Intro to AWS Developer Tools, featuring AWS CodeStar
Intro to AWS Developer Tools, featuring AWS CodeStarIntro to AWS Developer Tools, featuring AWS CodeStar
Intro to AWS Developer Tools, featuring AWS CodeStar
 

Similar to Leo Zhadanovsky - Building Web Apps with AWS CodeStar and AWS Elastic Beanstalk.pdf

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
 
DEV305_Manage Your Applications with AWS Elastic Beanstalk.pdf
DEV305_Manage Your Applications with AWS Elastic Beanstalk.pdfDEV305_Manage Your Applications with AWS Elastic Beanstalk.pdf
DEV305_Manage Your Applications with AWS Elastic Beanstalk.pdfAmazon Web Services
 
Interstella 8888: CICD for Containers on AWS - CON319 - re:Invent 2017
Interstella 8888: CICD for Containers on AWS - CON319 - re:Invent 2017Interstella 8888: CICD for Containers on AWS - CON319 - re:Invent 2017
Interstella 8888: CICD for Containers on AWS - CON319 - re:Invent 2017Amazon Web Services
 
CON319_Interstella GTC CICD for Containers on AWS
CON319_Interstella GTC CICD for Containers on AWSCON319_Interstella GTC CICD for Containers on AWS
CON319_Interstella GTC CICD for Containers on AWSAmazon Web Services
 
GPSBUS220-Refactor and Replatform .NET Apps to Use the Latest Microsoft SQL S...
GPSBUS220-Refactor and Replatform .NET Apps to Use the Latest Microsoft SQL S...GPSBUS220-Refactor and Replatform .NET Apps to Use the Latest Microsoft SQL S...
GPSBUS220-Refactor and Replatform .NET Apps to Use the Latest Microsoft SQL S...Amazon Web Services
 
Create a Serverless Image Processing Platform - ARC326 - re:Invent 2017
Create a Serverless Image Processing Platform - ARC326 - re:Invent 2017Create a Serverless Image Processing Platform - ARC326 - re:Invent 2017
Create a Serverless Image Processing Platform - ARC326 - re:Invent 2017Amazon Web Services
 
Amazon Amazon Elastic Container Service (Amazon ECS)
Amazon Amazon Elastic Container Service (Amazon ECS)Amazon Amazon Elastic Container Service (Amazon ECS)
Amazon Amazon Elastic Container Service (Amazon ECS)Amazon Web Services
 
Build a Java Spring Application on Amazon ECS - CON332 - re:Invent 2017
Build a Java Spring Application on Amazon ECS - CON332 - re:Invent 2017Build a Java Spring Application on Amazon ECS - CON332 - re:Invent 2017
Build a Java Spring Application on Amazon ECS - CON332 - re:Invent 2017Amazon Web Services
 
PaaS – From Code to Running Application using AWS Elastic Beanstalk (DEV323) ...
PaaS – From Code to Running Application using AWS Elastic Beanstalk (DEV323) ...PaaS – From Code to Running Application using AWS Elastic Beanstalk (DEV323) ...
PaaS – From Code to Running Application using AWS Elastic Beanstalk (DEV323) ...Amazon Web Services
 
Create a Serverless Image Processing Platform
Create a Serverless Image Processing PlatformCreate a Serverless Image Processing Platform
Create a Serverless Image Processing PlatformAmazon Web Services
 
Yes, AWS *is* a Fantastic Environment for .NET!
Yes, AWS *is* a Fantastic Environment for .NET!Yes, AWS *is* a Fantastic Environment for .NET!
Yes, AWS *is* a Fantastic Environment for .NET!Andy Hopper
 
Design, Build, and Modernize Your Web Applications with AWS
 Design, Build, and Modernize Your Web Applications with AWS Design, Build, and Modernize Your Web Applications with AWS
Design, Build, and Modernize Your Web Applications with AWSDonnie Prakoso
 
High-Throughput Genomics on AWS - LFS309 - re:Invent 2017
High-Throughput Genomics on AWS - LFS309 - re:Invent 2017High-Throughput Genomics on AWS - LFS309 - re:Invent 2017
High-Throughput Genomics on AWS - LFS309 - re:Invent 2017Amazon Web Services
 
LFS309-High-Throughput Genomics on AWS.pdf
LFS309-High-Throughput Genomics on AWS.pdfLFS309-High-Throughput Genomics on AWS.pdf
LFS309-High-Throughput Genomics on AWS.pdfAmazon Web Services
 
Automate and Scale Configuration Management with AWS OpsWorks - DEV331 - re:I...
Automate and Scale Configuration Management with AWS OpsWorks - DEV331 - re:I...Automate and Scale Configuration Management with AWS OpsWorks - DEV331 - re:I...
Automate and Scale Configuration Management with AWS OpsWorks - DEV331 - re:I...Amazon Web Services
 
Batch Processing with Containers on AWS - CON304 - re:Invent 2017
Batch Processing with Containers on AWS - CON304 - re:Invent 2017Batch Processing with Containers on AWS - CON304 - re:Invent 2017
Batch Processing with Containers on AWS - CON304 - re:Invent 2017Amazon Web Services
 
Scaling Up to Your First 10 Million Users
Scaling Up to Your First 10 Million UsersScaling Up to Your First 10 Million Users
Scaling Up to Your First 10 Million UsersAmazon Web Services
 

Similar to Leo Zhadanovsky - Building Web Apps with AWS CodeStar and AWS Elastic Beanstalk.pdf (20)

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
 
DEV305_Manage Your Applications with AWS Elastic Beanstalk.pdf
DEV305_Manage Your Applications with AWS Elastic Beanstalk.pdfDEV305_Manage Your Applications with AWS Elastic Beanstalk.pdf
DEV305_Manage Your Applications with AWS Elastic Beanstalk.pdf
 
Interstella 8888: CICD for Containers on AWS - CON319 - re:Invent 2017
Interstella 8888: CICD for Containers on AWS - CON319 - re:Invent 2017Interstella 8888: CICD for Containers on AWS - CON319 - re:Invent 2017
Interstella 8888: CICD for Containers on AWS - CON319 - re:Invent 2017
 
CON319_Interstella GTC CICD for Containers on AWS
CON319_Interstella GTC CICD for Containers on AWSCON319_Interstella GTC CICD for Containers on AWS
CON319_Interstella GTC CICD for Containers on AWS
 
ARC205_Born in the Cloud
ARC205_Born in the CloudARC205_Born in the Cloud
ARC205_Born in the Cloud
 
GPSBUS220-Refactor and Replatform .NET Apps to Use the Latest Microsoft SQL S...
GPSBUS220-Refactor and Replatform .NET Apps to Use the Latest Microsoft SQL S...GPSBUS220-Refactor and Replatform .NET Apps to Use the Latest Microsoft SQL S...
GPSBUS220-Refactor and Replatform .NET Apps to Use the Latest Microsoft SQL S...
 
Create a Serverless Image Processing Platform - ARC326 - re:Invent 2017
Create a Serverless Image Processing Platform - ARC326 - re:Invent 2017Create a Serverless Image Processing Platform - ARC326 - re:Invent 2017
Create a Serverless Image Processing Platform - ARC326 - re:Invent 2017
 
Amazon ECS Deep Dive
Amazon ECS Deep DiveAmazon ECS Deep Dive
Amazon ECS Deep Dive
 
Amazon Amazon Elastic Container Service (Amazon ECS)
Amazon Amazon Elastic Container Service (Amazon ECS)Amazon Amazon Elastic Container Service (Amazon ECS)
Amazon Amazon Elastic Container Service (Amazon ECS)
 
Build a Java Spring Application on Amazon ECS - CON332 - re:Invent 2017
Build a Java Spring Application on Amazon ECS - CON332 - re:Invent 2017Build a Java Spring Application on Amazon ECS - CON332 - re:Invent 2017
Build a Java Spring Application on Amazon ECS - CON332 - re:Invent 2017
 
PaaS – From Code to Running Application using AWS Elastic Beanstalk (DEV323) ...
PaaS – From Code to Running Application using AWS Elastic Beanstalk (DEV323) ...PaaS – From Code to Running Application using AWS Elastic Beanstalk (DEV323) ...
PaaS – From Code to Running Application using AWS Elastic Beanstalk (DEV323) ...
 
Serverless DevOps to the Rescue
Serverless DevOps to the RescueServerless DevOps to the Rescue
Serverless DevOps to the Rescue
 
Create a Serverless Image Processing Platform
Create a Serverless Image Processing PlatformCreate a Serverless Image Processing Platform
Create a Serverless Image Processing Platform
 
Yes, AWS *is* a Fantastic Environment for .NET!
Yes, AWS *is* a Fantastic Environment for .NET!Yes, AWS *is* a Fantastic Environment for .NET!
Yes, AWS *is* a Fantastic Environment for .NET!
 
Design, Build, and Modernize Your Web Applications with AWS
 Design, Build, and Modernize Your Web Applications with AWS Design, Build, and Modernize Your Web Applications with AWS
Design, Build, and Modernize Your Web Applications with AWS
 
High-Throughput Genomics on AWS - LFS309 - re:Invent 2017
High-Throughput Genomics on AWS - LFS309 - re:Invent 2017High-Throughput Genomics on AWS - LFS309 - re:Invent 2017
High-Throughput Genomics on AWS - LFS309 - re:Invent 2017
 
LFS309-High-Throughput Genomics on AWS.pdf
LFS309-High-Throughput Genomics on AWS.pdfLFS309-High-Throughput Genomics on AWS.pdf
LFS309-High-Throughput Genomics on AWS.pdf
 
Automate and Scale Configuration Management with AWS OpsWorks - DEV331 - re:I...
Automate and Scale Configuration Management with AWS OpsWorks - DEV331 - re:I...Automate and Scale Configuration Management with AWS OpsWorks - DEV331 - re:I...
Automate and Scale Configuration Management with AWS OpsWorks - DEV331 - re:I...
 
Batch Processing with Containers on AWS - CON304 - re:Invent 2017
Batch Processing with Containers on AWS - CON304 - re:Invent 2017Batch Processing with Containers on AWS - CON304 - re:Invent 2017
Batch Processing with Containers on AWS - CON304 - re:Invent 2017
 
Scaling Up to Your First 10 Million Users
Scaling Up to Your First 10 Million UsersScaling Up to Your First 10 Million Users
Scaling Up to Your First 10 Million Users
 

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
 

Leo Zhadanovsky - Building Web Apps with AWS CodeStar and AWS Elastic Beanstalk.pdf

  • 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Building Web Apps with AWS CodeStar and AWS Elastic Beanstalk Leo Zhadanovsky Principal Solutions Architect
  • 2. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved What we will learn today • What is AWS CodeStar? • How do I use AWS CodeStar to rapidly develop on AWS (demo)? • What is AWS Elastic Beanstalk? • How do I run my application in production with Elastic Beanstalk (demo)?
  • 3. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved AWS CodeStar
  • 4. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved AWS CodeStar Quickly develop, build, and deploy applications on AWS • Start developing on AWS in minutes • Choose from a variety of project templates • Manage software delivery easily • Work across your team securely
  • 5. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved AWS CodeStar • Some notable features – Free – Integration with Cloud9 IDE – Works with • EC2, Lambda, CodeCommit, CodeBuild, CodePipeline, CodeDeploy, CloudFormation, CloudWatch, Elastic Beanstalk • GitHub, Atlassian JIRA
  • 6. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved AWS CodeStar Demo • Application Architecture • Syncing the code • Initial Deployment • Updating your code with Cloud9
  • 7. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved AWS Elastic Beanstalk
  • 8. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved What is Elastic Beanstalk? Elastic Beanstalk is an easy-to-use service for deploying, scaling, and managing web applications and services
  • 9. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Elastic Beanstalk benefits Fast and simple to begin Developer productivity/agility Impossible to outgrow Complete resource control No additional charge to use Elastic Beanstalk—you pay only for underlying AWS resources (i.e., EC2 instances, Amazon S3, etc.)
  • 10. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved On-instance configuration Your code HTTP server Application server Language interpreter Operating system Host Elastic Beanstalk configures each Amazon EC2 instance in your environment with the components necessary to run applications for the selected platform Focus on building your application Provided by you Provided and managed by Elastic Beanstalk
  • 11. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Infrastructure stack • 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., youapp.regionx.elasticbeanstalk.com)
  • 12. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Building blocks Application Application versions ( v1, v2, …,vn) Environment 1 Environment 2 Environment … n
  • 13. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Getting started with AWS Elastic Beanstalk
  • 14. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved How to deploy applications 1. Via AWS Management Console 2. Via AWS Toolkit for Eclipse and Visual Studio IDE 3. Via AWS SDKs and AWS CLI 4. Via AWS Code Pipeline 5. Via Elastic Beanstalk command line interface $ eb deploy
  • 15. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved AWS Elastic Beanstalk Demo • Application Architecture • Setting up Elastic Beanstalk • Setting Up CodePipeline with CodeCommit and Elastic Beanstalk • Updating your code with Cloud9
  • 16. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Elastic Beanstalk Best Practices
  • 17. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Dependency Management { "name": "Elastic-Beanstalk-Sample-App", "version": "0.0.1", "private": true, "dependencies": { "ejs": "latest", "aws-sdk": "latest", "express": "latest", "body-parser": "latest" }, "scripts": { "start": "node app.js" } } Bad idea to do this for production environments
  • 18. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Dependency Management { "name": "Elastic-Beanstalk-Sample-App", "version": "0.0.1", "private": true, "dependencies": { "ejs": "2.3.3", "aws-sdk": "2.1.39", "express": "4.13.1", "body-parser": "1.13.2" }, "scripts": { "start": "node app.js" } } Always lock down versions of dependencies.
  • 19. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Testing/Tuning Your Application • Pick performance metrics you want to optimize for (e.g.: latency, concurrent users, number of web requests, etc.) • Load test your application – Start with auto-scaling minimum and maximum of 1 to understand how your application degrades under an over load condition – Understand available metrics and how they correspond to your performance metric. • Configure auto-scaling to optimize for performance metrics – Number of instances to add on scale out – Breach duration – Metric to scale on • Tune backend (DynamoDB, RDS, etc.) for optimal performance, leave enough headroom for full scale out
  • 20. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Logs, Metrics, & Alarms • Enable log rotation to automatically publish logs to S3. • Understand metrics available for your environment and what they mean. • Setup alarms to automatically monitor critical metrics and send notifications when metrics are outside normal operating range. • Enable Amazon Route 53 health checks and alarms.
  • 21. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Tag your environments • Makes it easy to find resources belonging to a given environment. • Can be used to monitor costs associated with a given environment and/or application. • AWS Elastic Beanstalk automatically tags environments with: – Environment Name – Environment ID
  • 22. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Summary • Get your development environment started quickly with CodeStar • Use Elastic Beanstalk for operating production workloads • Use AWS Developer Services, such as CodeCommit and CodePipeline to do CI/CD
  • 23. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Next Steps • AWS DevOps Blog: https://aws.amazon.com/blogs/devops/ • AWS 10 Minute Tutorials: • https://aws.amazon.com/getting-started/tutorials/build-serverless- application/ • https://aws.amazon.com/getting-started/tutorials/launch-an-app/ • https://aws.amazon.com/getting-started/tutorials/continuous- deployment-pipeline/
  • 24. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved