Building Modern Applications On AWS
Building Modern Applications On AWS
Nathan Peck
Developer Advocate, Container Services
@nathankpeck
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
“…application is container-based”
Key Primitives
of a Modern “…dynamically managed…”
Application?
…microservice oriented…”
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
“…application is container-based”
Key Primitives
of a Modern “…dynamically managed…”
Cloud Native
Application?
…microservice oriented…”
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Why Building Cloud Native Matters
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Key Building Blocks for Success
https://puppet.com/resources/whitepaper/state-of-devops-report
Ship features, not just code
Containers Enable Fast Deployments
Deploy frequency (# of deploys per year)
1,600
1,200
800
400
0
2014 2015 2016 2017
High performers Low performers
https://puppet.com/resources/whitepaper/state-of-devops-report
Containers Enable Immutable
Changes/Rollback
100 60
80 50
40
60
30
40
20
20 10
0 0
https://puppet.com/resources/whitepaper/state-of-devops-report
Cloud Native Principle #1
Cloud Native Applications enable
high functioning organizations to
build and
ship features faster!
Key Building Blocks for Success
DATA CENTER
Data Center Native
Infrastructure
Architecture
Lives for years
DATA CENTER
Cloud Migration
Pay as you go
DATACENTER
Cloud Native Principle #2
Pay for what you used last month, not what
you guess you will need next year.
Enable teams to experiment and fail fast,
without significant investment.
File tickets and wait Self service,
for every step on-demand, no delays
! !
VS
File tickets and wait Self service,
for every step on-demand, no delays
! !
Deploy by filing a Deploy by making an
ticket and waiting VS API call self service
days or weeks within minutes
Cloud Native Principle #3
Self service, API driven, automated.
Move from request tickets at every step to
self-service APIs and tools that empower
teams.
Elasticity
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Organization Transformation
“…teams build software that patterns
their organizational structure…”
—Conway’s Law
“You build it, you run it.”
—Werner Vogels, VP & CTO Amazon.com
“Not what happens IF it fails,
but what happens WHEN it fails.”
—Nora Jones, Author, and Sr. Chaos Engineer at Netflix
Principals of Modern, Cloud Native Apps
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Lambda
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Lambda
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
“Using AWS Lambda, we’ve
increased cost efficiency
by a factor of two”
—Tim Griesbach, Senior Director of Technology, FINRA
FINRA performs
500 Billion validations daily
using AWS Lambda
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Lambda preforms
Amazon SQS record validations
Contr
Controller on EC2 olle
Amazon Lamb r manages
da pro
cess
RDS
Amazon
SQS
Amazon
SQS
…
Logs to
CloudWatch
Logs
Consumers Amazon
S3 Co
p y
fil
es
t oS
3
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon Elastic Container Service (ECS)
Powerful
Advanced task scheduling engines
placement
Auto scaling
Deep integration
with AWS platform
CloudWatch metrics
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
McDelivery
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Critical Business Requirements
Speed to market
Cost sensitivity
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Key Architecture Principles
Microservices
PaaS
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Menu and
Restaurant Amazon Amazon ElastiCache Amazon
Master SQS RDS (Redis) S3
Restaurant
Microservice 1 Microservice 2
Amazon ECS
Third-party
Delivery Platforms
Application Load Balancer
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Built entire system in months, all on AWS
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Enable Focus on Applications
Introducing
AWS Fargate!
Simple,
easy to use,
powerful
consumption
model
No instances Container Resource
to manage native API based pricing
Fargate
Running a Container
Running Containers
EC2 Instance EC2 Instance EC2 Instance EC2 Instance EC2 Instance
Task Task Task Task Task Task Task Task Task Task
Task Task Task Task Task Task Task Task Task Task
EC2 Instance
ECSTask ECSTask
ECSTask ECSTask
CDN
Internal
External Background Web
ALB
ALB Frontend Web Internal
External
Card/Scraper
Service
Background Background
Job Queues Workers
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
“We moved to Fargate because we need the
ability to scale quickly up from baseline,
run multi-container workloads, and get
fine-grained network control, without
having to manage our own infrastructure.”
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon EKS
Kubectl mycluster.eks.amazonaws.com
AZ 1 AZ 2 AZ 3
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon Elastic Container Service
for Kubernetes (EKS)
Managed Kubernetes Global footprint
Control Plane
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Application Integration: Orchestration
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Monitoring: Amazon Cloudwatch
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Distributed
Tracing
AWS X-Ray
• Analyze and debug performance of • Identify specific user impact across • Ready to use in
distributed applications an application production with low
latency in real-time
• View latency distribution and identify • Works across AWS and
performance bottlenecks non-AWS services
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Key Building Blocks for Success
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Please complete the session survey in the
summit mobile app.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Submit Session Feedback
1. Tap the Schedule icon. 2. Select the session you 3. Tap Session Evaluation to
attended. submit your feedback.