SlideShare une entreprise Scribd logo
1  sur  77
Télécharger pour lire hors ligne
Scaling the Platform for your
Startup
Andreas Chatzakis, AWS Solutions Architecture
Peter Mounce, Senior Software Developer at JUST EAT
15th April 2015, AWS London Summit
Why are you here?
•  Building the technology platform for your startup
•  You want to prepare for success
•  Learn about design patterns & scalability
•  A pragmatic approach for startups
Priorities for startups
•  Racing within a window of opportunity
•  Small team with no legacy
•  Focus on solving a problem
•  Avoid over-engineering & re-engineering
•  Reduce risk of failure when you go viral
A scalable architecture
•  Can support growth in users, traffic, data size
•  Without practical limits
•  Without a drop in performance
•  Seamlessly - just by adding more resources
•  Efficiently - in terms of cost per user
Day 1 – Dev & private beta
Single host
THE server
(e.g. Apache,
MySQL)
Elastic IP
www.example.com
Amazon Route 53
DNS service
Server Image (AMI)
Day 2 - Public beta
We need a bigger server
•  Add larger & faster storage (EBS)
•  Use the right instance type
•  Easy to change instance sizes
•  Not our long term strategy
•  Will hit an endpoint eventually
•  No fault tolerance
Separating web and DB
•  More capacity
•  Scale each tier individually
•  Tailor instance for each tier
–  Instance type
–  Storage
•  Security
–  Security groups
–  DB in a private VPC subnet
But how do I choose what
DB technology I need?
SQL? NoSQL?
Why start with a Relational DB?
•  SQL is versatile & feature-rich
•  Lots of existing code, tools, knowledge
•  Clear patterns to scalability (for read-heavy apps)
•  Reality: eventually you will have a polyglot data layer
–  There will be workloads where NoSQL is a better fit
–  Use the right tool for each workload
Key Insight: Relational Databases are Complex
•  Our experience running Amazon.com taught us that
relational databases can be a pain to manage and
operate with high availability
•  Poorly managed relational databases are a leading
cause of lost sleep and downtime in the IT world!
•  Especially for startups with small teams
Relational Databases
MySQL, Aurora, PostgreSQL, Oracle, SQL Server
Fully managed; zero admin
Amazon
RDS
Aurora
Improving efficiency
Offload static content
•  Amazon S3: highly available hosting that scales
–  Static files (JavaScript, CSS, images)
–  User uploads
•  S3 URLs – serve directly from S3
•  Let the web server focus on dynamic content
Amazon CloudFront
•  Worldwide network of edge locations
•  Cache on the edge
–  Reduce latency
–  Reduce load on origin servers
–  Static and dynamic content
–  Even few seconds caching of popular content can have huge impact
•  Connection optimizations
–  Optimize transfer route
–  Reuse connections
–  Benefits even non cachable content
CloudFront
CloudFront for static & dynamic content
Amazon
Route 53
EC2 instance(s)
S3 bucket
Static content
Dynamic content
css/*
js/*
Images/*
Default(*)
CloudFron
t
distributio
n
Database caching
•  Faster response from RAM
•  Reduce load on database
Application server
1. If data in cache,
return result
2. If not in cache,
read from DB
RDS database
Amazon ElastiCache
3. And store
in cache
Amazon ElastiCache: in-memory cache
•  Simple to Deploy
•  Managed
–  Automatically replaces failed nodes
–  Patch management
•  Elastic
•  Compatible ElastiCache
Day 3 – Paying customers
High Availability
Availability Zone a
RDS DB
instance
Web
server
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Amazon CloudFront
ElastiCache
node 1
High Availability
Availability Zone a
RDS DB
instance
Availability Zone b
Web
server
Web
server
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Amazon CloudFront
ElastiCache
node 1
High Availability
Availability Zone a
RDS DB
instance
Availability Zone b
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
Web
server
Web
server
S3 bucket for
static assets
Amazon CloudFront
ElastiCache
node 1
Elastic Load Balancing
•  Managed Load Balancing Service
•  Fault tolerant
•  Health Checks
•  Distributes traffic across AZs
•  Elastic – automatically scales its capacity
High Availability
Availability Zone a
RDS DB
instance
Availability Zone b
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
Web
server
Web
server
S3 bucket for
static assets
ElastiCache
node 1 
Amazon CloudFront
High Availability
Availability Zone a
RDS DB
instance
Availability Zone b
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
Web
server
Web
server
RDS DB
standby 
S3 bucket for
static assets
ElastiCache
node 1 
Amazon CloudFront
Data layer HA
Availability Zone a
RDS DB
instance
ElastiCache
node 1 
Availability Zone b
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
Web
server
Web
server
RDS DB
standby
Data layer HA
Availability Zone a
RDS DB
instance
ElastiCache
node 1 
Availability Zone b
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
Web
server
Web
server
RDS DB
standby 
ElastiCache
node 2
User sessions
•  Problem: Often stored on local disk
(not shared)
•  Quickfix: ELB Session stickiness
•  Solution: DynamoDB
Elastic Load
Balancing
Web
server
Web
server
Logged in Logged out
Amazon DynamoDB
•  Managed document and key-value store
•  Simple to launch and scale
•  To millions of IOPS
•  Both reads and writes
•  Consistent, fast performance
•  Durable: perfect for storage of session data
https://github.com/aws/aws-dynamodb-session-tomcat
http://docs.aws.amazon.com/aws-sdk-php/guide/latest/feature-dynamodb-session-handler.html
Day 4 – Let’s go viral!
Replace guesswork with elastic IT
Startups pre-AWS
Demand
Unhappy
Customers
Waste $$$
Traditional
Capacity
Capacity
Demand
AWS Cloud
Scaling the web tier
Availability Zone a
RDS DB
instance
ElastiCache
node 1 
Availability Zone b
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
Web
server
Web
server
RDS DB
standby 
ElastiCache
node 2
Scaling the web tier
Availability Zone a
RDS DB
instance
ElastiCache
node 1 
Availability Zone b
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
Web
server
Web
server
RDS DB
standby 
ElastiCache
node 2 
Web
server
Web
server
Scaling the web tier
Availability Zone a
RDS DB
instance
ElastiCache
node 1 
Availability Zone b
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
Web
server
Web
server
RDS DB
standby 
ElastiCache
node 2 
Web
server
Web
server
Automatic resizing of compute
clusters based on demand
Feature	
   Details	
  
Control	
   Define	
  minimum	
  and	
  maximum	
  instance	
  pool	
  
sizes	
  and	
  when	
  scaling	
  and	
  cool	
  down	
  occurs.	
  
Integrated	
  to	
  Amazon	
  
CloudWatch	
  
Use	
  metrics	
  gathered	
  by	
  CloudWatch	
  to	
  drive	
  
scaling.	
  
Instance	
  types	
   Run	
  Auto	
  Scaling	
  for	
  on-­‐demand	
  and	
  Spot	
  
Instances.	
  CompaDble	
  with	
  VPC.	
  
aws autoscaling create-auto-scaling-group
--auto-scaling-group-name MyGroup
--launch-configuration-name MyConfig
--min-size 4
--max-size 200
--availability-zones us-west-2c, us-west-2b
Auto Scaling Trigger auto-scaling policy
Amazon
CloudWatch
Decompose into small,
loosely coupled, stateless
building blocks
Prerequisite
What does this mean in practice?
•  Only store transient data on local disk
•  Needs to persist beyond a single http request?
–  Then store it elsewhere
User uploads
User Sessions
Amazon S3
AWS DynamoDB
Application Data
Amazon RDS
Having decomposed into
small, loosely coupled,
stateless building blocks
You can now Scale out with ease
Having	
  done	
  that…	
  
Having decomposed into
small, loosely coupled,
stateless building blocks
We can also Scale back with ease
Having	
  done	
  that…	
  
Take the shortcut
•  While this architecture is simple you still need
to deal with:
–  Configuration details
–  Deploying code to multiple instances
–  Maintaining multiple environments (Dev, Test, Prod)
–  Maintain different versions of the application
•  Solution: Use AWS Elastic Beanstalk
AWS Elastic Beanstalk (EB)
•  Easily deploy, monitor, and scale three-tier web
applications and services.
•  Infrastructure provisioned and managed by EB
•  You maintain control.
•  Preconfigured application containers
•  Easily customizable.
•  Support for these platforms:
Loose coupling with SQS
Tight	
  coupling	
  
•  Place	
  tasks	
  into	
  Amazon	
  Simple	
  Queue	
  Service	
  (SQS)	
  
•  SQS	
  –	
  buffer	
  that	
  protects	
  backend	
  systems	
  
•  Process	
  asynchronously	
  -­‐	
  at	
  own	
  pace	
  
•  Remove	
  delay	
  from	
  latency	
  sensiDve	
  paths	
  
SQS
Get
Message
Back
End EC2
Instance
Put
Message
Front
End EC2
Instance
Day 5 – Add more features
Mobile
Push
Notifications
Mobile
Analytics
Cognito
Cognito
Sync
Analytics
Kinesis
Data
Pipeline
RedShift EMR
Your Applications
AWS Global Infrastructure
Network
VPC
Direct
Connect
Route 53
Storage
EBS S3 Glacier CloudFront
Database
DynamoDBRDS ElastiCache
Deployment & Management
Elastic
Beanstalk
OpsWorks
Cloud
Formation
Code
Deploy
Code
Pipeline
Code
Commit
Security & Administration
CloudWatch Config
Cloud
Trail
IAM Directory KMS
Application
SQS SWF
App
Stream
Elastic
Transcoder
SES
Cloud
Search
SNS
Enterprise Applications
WorkSpaces WorkMail WorkDocs
Compute
EC2 ELB
Auto
Scaling
LambdaECS
AWS building blocks
Inherently Scalable & Highly Available Scalable & Highly Available
!  Elastic Load Balancing
!  Amazon CloudFront
!  Amazon Route53
!  Amazon S3
!  Amazon SQS
!  Amazon SES
!  Amazon CloudSearch
!  AWS Lambda
!  …
!  Amazon DynamoDB
!  Amazon Redshift
!  Amazon RDS
!  Amazon Elasticache
!  …
"  Amazon EC2
"  Amazon VPC
Automated Configurable With the right architecture
Stay focused as you scale your team
AWS	
  
Cloud-­‐Based	
  
Infrastructure	
  
Your	
  
Business	
  
More	
  Time	
  to	
  Focus	
  on	
  
Your	
  Business	
  
Configuring	
  Your	
  
Cloud	
  Assets	
  
70%	
  
30%	
  70%	
  
On-­‐Premise	
  
Infrastructure	
  
30%	
  
Managing	
  All	
  of	
  the	
  	
  
“UndifferenDated	
  Heavy	
  Li[ing”	
  
Day 6 – Growing fast
Scaling Relational DBs
•  Increase RDS instance specs
–  Larger instance type
–  More storage / more PIOPS
•  Read Replicas (Master – Slave)
–  Scale out beyond capacity of single DB instance
–  Available in Amazon RDS for MySQL, PostgreSQL and Amazon Aurora
–  Writes => master
–  Replication lag
–  Reads with tolerance to stale data => read replica (slave)
–  Reads with strong consistency requirements => master
Scaling the DB
Web
server
Web
server
Web
server
Web
server
Availability Zone a
RDS DB
instance
ElastiCache
node 1 
Availability Zone b
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
RDS DB
standby 
ElastiCache
node 2
Scaling the DB
Web
server
Web
server
Web
server
Web
server
Availability Zone a
RDS DB
instance
ElastiCache
node 1 
Availability Zone b
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
RDS DB
standby 
ElastiCache
node 2 
RDS read
replica
Scaling the DB
Web
server
Web
server
Web
server
Web
server
Availability Zone a
RDS DB
instance
ElastiCache
node 1 
Availability Zone b
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
RDS DB
standby 
ElastiCache
node 2 
RDS read
replica
RDS read
replica
What if your app is write-heavy?
Challenge: You will eventually hit the write throughput or
storage limit of the master node
Solutions:
•  Federation (splitting into multiple DBs based on function)
•  Sharding (splitting one data set across multiple hosts)
Database federation
•  Divide tables into smaller
autonomous databases
•  Harder to do cross-function
queries
•  Won’t help with single huge
functions/tables
Forums DB
Users DB
Products
DB
Sharded horizontal scaling
•  Store subset of rows into
each database shard
•  More complex at the
application layer
•  No practical limit on
scalability
•  Operation complexity
User ShardID
002345 A
002346 B
002347 C
002348 B
002349 A
Shard C
Shard B
Shard A
NoSQL data stores
•  Trade query & integrity features of Relational DBs for
–  More flexible data model
–  Horizontal scalability & predictable performance
DynamoDB
Provisioned read/write performance per table
Massive and Seamless Scale
•  Distributed system that can scale both reads and writes
–  Sharding + Replicas
•  Automatic partitioning:
–  Data set size growth
–  Provisioned capacity increases table
Summary
Amazon Route 53
DNS service
No limit
Availability Zone a
RDS DB
instance
ElastiCache
node 2 
Availability Zone b
S3 bucket for
static assets
www.example.com
Elastic Load
Balancing
RDS DB
standby 
ElastiCache
node 3
RDS read
replica
RDS read
replica
DynamoDB
RDS read
replica
ElastiCache
node 4
RDS read
replica
ElastiCache
node 1 
CloudSearch
Lambda
SES
 SQS
A quick review
•  Keep it simple and stateless
•  Make use of managed self-scaling services
•  Multi-AZ and AutoScale your EC2 infrastructure
•  Use the right DB for each workload
•  Cache data at multiple levels
•  Simplify operations with deployment tools
Next steps?
READ!
•  aws.amazon.com/documentation
•  aws.amazon.com/architecture
•  aws.amazon.com/start-ups
ASK FOR HELP!
•  forums.aws.amazon.com
•  aws.amazon.com/support
Performance testing @ JUST EAT
(Or: DoS yourself every night in production to prove you can take it)
@justeat_tech + @petemounce
http://tech.just-eat.com
Please wait while I start
my DoS attack...
(Demo - start fake load, show dashboards)
@justeat_tech + @petemounce
http://tech.just-eat.com
The problem with performance
tests & continuous delivery
●  Don’t want to sacrifice continuous delivery & decoupled
teams
●  Don’t want performance to suffer
All the usual problems:
●  Bottleneck through single environment
●  Individual tests take too long
@justeat_tech + @petemounce
http://tech.just-eat.com
Why?
Continuously test
●  performance
●  capacity
If we find a problem Thursday night:
1.  don’t run fake load over the weekend
2.  enjoy weekend as normal
3.  fix it next week with leisure
@justeat_tech + @petemounce
http://tech.just-eat.com
Gamble!
OH: “We deploy tens of small changes a day. I bet we
won’t break production...”
OH: “Let’s just do it in production with fake traffic at the
same time as customers!”
@justeat_tech + @petemounce
http://tech.just-eat.com
Not that much of a
gamble, really
We have tight feedback loops at this point.
Engineers being on call
... highly invested in not regressing performance.
@justeat_tech + @petemounce
http://tech.just-eat.com
How?
Pick scenarios we care about
Pick data variations to exercise
Add header(s) to discriminate fake load vs customer load
Run it every night during peak time
If no alerts fire, we’re good
@justeat_tech + @petemounce
http://tech.just-eat.com
What did we gain?
Continuous confidence in capacity
@justeat_tech + @petemounce
http://tech.just-eat.com
What did we gain?
Continuous confidence in dealing with spikes
@justeat_tech + @petemounce
http://tech.just-eat.com
What did we gain?
Performance as a 1st-class concern
@justeat_tech + @petemounce
http://tech.just-eat.com
What did we gain?
Tests become independent of environments’ data
@justeat_tech + @petemounce
http://tech.just-eat.com
(Remind me to stop my
DoS attack now)
(Demo - stop fake load, show dashboards)
@justeat_tech + @petemounce
http://tech.just-eat.com
@justeat_tech + @petemounce
http://tech.just-eat.com
Yes, we’re recruiting too.
http://tech.just-eat.com/jobs

Contenu connexe

Tendances

What's New in Amazon RDS for Open Source and Commercial Databases
What's New in Amazon RDS for Open Source and Commercial DatabasesWhat's New in Amazon RDS for Open Source and Commercial Databases
What's New in Amazon RDS for Open Source and Commercial DatabasesAmazon Web Services
 
Introduction to Block and File storage on AWS
Introduction to Block and File storage on AWSIntroduction to Block and File storage on AWS
Introduction to Block and File storage on AWSAmazon Web Services
 
Amazon RDS for Microsoft SQL: Performance, Security, Best Practices (DAT303) ...
Amazon RDS for Microsoft SQL: Performance, Security, Best Practices (DAT303) ...Amazon RDS for Microsoft SQL: Performance, Security, Best Practices (DAT303) ...
Amazon RDS for Microsoft SQL: Performance, Security, Best Practices (DAT303) ...Amazon Web Services
 
AWS Webcast - Migrating to RDS Oracle
AWS Webcast - Migrating to RDS OracleAWS Webcast - Migrating to RDS Oracle
AWS Webcast - Migrating to RDS OracleAmazon Web Services
 
Advanced data migration techniques for Amazon RDS
Advanced data migration techniques for Amazon RDSAdvanced data migration techniques for Amazon RDS
Advanced data migration techniques for Amazon RDSTom Laszewski
 
Dean Bryen: Scaling The Platform For Your Startup
Dean Bryen: Scaling The Platform For Your StartupDean Bryen: Scaling The Platform For Your Startup
Dean Bryen: Scaling The Platform For Your Startuphuguk
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWS Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWS Tom Laszewski
 
Deep Dive into Amazon ElastiCache Architecture and Design Patterns (DAT307) |...
Deep Dive into Amazon ElastiCache Architecture and Design Patterns (DAT307) |...Deep Dive into Amazon ElastiCache Architecture and Design Patterns (DAT307) |...
Deep Dive into Amazon ElastiCache Architecture and Design Patterns (DAT307) |...Amazon Web Services
 
(DAT303) Oracle on AWS and Amazon RDS: Secure, Fast, and Scalable
(DAT303) Oracle on AWS and Amazon RDS: Secure, Fast, and Scalable(DAT303) Oracle on AWS and Amazon RDS: Secure, Fast, and Scalable
(DAT303) Oracle on AWS and Amazon RDS: Secure, Fast, and ScalableAmazon Web Services
 
(SOV202) Choosing Among AWS Managed Database Services | AWS re:Invent 2014
(SOV202) Choosing Among AWS Managed Database Services | AWS re:Invent 2014(SOV202) Choosing Among AWS Managed Database Services | AWS re:Invent 2014
(SOV202) Choosing Among AWS Managed Database Services | AWS re:Invent 2014Amazon Web Services
 
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...Kamalesh Ramasamy
 
(DAT204) NoSQL? No Worries: Build Scalable Apps on AWS NoSQL Services
(DAT204) NoSQL? No Worries: Build Scalable Apps on AWS NoSQL Services(DAT204) NoSQL? No Worries: Build Scalable Apps on AWS NoSQL Services
(DAT204) NoSQL? No Worries: Build Scalable Apps on AWS NoSQL ServicesAmazon Web Services
 
Cloud Architecture best practices
Cloud Architecture best practicesCloud Architecture best practices
Cloud Architecture best practicesOmid Vahdaty
 
BDA 302 Deep Dive on Migrating Big Data Workloads to Amazon EMR
BDA 302 Deep Dive on Migrating Big Data Workloads to Amazon EMRBDA 302 Deep Dive on Migrating Big Data Workloads to Amazon EMR
BDA 302 Deep Dive on Migrating Big Data Workloads to Amazon EMRAmazon Web Services
 
AWS Webcast - Amazon RDS for Oracle: Best Practices and Migration
AWS Webcast - Amazon RDS for Oracle: Best Practices and Migration  AWS Webcast - Amazon RDS for Oracle: Best Practices and Migration
AWS Webcast - Amazon RDS for Oracle: Best Practices and Migration Amazon Web Services
 
Design, Deploy, and Optimize Microsoft SQL Server on AWS - WIN306 - re:Invent...
Design, Deploy, and Optimize Microsoft SQL Server on AWS - WIN306 - re:Invent...Design, Deploy, and Optimize Microsoft SQL Server on AWS - WIN306 - re:Invent...
Design, Deploy, and Optimize Microsoft SQL Server on AWS - WIN306 - re:Invent...Amazon Web Services
 
Best Practices for running the Oracle Database on EC2 webinar
Best Practices for running the Oracle Database on EC2 webinarBest Practices for running the Oracle Database on EC2 webinar
Best Practices for running the Oracle Database on EC2 webinarTom Laszewski
 
WIN301-Migrating Microsoft SQL Server Databases to AWS-Best Practices and Pat...
WIN301-Migrating Microsoft SQL Server Databases to AWS-Best Practices and Pat...WIN301-Migrating Microsoft SQL Server Databases to AWS-Best Practices and Pat...
WIN301-Migrating Microsoft SQL Server Databases to AWS-Best Practices and Pat...Amazon Web Services
 

Tendances (20)

What's New in Amazon RDS for Open Source and Commercial Databases
What's New in Amazon RDS for Open Source and Commercial DatabasesWhat's New in Amazon RDS for Open Source and Commercial Databases
What's New in Amazon RDS for Open Source and Commercial Databases
 
Introduction to Block and File storage on AWS
Introduction to Block and File storage on AWSIntroduction to Block and File storage on AWS
Introduction to Block and File storage on AWS
 
Amazon RDS for Microsoft SQL: Performance, Security, Best Practices (DAT303) ...
Amazon RDS for Microsoft SQL: Performance, Security, Best Practices (DAT303) ...Amazon RDS for Microsoft SQL: Performance, Security, Best Practices (DAT303) ...
Amazon RDS for Microsoft SQL: Performance, Security, Best Practices (DAT303) ...
 
AWS Webcast - Migrating to RDS Oracle
AWS Webcast - Migrating to RDS OracleAWS Webcast - Migrating to RDS Oracle
AWS Webcast - Migrating to RDS Oracle
 
Advanced data migration techniques for Amazon RDS
Advanced data migration techniques for Amazon RDSAdvanced data migration techniques for Amazon RDS
Advanced data migration techniques for Amazon RDS
 
Dean Bryen: Scaling The Platform For Your Startup
Dean Bryen: Scaling The Platform For Your StartupDean Bryen: Scaling The Platform For Your Startup
Dean Bryen: Scaling The Platform For Your Startup
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWS Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWS
 
Intro to AWS: Database Services
Intro to AWS: Database ServicesIntro to AWS: Database Services
Intro to AWS: Database Services
 
Deep Dive into Amazon ElastiCache Architecture and Design Patterns (DAT307) |...
Deep Dive into Amazon ElastiCache Architecture and Design Patterns (DAT307) |...Deep Dive into Amazon ElastiCache Architecture and Design Patterns (DAT307) |...
Deep Dive into Amazon ElastiCache Architecture and Design Patterns (DAT307) |...
 
AWS Black Belt Tips
AWS Black Belt TipsAWS Black Belt Tips
AWS Black Belt Tips
 
(DAT303) Oracle on AWS and Amazon RDS: Secure, Fast, and Scalable
(DAT303) Oracle on AWS and Amazon RDS: Secure, Fast, and Scalable(DAT303) Oracle on AWS and Amazon RDS: Secure, Fast, and Scalable
(DAT303) Oracle on AWS and Amazon RDS: Secure, Fast, and Scalable
 
(SOV202) Choosing Among AWS Managed Database Services | AWS re:Invent 2014
(SOV202) Choosing Among AWS Managed Database Services | AWS re:Invent 2014(SOV202) Choosing Among AWS Managed Database Services | AWS re:Invent 2014
(SOV202) Choosing Among AWS Managed Database Services | AWS re:Invent 2014
 
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
 
(DAT204) NoSQL? No Worries: Build Scalable Apps on AWS NoSQL Services
(DAT204) NoSQL? No Worries: Build Scalable Apps on AWS NoSQL Services(DAT204) NoSQL? No Worries: Build Scalable Apps on AWS NoSQL Services
(DAT204) NoSQL? No Worries: Build Scalable Apps on AWS NoSQL Services
 
Cloud Architecture best practices
Cloud Architecture best practicesCloud Architecture best practices
Cloud Architecture best practices
 
BDA 302 Deep Dive on Migrating Big Data Workloads to Amazon EMR
BDA 302 Deep Dive on Migrating Big Data Workloads to Amazon EMRBDA 302 Deep Dive on Migrating Big Data Workloads to Amazon EMR
BDA 302 Deep Dive on Migrating Big Data Workloads to Amazon EMR
 
AWS Webcast - Amazon RDS for Oracle: Best Practices and Migration
AWS Webcast - Amazon RDS for Oracle: Best Practices and Migration  AWS Webcast - Amazon RDS for Oracle: Best Practices and Migration
AWS Webcast - Amazon RDS for Oracle: Best Practices and Migration
 
Design, Deploy, and Optimize Microsoft SQL Server on AWS - WIN306 - re:Invent...
Design, Deploy, and Optimize Microsoft SQL Server on AWS - WIN306 - re:Invent...Design, Deploy, and Optimize Microsoft SQL Server on AWS - WIN306 - re:Invent...
Design, Deploy, and Optimize Microsoft SQL Server on AWS - WIN306 - re:Invent...
 
Best Practices for running the Oracle Database on EC2 webinar
Best Practices for running the Oracle Database on EC2 webinarBest Practices for running the Oracle Database on EC2 webinar
Best Practices for running the Oracle Database on EC2 webinar
 
WIN301-Migrating Microsoft SQL Server Databases to AWS-Best Practices and Pat...
WIN301-Migrating Microsoft SQL Server Databases to AWS-Best Practices and Pat...WIN301-Migrating Microsoft SQL Server Databases to AWS-Best Practices and Pat...
WIN301-Migrating Microsoft SQL Server Databases to AWS-Best Practices and Pat...
 

En vedette

AWS Sydney Summit 2013 - Understanding your AWS Storage Options
AWS Sydney Summit 2013 - Understanding your AWS Storage OptionsAWS Sydney Summit 2013 - Understanding your AWS Storage Options
AWS Sydney Summit 2013 - Understanding your AWS Storage OptionsAmazon Web Services
 
Scalable Database Options on AWS
Scalable Database Options on AWSScalable Database Options on AWS
Scalable Database Options on AWSAmazon Web Services
 
Relational Databases Redefined with AWS
Relational Databases Redefined with AWSRelational Databases Redefined with AWS
Relational Databases Redefined with AWSAmazon Web Services
 
Amazon Web Services Customer Case Study, 9flats.com
Amazon Web Services Customer Case Study, 9flats.comAmazon Web Services Customer Case Study, 9flats.com
Amazon Web Services Customer Case Study, 9flats.comAmazon Web Services
 
AWS Summit Auckland 2014 | Understanding AWS Security
AWS Summit Auckland 2014 | Understanding AWS Security AWS Summit Auckland 2014 | Understanding AWS Security
AWS Summit Auckland 2014 | Understanding AWS Security Amazon Web Services
 
REA Sydney Customer Appreciation Day
REA Sydney Customer Appreciation DayREA Sydney Customer Appreciation Day
REA Sydney Customer Appreciation DayAmazon Web Services
 
Enterprise Management for the AWS Cloud (DMG209) | AWS re:Invent 2013
Enterprise Management for the AWS Cloud (DMG209) | AWS re:Invent 2013Enterprise Management for the AWS Cloud (DMG209) | AWS re:Invent 2013
Enterprise Management for the AWS Cloud (DMG209) | AWS re:Invent 2013Amazon Web Services
 
AWS for Start-ups - Case Study - Go Squared
AWS for Start-ups - Case Study - Go SquaredAWS for Start-ups - Case Study - Go Squared
AWS for Start-ups - Case Study - Go SquaredAmazon Web Services
 
AWS Webcast - Launch & Learn: Amazon EC2 for Microsoft Windows Server
AWS Webcast - Launch & Learn: Amazon EC2 for Microsoft Windows ServerAWS Webcast - Launch & Learn: Amazon EC2 for Microsoft Windows Server
AWS Webcast - Launch & Learn: Amazon EC2 for Microsoft Windows ServerAmazon Web Services
 
AWS Customer Presentation: Centrastage - AWS Summit 2012 - London Customer Ta...
AWS Customer Presentation: Centrastage - AWS Summit 2012 - London Customer Ta...AWS Customer Presentation: Centrastage - AWS Summit 2012 - London Customer Ta...
AWS Customer Presentation: Centrastage - AWS Summit 2012 - London Customer Ta...Amazon Web Services
 
AWS Customer Presentation - ORbyte
AWS Customer Presentation - ORbyteAWS Customer Presentation - ORbyte
AWS Customer Presentation - ORbyteAmazon Web Services
 
Un backend: pour tous vos objets connectés
Un backend: pour tous vos objets connectésUn backend: pour tous vos objets connectés
Un backend: pour tous vos objets connectésAmazon Web Services
 
Accelerate Go-To-Market Speed in a CI/CD Environment
Accelerate Go-To-Market Speed in a CI/CD EnvironmentAccelerate Go-To-Market Speed in a CI/CD Environment
Accelerate Go-To-Market Speed in a CI/CD EnvironmentAmazon Web Services
 
Enterprise Empowerment & Innovation
Enterprise Empowerment & InnovationEnterprise Empowerment & Innovation
Enterprise Empowerment & InnovationAmazon Web Services
 
AWS Summit 2013 | Singapore - Delivering Search for Today's Local, Social, an...
AWS Summit 2013 | Singapore - Delivering Search for Today's Local, Social, an...AWS Summit 2013 | Singapore - Delivering Search for Today's Local, Social, an...
AWS Summit 2013 | Singapore - Delivering Search for Today's Local, Social, an...Amazon Web Services
 
BDT305 Transforming Big Data with Spark and Shark - AWS re: Invent 2012
BDT305 Transforming Big Data with Spark and Shark - AWS re: Invent 2012BDT305 Transforming Big Data with Spark and Shark - AWS re: Invent 2012
BDT305 Transforming Big Data with Spark and Shark - AWS re: Invent 2012Amazon Web Services
 
SVC105 AWS Messaging - AWS re: Invent 2012
SVC105 AWS Messaging - AWS re: Invent 2012SVC105 AWS Messaging - AWS re: Invent 2012
SVC105 AWS Messaging - AWS re: Invent 2012Amazon Web Services
 
The Value of Certified AWS Experts to Your Business
The Value of Certified AWS Experts to Your BusinessThe Value of Certified AWS Experts to Your Business
The Value of Certified AWS Experts to Your BusinessAmazon Web Services
 

En vedette (20)

AWS Sydney Summit 2013 - Understanding your AWS Storage Options
AWS Sydney Summit 2013 - Understanding your AWS Storage OptionsAWS Sydney Summit 2013 - Understanding your AWS Storage Options
AWS Sydney Summit 2013 - Understanding your AWS Storage Options
 
Scalable Database Options on AWS
Scalable Database Options on AWSScalable Database Options on AWS
Scalable Database Options on AWS
 
Relational Databases Redefined with AWS
Relational Databases Redefined with AWSRelational Databases Redefined with AWS
Relational Databases Redefined with AWS
 
Amazon Web Services Customer Case Study, 9flats.com
Amazon Web Services Customer Case Study, 9flats.comAmazon Web Services Customer Case Study, 9flats.com
Amazon Web Services Customer Case Study, 9flats.com
 
AWS Summit Auckland 2014 | Understanding AWS Security
AWS Summit Auckland 2014 | Understanding AWS Security AWS Summit Auckland 2014 | Understanding AWS Security
AWS Summit Auckland 2014 | Understanding AWS Security
 
Stg205 amazon s3
Stg205 amazon s3Stg205 amazon s3
Stg205 amazon s3
 
REA Sydney Customer Appreciation Day
REA Sydney Customer Appreciation DayREA Sydney Customer Appreciation Day
REA Sydney Customer Appreciation Day
 
Enterprise Management for the AWS Cloud (DMG209) | AWS re:Invent 2013
Enterprise Management for the AWS Cloud (DMG209) | AWS re:Invent 2013Enterprise Management for the AWS Cloud (DMG209) | AWS re:Invent 2013
Enterprise Management for the AWS Cloud (DMG209) | AWS re:Invent 2013
 
AWS for Start-ups - Case Study - Go Squared
AWS for Start-ups - Case Study - Go SquaredAWS for Start-ups - Case Study - Go Squared
AWS for Start-ups - Case Study - Go Squared
 
AWS Webcast - Launch & Learn: Amazon EC2 for Microsoft Windows Server
AWS Webcast - Launch & Learn: Amazon EC2 for Microsoft Windows ServerAWS Webcast - Launch & Learn: Amazon EC2 for Microsoft Windows Server
AWS Webcast - Launch & Learn: Amazon EC2 for Microsoft Windows Server
 
AWS Customer Presentation: Centrastage - AWS Summit 2012 - London Customer Ta...
AWS Customer Presentation: Centrastage - AWS Summit 2012 - London Customer Ta...AWS Customer Presentation: Centrastage - AWS Summit 2012 - London Customer Ta...
AWS Customer Presentation: Centrastage - AWS Summit 2012 - London Customer Ta...
 
AWS Customer Presentation - ORbyte
AWS Customer Presentation - ORbyteAWS Customer Presentation - ORbyte
AWS Customer Presentation - ORbyte
 
Un backend: pour tous vos objets connectés
Un backend: pour tous vos objets connectésUn backend: pour tous vos objets connectés
Un backend: pour tous vos objets connectés
 
Accelerate Go-To-Market Speed in a CI/CD Environment
Accelerate Go-To-Market Speed in a CI/CD EnvironmentAccelerate Go-To-Market Speed in a CI/CD Environment
Accelerate Go-To-Market Speed in a CI/CD Environment
 
Enterprise Empowerment & Innovation
Enterprise Empowerment & InnovationEnterprise Empowerment & Innovation
Enterprise Empowerment & Innovation
 
AWS Summit 2013 | Singapore - Delivering Search for Today's Local, Social, an...
AWS Summit 2013 | Singapore - Delivering Search for Today's Local, Social, an...AWS Summit 2013 | Singapore - Delivering Search for Today's Local, Social, an...
AWS Summit 2013 | Singapore - Delivering Search for Today's Local, Social, an...
 
Creating a Virtual Data Center
Creating a Virtual Data CenterCreating a Virtual Data Center
Creating a Virtual Data Center
 
BDT305 Transforming Big Data with Spark and Shark - AWS re: Invent 2012
BDT305 Transforming Big Data with Spark and Shark - AWS re: Invent 2012BDT305 Transforming Big Data with Spark and Shark - AWS re: Invent 2012
BDT305 Transforming Big Data with Spark and Shark - AWS re: Invent 2012
 
SVC105 AWS Messaging - AWS re: Invent 2012
SVC105 AWS Messaging - AWS re: Invent 2012SVC105 AWS Messaging - AWS re: Invent 2012
SVC105 AWS Messaging - AWS re: Invent 2012
 
The Value of Certified AWS Experts to Your Business
The Value of Certified AWS Experts to Your BusinessThe Value of Certified AWS Experts to Your Business
The Value of Certified AWS Experts to Your Business
 

Similaire à Scaling the Platform for Your Startup

Scaling the Platform for Your Startup - Startup Talks June 2015
Scaling the Platform for Your Startup - Startup Talks June 2015Scaling the Platform for Your Startup - Startup Talks June 2015
Scaling the Platform for Your Startup - Startup Talks June 2015Amazon Web Services
 
Ceate a Scalable Cloud Architecture
Ceate a Scalable Cloud ArchitectureCeate a Scalable Cloud Architecture
Ceate a Scalable Cloud ArchitectureAmazon Web Services
 
How to Scale to Millions of Users with AWS
How to Scale to Millions of Users with AWSHow to Scale to Millions of Users with AWS
How to Scale to Millions of Users with AWSAmazon Web Services
 
Scaling the Platform for Your Startup
Scaling the Platform for Your StartupScaling the Platform for Your Startup
Scaling the Platform for Your StartupAmazon Web Services
 
ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...
ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...
ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...Amazon Web Services
 
Building and Managing Scalable Applications on AWS: 1 to 500K users
Building and Managing Scalable Applications on AWS: 1 to 500K usersBuilding and Managing Scalable Applications on AWS: 1 to 500K users
Building and Managing Scalable Applications on AWS: 1 to 500K usersAmazon Web Services
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersAmazon Web Services
 
AWS Summit Stockholm 2014 – T1 – Architecting highly available applications o...
AWS Summit Stockholm 2014 – T1 – Architecting highly available applications o...AWS Summit Stockholm 2014 – T1 – Architecting highly available applications o...
AWS Summit Stockholm 2014 – T1 – Architecting highly available applications o...Amazon Web Services
 
Migrating Your Databases to AWS Deep Dive on Amazon RDS and AWS
Migrating Your Databases to AWS Deep Dive on Amazon RDS and AWSMigrating Your Databases to AWS Deep Dive on Amazon RDS and AWS
Migrating Your Databases to AWS Deep Dive on Amazon RDS and AWSKristana Kane
 
Aplicaciones a gran escala: Cómo servir a millones de usuarios
Aplicaciones a gran escala: Cómo servir a millones de usuariosAplicaciones a gran escala: Cómo servir a millones de usuarios
Aplicaciones a gran escala: Cómo servir a millones de usuariosAmazon Web Services
 
Aws webcast - Scaling on AWS 13 08-20
Aws webcast - Scaling on AWS 13 08-20Aws webcast - Scaling on AWS 13 08-20
Aws webcast - Scaling on AWS 13 08-20Amazon Web Services
 
Scaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinScaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinAmazon Web Services
 
Scaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinScaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinIan Massingham
 
Scaling up to your first 10 million users - Pop-up Loft Tel Aviv
Scaling up to your first 10 million users - Pop-up Loft Tel AvivScaling up to your first 10 million users - Pop-up Loft Tel Aviv
Scaling up to your first 10 million users - Pop-up Loft Tel AvivAmazon Web Services
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersAmazon 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
 
Using Amazon RDS to Power Enterprise Applications (DAT202) | AWS re:Invent 2013
Using Amazon RDS to Power Enterprise Applications (DAT202) | AWS re:Invent 2013Using Amazon RDS to Power Enterprise Applications (DAT202) | AWS re:Invent 2013
Using Amazon RDS to Power Enterprise Applications (DAT202) | AWS re:Invent 2013Amazon Web Services
 
AWS Summit Auckland 2014 | Scaling on AWS for the First 10 Million Users
 AWS Summit Auckland 2014 | Scaling on AWS for the First 10 Million Users AWS Summit Auckland 2014 | Scaling on AWS for the First 10 Million Users
AWS Summit Auckland 2014 | Scaling on AWS for the First 10 Million UsersAmazon Web Services
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users Amazon Web Services
 

Similaire à Scaling the Platform for Your Startup (20)

Scaling the Platform for Your Startup - Startup Talks June 2015
Scaling the Platform for Your Startup - Startup Talks June 2015Scaling the Platform for Your Startup - Startup Talks June 2015
Scaling the Platform for Your Startup - Startup Talks June 2015
 
Ceate a Scalable Cloud Architecture
Ceate a Scalable Cloud ArchitectureCeate a Scalable Cloud Architecture
Ceate a Scalable Cloud Architecture
 
How to Scale to Millions of Users with AWS
How to Scale to Millions of Users with AWSHow to Scale to Millions of Users with AWS
How to Scale to Millions of Users with AWS
 
Create cloud service on AWS
Create cloud service on AWSCreate cloud service on AWS
Create cloud service on AWS
 
Scaling the Platform for Your Startup
Scaling the Platform for Your StartupScaling the Platform for Your Startup
Scaling the Platform for Your Startup
 
ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...
ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...
ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...
 
Building and Managing Scalable Applications on AWS: 1 to 500K users
Building and Managing Scalable Applications on AWS: 1 to 500K usersBuilding and Managing Scalable Applications on AWS: 1 to 500K users
Building and Managing Scalable Applications on AWS: 1 to 500K users
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
 
AWS Summit Stockholm 2014 – T1 – Architecting highly available applications o...
AWS Summit Stockholm 2014 – T1 – Architecting highly available applications o...AWS Summit Stockholm 2014 – T1 – Architecting highly available applications o...
AWS Summit Stockholm 2014 – T1 – Architecting highly available applications o...
 
Migrating Your Databases to AWS Deep Dive on Amazon RDS and AWS
Migrating Your Databases to AWS Deep Dive on Amazon RDS and AWSMigrating Your Databases to AWS Deep Dive on Amazon RDS and AWS
Migrating Your Databases to AWS Deep Dive on Amazon RDS and AWS
 
Aplicaciones a gran escala: Cómo servir a millones de usuarios
Aplicaciones a gran escala: Cómo servir a millones de usuariosAplicaciones a gran escala: Cómo servir a millones de usuarios
Aplicaciones a gran escala: Cómo servir a millones de usuarios
 
Aws webcast - Scaling on AWS 13 08-20
Aws webcast - Scaling on AWS 13 08-20Aws webcast - Scaling on AWS 13 08-20
Aws webcast - Scaling on AWS 13 08-20
 
Scaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinScaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit Dublin
 
Scaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinScaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit Dublin
 
Scaling up to your first 10 million users - Pop-up Loft Tel Aviv
Scaling up to your first 10 million users - Pop-up Loft Tel AvivScaling up to your first 10 million users - Pop-up Loft Tel Aviv
Scaling up to your first 10 million users - Pop-up Loft Tel Aviv
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
 
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
 
Using Amazon RDS to Power Enterprise Applications (DAT202) | AWS re:Invent 2013
Using Amazon RDS to Power Enterprise Applications (DAT202) | AWS re:Invent 2013Using Amazon RDS to Power Enterprise Applications (DAT202) | AWS re:Invent 2013
Using Amazon RDS to Power Enterprise Applications (DAT202) | AWS re:Invent 2013
 
AWS Summit Auckland 2014 | Scaling on AWS for the First 10 Million Users
 AWS Summit Auckland 2014 | Scaling on AWS for the First 10 Million Users AWS Summit Auckland 2014 | Scaling on AWS for the First 10 Million Users
AWS Summit Auckland 2014 | Scaling on AWS for the First 10 Million Users
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
 

Plus de 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
 

Plus de 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
 

Dernier

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 

Dernier (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 

Scaling the Platform for Your Startup

  • 1. Scaling the Platform for your Startup Andreas Chatzakis, AWS Solutions Architecture Peter Mounce, Senior Software Developer at JUST EAT 15th April 2015, AWS London Summit
  • 2. Why are you here? •  Building the technology platform for your startup •  You want to prepare for success •  Learn about design patterns & scalability •  A pragmatic approach for startups
  • 3. Priorities for startups •  Racing within a window of opportunity •  Small team with no legacy •  Focus on solving a problem •  Avoid over-engineering & re-engineering •  Reduce risk of failure when you go viral
  • 4. A scalable architecture •  Can support growth in users, traffic, data size •  Without practical limits •  Without a drop in performance •  Seamlessly - just by adding more resources •  Efficiently - in terms of cost per user
  • 5. Day 1 – Dev & private beta
  • 6. Single host THE server (e.g. Apache, MySQL) Elastic IP www.example.com Amazon Route 53 DNS service Server Image (AMI)
  • 7. Day 2 - Public beta
  • 8. We need a bigger server •  Add larger & faster storage (EBS) •  Use the right instance type •  Easy to change instance sizes •  Not our long term strategy •  Will hit an endpoint eventually •  No fault tolerance
  • 9. Separating web and DB •  More capacity •  Scale each tier individually •  Tailor instance for each tier –  Instance type –  Storage •  Security –  Security groups –  DB in a private VPC subnet
  • 10. But how do I choose what DB technology I need? SQL? NoSQL?
  • 11. Why start with a Relational DB? •  SQL is versatile & feature-rich •  Lots of existing code, tools, knowledge •  Clear patterns to scalability (for read-heavy apps) •  Reality: eventually you will have a polyglot data layer –  There will be workloads where NoSQL is a better fit –  Use the right tool for each workload
  • 12. Key Insight: Relational Databases are Complex •  Our experience running Amazon.com taught us that relational databases can be a pain to manage and operate with high availability •  Poorly managed relational databases are a leading cause of lost sleep and downtime in the IT world! •  Especially for startups with small teams
  • 13. Relational Databases MySQL, Aurora, PostgreSQL, Oracle, SQL Server Fully managed; zero admin Amazon RDS Aurora
  • 15. Offload static content •  Amazon S3: highly available hosting that scales –  Static files (JavaScript, CSS, images) –  User uploads •  S3 URLs – serve directly from S3 •  Let the web server focus on dynamic content
  • 16. Amazon CloudFront •  Worldwide network of edge locations •  Cache on the edge –  Reduce latency –  Reduce load on origin servers –  Static and dynamic content –  Even few seconds caching of popular content can have huge impact •  Connection optimizations –  Optimize transfer route –  Reuse connections –  Benefits even non cachable content CloudFront
  • 17. CloudFront for static & dynamic content Amazon Route 53 EC2 instance(s) S3 bucket Static content Dynamic content css/* js/* Images/* Default(*) CloudFron t distributio n
  • 18. Database caching •  Faster response from RAM •  Reduce load on database Application server 1. If data in cache, return result 2. If not in cache, read from DB RDS database Amazon ElastiCache 3. And store in cache
  • 19. Amazon ElastiCache: in-memory cache •  Simple to Deploy •  Managed –  Automatically replaces failed nodes –  Patch management •  Elastic •  Compatible ElastiCache
  • 20. Day 3 – Paying customers
  • 21. High Availability Availability Zone a RDS DB instance Web server S3 bucket for static assets www.example.com Amazon Route 53 DNS service Amazon CloudFront ElastiCache node 1
  • 22. High Availability Availability Zone a RDS DB instance Availability Zone b Web server Web server S3 bucket for static assets www.example.com Amazon Route 53 DNS service Amazon CloudFront ElastiCache node 1
  • 23. High Availability Availability Zone a RDS DB instance Availability Zone b www.example.com Amazon Route 53 DNS service Elastic Load Balancing Web server Web server S3 bucket for static assets Amazon CloudFront ElastiCache node 1
  • 24. Elastic Load Balancing •  Managed Load Balancing Service •  Fault tolerant •  Health Checks •  Distributes traffic across AZs •  Elastic – automatically scales its capacity
  • 25. High Availability Availability Zone a RDS DB instance Availability Zone b www.example.com Amazon Route 53 DNS service Elastic Load Balancing Web server Web server S3 bucket for static assets ElastiCache node 1 Amazon CloudFront
  • 26. High Availability Availability Zone a RDS DB instance Availability Zone b www.example.com Amazon Route 53 DNS service Elastic Load Balancing Web server Web server RDS DB standby S3 bucket for static assets ElastiCache node 1 Amazon CloudFront
  • 27. Data layer HA Availability Zone a RDS DB instance ElastiCache node 1 Availability Zone b S3 bucket for static assets www.example.com Amazon Route 53 DNS service Elastic Load Balancing Web server Web server RDS DB standby
  • 28. Data layer HA Availability Zone a RDS DB instance ElastiCache node 1 Availability Zone b S3 bucket for static assets www.example.com Amazon Route 53 DNS service Elastic Load Balancing Web server Web server RDS DB standby ElastiCache node 2
  • 29. User sessions •  Problem: Often stored on local disk (not shared) •  Quickfix: ELB Session stickiness •  Solution: DynamoDB Elastic Load Balancing Web server Web server Logged in Logged out
  • 30. Amazon DynamoDB •  Managed document and key-value store •  Simple to launch and scale •  To millions of IOPS •  Both reads and writes •  Consistent, fast performance •  Durable: perfect for storage of session data https://github.com/aws/aws-dynamodb-session-tomcat http://docs.aws.amazon.com/aws-sdk-php/guide/latest/feature-dynamodb-session-handler.html
  • 31. Day 4 – Let’s go viral!
  • 32. Replace guesswork with elastic IT Startups pre-AWS Demand Unhappy Customers Waste $$$ Traditional Capacity Capacity Demand AWS Cloud
  • 33. Scaling the web tier Availability Zone a RDS DB instance ElastiCache node 1 Availability Zone b S3 bucket for static assets www.example.com Amazon Route 53 DNS service Elastic Load Balancing Web server Web server RDS DB standby ElastiCache node 2
  • 34. Scaling the web tier Availability Zone a RDS DB instance ElastiCache node 1 Availability Zone b S3 bucket for static assets www.example.com Amazon Route 53 DNS service Elastic Load Balancing Web server Web server RDS DB standby ElastiCache node 2 Web server Web server
  • 35. Scaling the web tier Availability Zone a RDS DB instance ElastiCache node 1 Availability Zone b S3 bucket for static assets www.example.com Amazon Route 53 DNS service Elastic Load Balancing Web server Web server RDS DB standby ElastiCache node 2 Web server Web server
  • 36. Automatic resizing of compute clusters based on demand Feature   Details   Control   Define  minimum  and  maximum  instance  pool   sizes  and  when  scaling  and  cool  down  occurs.   Integrated  to  Amazon   CloudWatch   Use  metrics  gathered  by  CloudWatch  to  drive   scaling.   Instance  types   Run  Auto  Scaling  for  on-­‐demand  and  Spot   Instances.  CompaDble  with  VPC.   aws autoscaling create-auto-scaling-group --auto-scaling-group-name MyGroup --launch-configuration-name MyConfig --min-size 4 --max-size 200 --availability-zones us-west-2c, us-west-2b Auto Scaling Trigger auto-scaling policy Amazon CloudWatch
  • 37.
  • 38.
  • 39. Decompose into small, loosely coupled, stateless building blocks Prerequisite
  • 40. What does this mean in practice? •  Only store transient data on local disk •  Needs to persist beyond a single http request? –  Then store it elsewhere User uploads User Sessions Amazon S3 AWS DynamoDB Application Data Amazon RDS
  • 41. Having decomposed into small, loosely coupled, stateless building blocks You can now Scale out with ease Having  done  that…  
  • 42. Having decomposed into small, loosely coupled, stateless building blocks We can also Scale back with ease Having  done  that…  
  • 43. Take the shortcut •  While this architecture is simple you still need to deal with: –  Configuration details –  Deploying code to multiple instances –  Maintaining multiple environments (Dev, Test, Prod) –  Maintain different versions of the application •  Solution: Use AWS Elastic Beanstalk
  • 44. AWS Elastic Beanstalk (EB) •  Easily deploy, monitor, and scale three-tier web applications and services. •  Infrastructure provisioned and managed by EB •  You maintain control. •  Preconfigured application containers •  Easily customizable. •  Support for these platforms:
  • 45. Loose coupling with SQS Tight  coupling   •  Place  tasks  into  Amazon  Simple  Queue  Service  (SQS)   •  SQS  –  buffer  that  protects  backend  systems   •  Process  asynchronously  -­‐  at  own  pace   •  Remove  delay  from  latency  sensiDve  paths   SQS Get Message Back End EC2 Instance Put Message Front End EC2 Instance
  • 46. Day 5 – Add more features
  • 47. Mobile Push Notifications Mobile Analytics Cognito Cognito Sync Analytics Kinesis Data Pipeline RedShift EMR Your Applications AWS Global Infrastructure Network VPC Direct Connect Route 53 Storage EBS S3 Glacier CloudFront Database DynamoDBRDS ElastiCache Deployment & Management Elastic Beanstalk OpsWorks Cloud Formation Code Deploy Code Pipeline Code Commit Security & Administration CloudWatch Config Cloud Trail IAM Directory KMS Application SQS SWF App Stream Elastic Transcoder SES Cloud Search SNS Enterprise Applications WorkSpaces WorkMail WorkDocs Compute EC2 ELB Auto Scaling LambdaECS
  • 48. AWS building blocks Inherently Scalable & Highly Available Scalable & Highly Available !  Elastic Load Balancing !  Amazon CloudFront !  Amazon Route53 !  Amazon S3 !  Amazon SQS !  Amazon SES !  Amazon CloudSearch !  AWS Lambda !  … !  Amazon DynamoDB !  Amazon Redshift !  Amazon RDS !  Amazon Elasticache !  … "  Amazon EC2 "  Amazon VPC Automated Configurable With the right architecture
  • 49. Stay focused as you scale your team AWS   Cloud-­‐Based   Infrastructure   Your   Business   More  Time  to  Focus  on   Your  Business   Configuring  Your   Cloud  Assets   70%   30%  70%   On-­‐Premise   Infrastructure   30%   Managing  All  of  the     “UndifferenDated  Heavy  Li[ing”  
  • 50. Day 6 – Growing fast
  • 51. Scaling Relational DBs •  Increase RDS instance specs –  Larger instance type –  More storage / more PIOPS •  Read Replicas (Master – Slave) –  Scale out beyond capacity of single DB instance –  Available in Amazon RDS for MySQL, PostgreSQL and Amazon Aurora –  Writes => master –  Replication lag –  Reads with tolerance to stale data => read replica (slave) –  Reads with strong consistency requirements => master
  • 52. Scaling the DB Web server Web server Web server Web server Availability Zone a RDS DB instance ElastiCache node 1 Availability Zone b S3 bucket for static assets www.example.com Amazon Route 53 DNS service Elastic Load Balancing RDS DB standby ElastiCache node 2
  • 53. Scaling the DB Web server Web server Web server Web server Availability Zone a RDS DB instance ElastiCache node 1 Availability Zone b S3 bucket for static assets www.example.com Amazon Route 53 DNS service Elastic Load Balancing RDS DB standby ElastiCache node 2 RDS read replica
  • 54. Scaling the DB Web server Web server Web server Web server Availability Zone a RDS DB instance ElastiCache node 1 Availability Zone b S3 bucket for static assets www.example.com Amazon Route 53 DNS service Elastic Load Balancing RDS DB standby ElastiCache node 2 RDS read replica RDS read replica
  • 55. What if your app is write-heavy? Challenge: You will eventually hit the write throughput or storage limit of the master node Solutions: •  Federation (splitting into multiple DBs based on function) •  Sharding (splitting one data set across multiple hosts)
  • 56. Database federation •  Divide tables into smaller autonomous databases •  Harder to do cross-function queries •  Won’t help with single huge functions/tables Forums DB Users DB Products DB
  • 57. Sharded horizontal scaling •  Store subset of rows into each database shard •  More complex at the application layer •  No practical limit on scalability •  Operation complexity User ShardID 002345 A 002346 B 002347 C 002348 B 002349 A Shard C Shard B Shard A
  • 58. NoSQL data stores •  Trade query & integrity features of Relational DBs for –  More flexible data model –  Horizontal scalability & predictable performance DynamoDB Provisioned read/write performance per table
  • 59. Massive and Seamless Scale •  Distributed system that can scale both reads and writes –  Sharding + Replicas •  Automatic partitioning: –  Data set size growth –  Provisioned capacity increases table
  • 61. Amazon Route 53 DNS service No limit Availability Zone a RDS DB instance ElastiCache node 2 Availability Zone b S3 bucket for static assets www.example.com Elastic Load Balancing RDS DB standby ElastiCache node 3 RDS read replica RDS read replica DynamoDB RDS read replica ElastiCache node 4 RDS read replica ElastiCache node 1 CloudSearch Lambda SES SQS
  • 62. A quick review •  Keep it simple and stateless •  Make use of managed self-scaling services •  Multi-AZ and AutoScale your EC2 infrastructure •  Use the right DB for each workload •  Cache data at multiple levels •  Simplify operations with deployment tools
  • 63. Next steps? READ! •  aws.amazon.com/documentation •  aws.amazon.com/architecture •  aws.amazon.com/start-ups ASK FOR HELP! •  forums.aws.amazon.com •  aws.amazon.com/support
  • 64.
  • 65. Performance testing @ JUST EAT (Or: DoS yourself every night in production to prove you can take it) @justeat_tech + @petemounce http://tech.just-eat.com
  • 66. Please wait while I start my DoS attack... (Demo - start fake load, show dashboards) @justeat_tech + @petemounce http://tech.just-eat.com
  • 67. The problem with performance tests & continuous delivery ●  Don’t want to sacrifice continuous delivery & decoupled teams ●  Don’t want performance to suffer All the usual problems: ●  Bottleneck through single environment ●  Individual tests take too long @justeat_tech + @petemounce http://tech.just-eat.com
  • 68. Why? Continuously test ●  performance ●  capacity If we find a problem Thursday night: 1.  don’t run fake load over the weekend 2.  enjoy weekend as normal 3.  fix it next week with leisure @justeat_tech + @petemounce http://tech.just-eat.com
  • 69. Gamble! OH: “We deploy tens of small changes a day. I bet we won’t break production...” OH: “Let’s just do it in production with fake traffic at the same time as customers!” @justeat_tech + @petemounce http://tech.just-eat.com
  • 70. Not that much of a gamble, really We have tight feedback loops at this point. Engineers being on call ... highly invested in not regressing performance. @justeat_tech + @petemounce http://tech.just-eat.com
  • 71. How? Pick scenarios we care about Pick data variations to exercise Add header(s) to discriminate fake load vs customer load Run it every night during peak time If no alerts fire, we’re good @justeat_tech + @petemounce http://tech.just-eat.com
  • 72. What did we gain? Continuous confidence in capacity @justeat_tech + @petemounce http://tech.just-eat.com
  • 73. What did we gain? Continuous confidence in dealing with spikes @justeat_tech + @petemounce http://tech.just-eat.com
  • 74. What did we gain? Performance as a 1st-class concern @justeat_tech + @petemounce http://tech.just-eat.com
  • 75. What did we gain? Tests become independent of environments’ data @justeat_tech + @petemounce http://tech.just-eat.com
  • 76. (Remind me to stop my DoS attack now) (Demo - stop fake load, show dashboards) @justeat_tech + @petemounce http://tech.just-eat.com
  • 77. @justeat_tech + @petemounce http://tech.just-eat.com Yes, we’re recruiting too. http://tech.just-eat.com/jobs