SlideShare ist ein Scribd-Unternehmen logo
1 von 40
© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.
Running your First Application
on AWS
Clayton Brown,
Solutions Architect, Amazon Web Services
Build an AWS based, Scalable Mobile application that is location
centric and connects with the user’s mobile device personally,
Which can be ubiquitously accessed via the cloud
The Vision….
The Reality….
Minimum Viable Product (MVP)
=
Fixed amount of time* to build it and to demonstrate key
AWS concepts… services … and squeeze into a 45 minute
presentation
*Approx: 2.5 <interrupted> days of coding effort, YMMV
Amazon Global Physical Infrastructure
(10 Geographic Regions, Multiple Availability Zones, 51 Edge Locations)
Parallel
Processing
Amazon Elastic
MapReduce
Content
Delivery
Amazon Cloud Front
Messaging
Amazon SNS
Amazon SQS
Email
Amazon Simple Email
Service (SES)
Payments
Amazon DevPay
Amazon Flexible Payment
System (FPS)
Workforce
Amazon Mechanical
Turk
High Level Building Blocks
Compute
Amazon EC2
Auto Scaling
VM Import/Export
Storage
Amazon S3
EBS, Glacier,
Import/Export
Network
Amazon VPC
Elastic Load Balancer
Route 53
Database
Amazon RDS
Simple DB, Dynamo DB,
ElastiCache
Low Level Building Blocks
Authentication & Authorization
Amazon IAM (inc MFA)
Monitoring
Amazon CloudWatch
Deployment & Automation
Amazon Elastic Beanstalk
Amazon CloudFormation
Cross Service Features
Libraries and SDKs
.Net / Java etc
Web Interface
Management Console
Tools
Visual Studio .Net / Eclipse Plugin
Command Line Interface
Tools to Access Services
Your Application
We’ll Use these Services
Today
Reasoning Behind Service Usage
Solution Requirement AWS Service(s)
DNS Resolution Route 53
Networking Virtual Private Cloud (VPC by default)
Load Balancing to Meet Demand Elastic Load Balancer (ELB)
Auto Scaling Groups (ASG)
CloudWatch Metrics
Windows Servers for ASP.Net Elastic Compute Cloud (EC2) Instances
Application Deployment Directly from Dev Tools Elastic Beanstalk (also helps with auto-scaling)
Content Delivery Network CloudFront
Reliable Storage Elastic Block Store (EBS) for Instances & Simple Storage
Service (S3)
Database (for Session Store) DynamoDB (No SQL)
Security Identity and Access Management (IAM)
Push Uploaded Content into a future backend system yet to be
specified
Simple Queue Service (SQS)
The Core Architecture
on AWS
The Overall Solution Architecture
API
Mobile Web Site
Now how to build this….
AWS Elastic Beanstalk
•  AWS Elastic Beanstalk allows for automated deployment of applications by
configuring its run-time environment (inside the AMI)
–  Upload your application package
–  Beanstalk handles the deployment details of capacity provisioning, load balancing, auto-
scaling, application health monitoring, and DNS CNAME
•  Environment is available in minutes at a customized URL
(e.g. http://myapp.elasticbeanstalk.com/)
•  Elastic Beanstalk supports ASP.Net, Java, Node.Js, PHP, Python & Ruby
•  Think about it as a “Managed Runtime Container as a Service”
AWS SDKs & Toolkits
Java .NET
nodeJS
Node JS
Ruby
RubyPython PHP
iOS
IOS Android
AWS CLI PowershellVisual Studio Eclipse
AWS SDKs & Toolkits
.NET
Visual Studio
AWS SDKs & Toolkits
.NET
Visual Studio
AWS SDKs & Toolkits
.NET
Visual Studio
Visual Studio .Net Add-In from AWS
Custom
AWS
Projects
AWS
Explorer
Pane
Available from http://aws.amazon.com/visualstudio/
Publish Directly To AWS
…. And you get something like this!
Visual Studio
http://lunchandlearn.elasticbeanstalk.com
DNS Setup For Application
Route 53
lunchandlearn.stanski.me
(A Record to IP)
Development Server on
AWS
Development Route 53
lunchandlearn.stanski.me
(CNAME to)
lunchandlearn.
elasticbeanstalk.com
(CNAME to)
PublicELB-143817XX.ap-
southeast-2.elb.amazonaws.co
m
Production
Web Application Session State
ASP.Net Session State Management Considerations for
Scaling Out
•  ASP.Net uses a provider model to enable pluggable providers (DLLs) and settings
in the Web.Config file
•  In-Proc : in memory on the web server (default OOBE)
•  Out-of-Proc : on another server ß Need this for “Scale Out”
–  Usually Microsoft SQL Server on a dedicated server
•  AWS provides additional Session State Options:
1.  MySQL data provider via RDS (3rd party on Codeplex)
2.  MemcacheD (aka ElastiCache)
3.  AWS DynamoDB
http://aws.typepad.com/aws/2012/09/managing-aspnet-session-state-with-
dynamodb.html
Dynamo DB
•  DynamoDB is a very fast, managed NoSQL database as a service
•  Designed to store and retrieve any amount of data, and serve virtually any
level of request traffic
–  Dial in the number of read and writes per second as needed by application
•  All data items are stored on Solid State Drives (SSDs), replicated across 3
Availability Zones for high availability and high durability
•  DynamoDB offloads the administrative burden of operating and scaling a
highly available distributed database cluster
NuGet integration in Visual Studio .Net
"   Pre-packaged NuGet AWS tools can be installed to provide DynamoDB Session State Support
Changes to Web.Config file to enable
AWS DynamoDB Session State
"   Security Tip: Create a custom IAM user to only allow access to DynamoDB
Static Content
Static Web Content Management Strategy
•  Static Content usually resides on the same web server as dynamic web
content
–  E.g.. Jpegs, CSS, JS, GIFs etc
•  Moving static content to dedicated “static content servers” can reduce
server loads
•  On AWS this means smaller instances for EC2 and lower hourly cost
and using Simple Storage Service (S3)
•  By using Route 53 DNS this can be changed without web application
disruption
Application HTML References to Static Assets
•  Edit HTML content directly to reference fully qualified domain name to let
DNS resolve origin servers; OR
•  Use Content Rewrites in the web server
–  E.g. ASP.Net Content/HTTP Handlers
Amazon Simple Storage Service (S3)
•  Amazon S3 provides a simple web services interface that can be used to store
and retrieve any amount of data, at any time, from anywhere on the web
•  It is designed to make web-scale computing easier for developers by allowing
storage of Web accessible static content
"   Allows for easy static website hosting (No EC2 Servers required)
"   Designed for 99.999999999% durability and 99.99% availability of
objects over a given year
•  Gives developers access to the same highly scalable, reliable, secure, fast,
inexpensive infrastructure that Amazon uses to run its own global network of web
sites
S3 Bucket Setup – Web Hosting Enabled
•  DNS abstracts the actual storage location from web browser
DNS Setup for S3
Route 53
cdn.stanski.me
(A Record to IP)
Development Server on AWS
Development Route 53
cdn.stanski.me
(CNAME to)
cdn.stanski.me.s3-website-ap-
southeast-2.amazonaws.com
Production
"  DNS changes the underlying content origin systems
Static Content Copy to S3
Content Delivery Acceleration
CloudFront : Content Delivery Network (CDN)
•  CloudFront can be used to deliver your entire website, including
dynamic, static as well as streaming content using a global network
of edge locations
•  Requests for your content are automatically routed to the nearest
edge location, so content is delivered with the best possible
performance
•  It integrates with Amazon Web Services like EC2 & S3 to give
developers an easy way to distribute content to end users with low
latency, high data transfer speeds, and no commitments
CloudFront Distribution
"   CF responds on its Domain Name and Alternative CNAMES
CloudFront Origin
"   CF Origin points to the S3 Bucket containing static content
DNS Setup for CloudFront
Route 53
cdn.stanski.me
(A Record to IP)
Development Server on
AWS
Development
"  DNS abstracts the actual storage location from the web browser
Route 53
cdn.stanski.me
(CNAME to)
CloudFront Name:
dx21lojdjnvls.cloudfront.net
Production
S3 Origin: cdn.stanski.me.s3-
website-ap-
southeast-2.amazonaws.com
Static Content Copy to S3
API Integration
Twilio Google Maps Amazon SQS
Google API C# Snippet
"   Using the Google API to convert GPS to Street information
Twilio API C# Snippet
•  Using the Twilio .Net SDK to send a Text Message and make a Phone Call
Amazon Simple Queue Service
•  Amazon Simple Queue Service (SQS) is a fast, reliable, scalable, fully managed
queue service – think MSMQ, RabbitMQ, JMS etc
•  SQS makes it simple to decouple the components of a cloud application
•  You can use SQS to transmit any volume of data, at any level of throughput, without
losing messages or requiring other services to be always available
•  With SQS you can offload the administrative burden of operating and scaling a highly
available messaging cluster
•  Used here to future proof your application: thumbnail images are pushed in the
LunchAndLearnQ
–  This is to address the requirement of a “future application back-end-system”
SQS C# AWS SDK Snippet
•  Create an SQS queue and Sending a Message into it…
AWS Web Console
•  Queues can be managed from the web console
Expand your skills with AWS
Certification
aws.amazon.com/certification
Exams
Validate your proven
technical expertise with
the AWS platform
On-Demand
Resources
aws.amazon.com/training/
self-paced-labs
Videos & Labs
Get hands-on practice
working with AWS
technologies in a live
environment
aws.amazon.com/training
Instructor-Led
Courses
Training Classes
Expand your technical
expertise to design, deploy,
and operate scalable,
efficient applications on AWS

Weitere ähnliche Inhalte

Was ist angesagt?

T1 – Architecting highly available applications on aws
T1 – Architecting highly available applications on awsT1 – Architecting highly available applications on aws
T1 – Architecting highly available applications on aws
Amazon Web Services
 
Building Web Applications on AWS - AWS Summit 2012 - NYC
Building Web Applications on AWS - AWS Summit 2012 - NYCBuilding Web Applications on AWS - AWS Summit 2012 - NYC
Building Web Applications on AWS - AWS Summit 2012 - NYC
Amazon Web Services
 
Building High-availability Websites on AWS
Building High-availability Websites on AWSBuilding High-availability Websites on AWS
Building High-availability Websites on AWS
Amazon Web Services
 
AWS Cloud Kata | Manila - Getting to Scale on AWS
AWS Cloud Kata | Manila - Getting to Scale on AWSAWS Cloud Kata | Manila - Getting to Scale on AWS
AWS Cloud Kata | Manila - Getting to Scale on AWS
Amazon Web Services
 

Was ist angesagt? (20)

AWS basics session
AWS basics sessionAWS basics session
AWS basics session
 
Extend your Datacentre with the AWS Cloud
Extend your Datacentre with the AWS CloudExtend your Datacentre with the AWS Cloud
Extend your Datacentre with the AWS Cloud
 
Content Management and Running your Website on AWS
Content Management and Running your Website on AWSContent Management and Running your Website on AWS
Content Management and Running your Website on AWS
 
AWS Webcast - Website Hosting
AWS Webcast - Website HostingAWS Webcast - Website Hosting
AWS Webcast - Website Hosting
 
Aws Architecture Training
Aws Architecture TrainingAws Architecture Training
Aws Architecture Training
 
Intro to AWS: EC2 & Compute Services
Intro to AWS: EC2 & Compute ServicesIntro to AWS: EC2 & Compute Services
Intro to AWS: EC2 & Compute Services
 
AWS re:Invent 2016: Reinventing Disaster Recovery Leveraging AWS Cloud Infras...
AWS re:Invent 2016: Reinventing Disaster Recovery Leveraging AWS Cloud Infras...AWS re:Invent 2016: Reinventing Disaster Recovery Leveraging AWS Cloud Infras...
AWS re:Invent 2016: Reinventing Disaster Recovery Leveraging AWS Cloud Infras...
 
AWS Webcast - Build Agile Applications in AWS Cloud
AWS Webcast - Build Agile Applications in AWS CloudAWS Webcast - Build Agile Applications in AWS Cloud
AWS Webcast - Build Agile Applications in AWS Cloud
 
T1 – Architecting highly available applications on aws
T1 – Architecting highly available applications on awsT1 – Architecting highly available applications on aws
T1 – Architecting highly available applications on aws
 
AWS Black Belt Tips
AWS Black Belt TipsAWS Black Belt Tips
AWS Black Belt Tips
 
Cloud Architecture best practices
Cloud Architecture best practicesCloud Architecture best practices
Cloud Architecture best practices
 
Building Web Applications on AWS - AWS Summit 2012 - NYC
Building Web Applications on AWS - AWS Summit 2012 - NYCBuilding Web Applications on AWS - AWS Summit 2012 - NYC
Building Web Applications on AWS - AWS Summit 2012 - NYC
 
AWS Summit 2013 | India - Scaling Seamlessly and Going Global with the Cloud,...
AWS Summit 2013 | India - Scaling Seamlessly and Going Global with the Cloud,...AWS Summit 2013 | India - Scaling Seamlessly and Going Global with the Cloud,...
AWS Summit 2013 | India - Scaling Seamlessly and Going Global with the Cloud,...
 
Migration of Microsoft Workloads
Migration of Microsoft WorkloadsMigration of Microsoft Workloads
Migration of Microsoft Workloads
 
Building High-availability Websites on AWS
Building High-availability Websites on AWSBuilding High-availability Websites on AWS
Building High-availability Websites on AWS
 
Microsoft Best Practices on AWS
Microsoft Best Practices on AWSMicrosoft Best Practices on AWS
Microsoft Best Practices on AWS
 
AWS Cloud Kata | Manila - Getting to Scale on AWS
AWS Cloud Kata | Manila - Getting to Scale on AWSAWS Cloud Kata | Manila - Getting to Scale on AWS
AWS Cloud Kata | Manila - Getting to Scale on AWS
 
AWS for Start-ups - Architectural Best Practices & Automating Your Infrastruc...
AWS for Start-ups - Architectural Best Practices & Automating Your Infrastruc...AWS for Start-ups - Architectural Best Practices & Automating Your Infrastruc...
AWS for Start-ups - Architectural Best Practices & Automating Your Infrastruc...
 
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
 
갑작스러운 유저의 수요 증가에 현명하게 대처하는 방법
갑작스러운 유저의 수요 증가에 현명하게 대처하는 방법갑작스러운 유저의 수요 증가에 현명하게 대처하는 방법
갑작스러운 유저의 수요 증가에 현명하게 대처하는 방법
 

Andere mochten auch

Media Processing and Delivery on AWS, Santa Monica Meetup 6/25/14
Media Processing and Delivery on AWS, Santa Monica Meetup 6/25/14Media Processing and Delivery on AWS, Santa Monica Meetup 6/25/14
Media Processing and Delivery on AWS, Santa Monica Meetup 6/25/14
Amazon Web Services
 
Building Scalable Databases on AWS - AWS Summit 2012 - NYC
Building Scalable Databases on AWS - AWS Summit 2012 - NYCBuilding Scalable Databases on AWS - AWS Summit 2012 - NYC
Building Scalable Databases on AWS - AWS Summit 2012 - NYC
Amazon Web Services
 

Andere mochten auch (20)

AWS Briefing Dublin - Introduction to AWS
AWS Briefing Dublin - Introduction to AWSAWS Briefing Dublin - Introduction to AWS
AWS Briefing Dublin - Introduction to AWS
 
AWS Customer Presentation - Mind Touch
AWS Customer Presentation - Mind TouchAWS Customer Presentation - Mind Touch
AWS Customer Presentation - Mind Touch
 
AWS Customer Presentation - WeoGeo
AWS Customer Presentation - WeoGeo AWS Customer Presentation - WeoGeo
AWS Customer Presentation - WeoGeo
 
(BDT206) See How Amazon Redshift is Powering Business Intelligence in the Ent...
(BDT206) See How Amazon Redshift is Powering Business Intelligence in the Ent...(BDT206) See How Amazon Redshift is Powering Business Intelligence in the Ent...
(BDT206) See How Amazon Redshift is Powering Business Intelligence in the Ent...
 
AWS Customer Presentation - Admeld
AWS Customer Presentation - Admeld AWS Customer Presentation - Admeld
AWS Customer Presentation - Admeld
 
(APP311) Lessons Learned From Over a Decade of Deployments at Amazon | AWS re...
(APP311) Lessons Learned From Over a Decade of Deployments at Amazon | AWS re...(APP311) Lessons Learned From Over a Decade of Deployments at Amazon | AWS re...
(APP311) Lessons Learned From Over a Decade of Deployments at Amazon | AWS re...
 
AWS Webcast - Sumo Logic
AWS Webcast - Sumo LogicAWS Webcast - Sumo Logic
AWS Webcast - Sumo Logic
 
(MBL305) The World Cup Second Screen Experience | AWS re:Invent 2014
(MBL305) The World Cup Second Screen Experience | AWS re:Invent 2014(MBL305) The World Cup Second Screen Experience | AWS re:Invent 2014
(MBL305) The World Cup Second Screen Experience | AWS re:Invent 2014
 
AWS Customer Presentation - Skipso
AWS Customer Presentation - Skipso AWS Customer Presentation - Skipso
AWS Customer Presentation - Skipso
 
Migrating Entire Enterprise IT
Migrating Entire Enterprise ITMigrating Entire Enterprise IT
Migrating Entire Enterprise IT
 
AWS Paris Summit 2014 - T2 - Optimisation du coût total de possession avec AWS
AWS Paris Summit 2014 - T2 - Optimisation du coût total de possession avec AWSAWS Paris Summit 2014 - T2 - Optimisation du coût total de possession avec AWS
AWS Paris Summit 2014 - T2 - Optimisation du coût total de possession avec AWS
 
AWS GovCloud (US) Fundamentals: Past, Present, and Future - AWS Symposium 201...
AWS GovCloud (US) Fundamentals: Past, Present, and Future - AWS Symposium 201...AWS GovCloud (US) Fundamentals: Past, Present, and Future - AWS Symposium 201...
AWS GovCloud (US) Fundamentals: Past, Present, and Future - AWS Symposium 201...
 
(BDT205) Your First Big Data Application on AWS | AWS re:Invent 2014
(BDT205) Your First Big Data Application on AWS | AWS re:Invent 2014(BDT205) Your First Big Data Application on AWS | AWS re:Invent 2014
(BDT205) Your First Big Data Application on AWS | AWS re:Invent 2014
 
Media Processing and Delivery on AWS, Santa Monica Meetup 6/25/14
Media Processing and Delivery on AWS, Santa Monica Meetup 6/25/14Media Processing and Delivery on AWS, Santa Monica Meetup 6/25/14
Media Processing and Delivery on AWS, Santa Monica Meetup 6/25/14
 
Building Scalable Databases on AWS - AWS Summit 2012 - NYC
Building Scalable Databases on AWS - AWS Summit 2012 - NYCBuilding Scalable Databases on AWS - AWS Summit 2012 - NYC
Building Scalable Databases on AWS - AWS Summit 2012 - NYC
 
Intro to Amazon Web Services at Edinburgh Startup Event
Intro to Amazon Web Services at Edinburgh Startup EventIntro to Amazon Web Services at Edinburgh Startup Event
Intro to Amazon Web Services at Edinburgh Startup Event
 
DevOps for the Enterprise: Automated Testing and Monitoring
DevOps for the Enterprise: Automated Testing and Monitoring DevOps for the Enterprise: Automated Testing and Monitoring
DevOps for the Enterprise: Automated Testing and Monitoring
 
(GAM201) Scalable Game Architectures That Don't Break the Bank | AWS re:Inven...
(GAM201) Scalable Game Architectures That Don't Break the Bank | AWS re:Inven...(GAM201) Scalable Game Architectures That Don't Break the Bank | AWS re:Inven...
(GAM201) Scalable Game Architectures That Don't Break the Bank | AWS re:Inven...
 
The Great Cloud Migration
The Great Cloud MigrationThe Great Cloud Migration
The Great Cloud Migration
 
Masterclass Webinar: Amazon DynamoDB July 2014
Masterclass Webinar: Amazon DynamoDB July 2014Masterclass Webinar: Amazon DynamoDB July 2014
Masterclass Webinar: Amazon DynamoDB July 2014
 

Ähnlich wie Running your First Application on AWS

OpenCms Days 2012 - The Dispatch - Running OpenCms 8 on Amazon cloud services
OpenCms Days 2012 - The Dispatch - Running OpenCms 8 on Amazon cloud servicesOpenCms Days 2012 - The Dispatch - Running OpenCms 8 on Amazon cloud services
OpenCms Days 2012 - The Dispatch - Running OpenCms 8 on Amazon cloud services
Alkacon Software GmbH & Co. KG
 

Ähnlich wie Running your First Application on AWS (20)

AWS re:Invent re:Cap 2015
AWS re:Invent re:Cap 2015AWS re:Invent re:Cap 2015
AWS re:Invent re:Cap 2015
 
Aws big picture_overview
Aws big picture_overviewAws big picture_overview
Aws big picture_overview
 
OpenCms Days 2012 - The Dispatch - Running OpenCms 8 on Amazon cloud services
OpenCms Days 2012 - The Dispatch - Running OpenCms 8 on Amazon cloud servicesOpenCms Days 2012 - The Dispatch - Running OpenCms 8 on Amazon cloud services
OpenCms Days 2012 - The Dispatch - Running OpenCms 8 on Amazon cloud services
 
AMAZON CLOUD Course Content
AMAZON CLOUD Course ContentAMAZON CLOUD Course Content
AMAZON CLOUD Course Content
 
SAP on Amazon web services
SAP on Amazon web servicesSAP on Amazon web services
SAP on Amazon web services
 
Cloud computing-Practical Example
Cloud computing-Practical ExampleCloud computing-Practical Example
Cloud computing-Practical Example
 
AWS Cloud Kata 2014 | Jakarta - 2-1 AWS Intro and Scale 2014
AWS Cloud Kata 2014 | Jakarta - 2-1 AWS Intro and Scale 2014AWS Cloud Kata 2014 | Jakarta - 2-1 AWS Intro and Scale 2014
AWS Cloud Kata 2014 | Jakarta - 2-1 AWS Intro and Scale 2014
 
AWS Architecting In The Cloud
AWS Architecting In The CloudAWS Architecting In The Cloud
AWS Architecting In The Cloud
 
Architecting for the Cloud: Best Practices
Architecting for the Cloud: Best PracticesArchitecting for the Cloud: Best Practices
Architecting for the Cloud: Best Practices
 
Survey of International and Thai Cloud Providers and Cloud Software Projects
Survey of International and Thai Cloud Providers and Cloud Software ProjectsSurvey of International and Thai Cloud Providers and Cloud Software Projects
Survey of International and Thai Cloud Providers and Cloud Software Projects
 
NWCloud Cloud Track - Best Practices for Architecting in the Cloud
NWCloud Cloud Track - Best Practices for Architecting in the CloudNWCloud Cloud Track - Best Practices for Architecting in the Cloud
NWCloud Cloud Track - Best Practices for Architecting in the Cloud
 
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 Service Drill Downs
AWS Service Drill DownsAWS Service Drill Downs
AWS Service Drill Downs
 
Aws overview (Amazon Web Services)
Aws overview (Amazon Web Services)Aws overview (Amazon Web Services)
Aws overview (Amazon Web Services)
 
Forge - DevCon 2016: Developing & Deploying Secure, Scalable Applications on ...
Forge - DevCon 2016: Developing & Deploying Secure, Scalable Applications on ...Forge - DevCon 2016: Developing & Deploying Secure, Scalable Applications on ...
Forge - DevCon 2016: Developing & Deploying Secure, Scalable Applications on ...
 
AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...
AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...
AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...
 
AWS Services Overview and Quarterly Update - April 2017 AWS Online Tech Talks
AWS Services Overview and Quarterly Update - April 2017 AWS Online Tech TalksAWS Services Overview and Quarterly Update - April 2017 AWS Online Tech Talks
AWS Services Overview and Quarterly Update - April 2017 AWS Online Tech Talks
 
AWS Services Overview and Quarterly Update - April 2017 AWS Online Tech Talks
AWS Services Overview and Quarterly Update - April 2017 AWS Online Tech TalksAWS Services Overview and Quarterly Update - April 2017 AWS Online Tech Talks
AWS Services Overview and Quarterly Update - April 2017 AWS Online Tech Talks
 
[Jun AWS 201] Technical Workshop
[Jun AWS 201] Technical Workshop[Jun AWS 201] Technical Workshop
[Jun AWS 201] Technical Workshop
 
AWS Enterprise Workloads on AWS IP Expo 2013
AWS Enterprise Workloads on AWS IP Expo 2013AWS Enterprise Workloads on AWS IP Expo 2013
AWS Enterprise Workloads on AWS IP Expo 2013
 

Mehr von Amazon 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 AWS
Amazon 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 Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon 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
 

Mehr von 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
 

Kürzlich hochgeladen

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

Running your First Application on AWS

  • 1. © 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc. Running your First Application on AWS Clayton Brown, Solutions Architect, Amazon Web Services
  • 2. Build an AWS based, Scalable Mobile application that is location centric and connects with the user’s mobile device personally, Which can be ubiquitously accessed via the cloud The Vision….
  • 3. The Reality…. Minimum Viable Product (MVP) = Fixed amount of time* to build it and to demonstrate key AWS concepts… services … and squeeze into a 45 minute presentation *Approx: 2.5 <interrupted> days of coding effort, YMMV
  • 4. Amazon Global Physical Infrastructure (10 Geographic Regions, Multiple Availability Zones, 51 Edge Locations) Parallel Processing Amazon Elastic MapReduce Content Delivery Amazon Cloud Front Messaging Amazon SNS Amazon SQS Email Amazon Simple Email Service (SES) Payments Amazon DevPay Amazon Flexible Payment System (FPS) Workforce Amazon Mechanical Turk High Level Building Blocks Compute Amazon EC2 Auto Scaling VM Import/Export Storage Amazon S3 EBS, Glacier, Import/Export Network Amazon VPC Elastic Load Balancer Route 53 Database Amazon RDS Simple DB, Dynamo DB, ElastiCache Low Level Building Blocks Authentication & Authorization Amazon IAM (inc MFA) Monitoring Amazon CloudWatch Deployment & Automation Amazon Elastic Beanstalk Amazon CloudFormation Cross Service Features Libraries and SDKs .Net / Java etc Web Interface Management Console Tools Visual Studio .Net / Eclipse Plugin Command Line Interface Tools to Access Services Your Application We’ll Use these Services Today
  • 5. Reasoning Behind Service Usage Solution Requirement AWS Service(s) DNS Resolution Route 53 Networking Virtual Private Cloud (VPC by default) Load Balancing to Meet Demand Elastic Load Balancer (ELB) Auto Scaling Groups (ASG) CloudWatch Metrics Windows Servers for ASP.Net Elastic Compute Cloud (EC2) Instances Application Deployment Directly from Dev Tools Elastic Beanstalk (also helps with auto-scaling) Content Delivery Network CloudFront Reliable Storage Elastic Block Store (EBS) for Instances & Simple Storage Service (S3) Database (for Session Store) DynamoDB (No SQL) Security Identity and Access Management (IAM) Push Uploaded Content into a future backend system yet to be specified Simple Queue Service (SQS)
  • 7. on AWS The Overall Solution Architecture API Mobile Web Site
  • 8. Now how to build this….
  • 9. AWS Elastic Beanstalk •  AWS Elastic Beanstalk allows for automated deployment of applications by configuring its run-time environment (inside the AMI) –  Upload your application package –  Beanstalk handles the deployment details of capacity provisioning, load balancing, auto- scaling, application health monitoring, and DNS CNAME •  Environment is available in minutes at a customized URL (e.g. http://myapp.elasticbeanstalk.com/) •  Elastic Beanstalk supports ASP.Net, Java, Node.Js, PHP, Python & Ruby •  Think about it as a “Managed Runtime Container as a Service”
  • 10. AWS SDKs & Toolkits Java .NET nodeJS Node JS Ruby RubyPython PHP iOS IOS Android AWS CLI PowershellVisual Studio Eclipse
  • 11. AWS SDKs & Toolkits .NET Visual Studio
  • 12. AWS SDKs & Toolkits .NET Visual Studio
  • 13. AWS SDKs & Toolkits .NET Visual Studio
  • 14. Visual Studio .Net Add-In from AWS Custom AWS Projects AWS Explorer Pane Available from http://aws.amazon.com/visualstudio/
  • 16. …. And you get something like this! Visual Studio http://lunchandlearn.elasticbeanstalk.com
  • 17. DNS Setup For Application Route 53 lunchandlearn.stanski.me (A Record to IP) Development Server on AWS Development Route 53 lunchandlearn.stanski.me (CNAME to) lunchandlearn. elasticbeanstalk.com (CNAME to) PublicELB-143817XX.ap- southeast-2.elb.amazonaws.co m Production
  • 19. ASP.Net Session State Management Considerations for Scaling Out •  ASP.Net uses a provider model to enable pluggable providers (DLLs) and settings in the Web.Config file •  In-Proc : in memory on the web server (default OOBE) •  Out-of-Proc : on another server ß Need this for “Scale Out” –  Usually Microsoft SQL Server on a dedicated server •  AWS provides additional Session State Options: 1.  MySQL data provider via RDS (3rd party on Codeplex) 2.  MemcacheD (aka ElastiCache) 3.  AWS DynamoDB http://aws.typepad.com/aws/2012/09/managing-aspnet-session-state-with- dynamodb.html
  • 20. Dynamo DB •  DynamoDB is a very fast, managed NoSQL database as a service •  Designed to store and retrieve any amount of data, and serve virtually any level of request traffic –  Dial in the number of read and writes per second as needed by application •  All data items are stored on Solid State Drives (SSDs), replicated across 3 Availability Zones for high availability and high durability •  DynamoDB offloads the administrative burden of operating and scaling a highly available distributed database cluster
  • 21. NuGet integration in Visual Studio .Net "   Pre-packaged NuGet AWS tools can be installed to provide DynamoDB Session State Support
  • 22. Changes to Web.Config file to enable AWS DynamoDB Session State "   Security Tip: Create a custom IAM user to only allow access to DynamoDB
  • 24. Static Web Content Management Strategy •  Static Content usually resides on the same web server as dynamic web content –  E.g.. Jpegs, CSS, JS, GIFs etc •  Moving static content to dedicated “static content servers” can reduce server loads •  On AWS this means smaller instances for EC2 and lower hourly cost and using Simple Storage Service (S3) •  By using Route 53 DNS this can be changed without web application disruption
  • 25. Application HTML References to Static Assets •  Edit HTML content directly to reference fully qualified domain name to let DNS resolve origin servers; OR •  Use Content Rewrites in the web server –  E.g. ASP.Net Content/HTTP Handlers
  • 26. Amazon Simple Storage Service (S3) •  Amazon S3 provides a simple web services interface that can be used to store and retrieve any amount of data, at any time, from anywhere on the web •  It is designed to make web-scale computing easier for developers by allowing storage of Web accessible static content "   Allows for easy static website hosting (No EC2 Servers required) "   Designed for 99.999999999% durability and 99.99% availability of objects over a given year •  Gives developers access to the same highly scalable, reliable, secure, fast, inexpensive infrastructure that Amazon uses to run its own global network of web sites
  • 27. S3 Bucket Setup – Web Hosting Enabled •  DNS abstracts the actual storage location from web browser
  • 28. DNS Setup for S3 Route 53 cdn.stanski.me (A Record to IP) Development Server on AWS Development Route 53 cdn.stanski.me (CNAME to) cdn.stanski.me.s3-website-ap- southeast-2.amazonaws.com Production "  DNS changes the underlying content origin systems Static Content Copy to S3
  • 30. CloudFront : Content Delivery Network (CDN) •  CloudFront can be used to deliver your entire website, including dynamic, static as well as streaming content using a global network of edge locations •  Requests for your content are automatically routed to the nearest edge location, so content is delivered with the best possible performance •  It integrates with Amazon Web Services like EC2 & S3 to give developers an easy way to distribute content to end users with low latency, high data transfer speeds, and no commitments
  • 31. CloudFront Distribution "   CF responds on its Domain Name and Alternative CNAMES
  • 32. CloudFront Origin "   CF Origin points to the S3 Bucket containing static content
  • 33. DNS Setup for CloudFront Route 53 cdn.stanski.me (A Record to IP) Development Server on AWS Development "  DNS abstracts the actual storage location from the web browser Route 53 cdn.stanski.me (CNAME to) CloudFront Name: dx21lojdjnvls.cloudfront.net Production S3 Origin: cdn.stanski.me.s3- website-ap- southeast-2.amazonaws.com Static Content Copy to S3
  • 34. API Integration Twilio Google Maps Amazon SQS
  • 35. Google API C# Snippet "   Using the Google API to convert GPS to Street information
  • 36. Twilio API C# Snippet •  Using the Twilio .Net SDK to send a Text Message and make a Phone Call
  • 37. Amazon Simple Queue Service •  Amazon Simple Queue Service (SQS) is a fast, reliable, scalable, fully managed queue service – think MSMQ, RabbitMQ, JMS etc •  SQS makes it simple to decouple the components of a cloud application •  You can use SQS to transmit any volume of data, at any level of throughput, without losing messages or requiring other services to be always available •  With SQS you can offload the administrative burden of operating and scaling a highly available messaging cluster •  Used here to future proof your application: thumbnail images are pushed in the LunchAndLearnQ –  This is to address the requirement of a “future application back-end-system”
  • 38. SQS C# AWS SDK Snippet •  Create an SQS queue and Sending a Message into it…
  • 39. AWS Web Console •  Queues can be managed from the web console
  • 40. Expand your skills with AWS Certification aws.amazon.com/certification Exams Validate your proven technical expertise with the AWS platform On-Demand Resources aws.amazon.com/training/ self-paced-labs Videos & Labs Get hands-on practice working with AWS technologies in a live environment aws.amazon.com/training Instructor-Led Courses Training Classes Expand your technical expertise to design, deploy, and operate scalable, efficient applications on AWS