SlideShare a Scribd company logo
1 of 21
Download to read offline
Urturn	
  on	
  AWS	
  -­‐	
  scaling	
  infrastructure,	
  	
  
cost	
  and	
  6me	
  to	
  market	
  
confiden6al	
   3	
  
Limited	
  ways	
  to	
  express	
  
confiden6al	
   4	
  
	
  Write	
  something…	
  
	
  Write	
  something…	
  
Expressions	
  ready-­‐made	
  templates	
  
confiden6al	
   5	
  
Music	
  go-­‐to-­‐market	
  
Urturn	
  turns	
  out	
  to	
  be	
  a	
  great	
  response	
  to	
  
audience	
  engagement,	
  one	
  of	
  the	
  main	
  challenge	
  
of	
  music	
  industry	
  
-­‐>	
  Hired	
  talent	
  from	
  that	
  industry	
  
-­‐>	
  Got	
  bands	
  on	
  urturn	
  
-­‐>	
  Brought	
  their	
  fan	
  base,	
  centered	
  on	
  UK	
  &	
  US	
  
confiden6al	
   6	
  
confiden6al	
   7	
  
#DrawUnionJ	
  
confiden6al	
   8	
  
#ImatchwithUnionJ	
  
confiden6al	
   9	
  
Traffic	
  Peaks	
  
Max
Time to half: 5 min for Twitter, one hour for FB
Share on FB or Twitter
Time to max: 10 sec on Twitter, 1 min on FB
Urturn Web Back - AWSUrturn Front
Js client
Urturn reactive
Serving web pages
Rails
Storage
AWS S3
Master
Database
MySQL
Global	
  architecture	
  
iPhone app
Expressions
Apps
Urturn tasks
Computing
activities, emails
Rails
Loadbalancers
AmazonWebServices
Medias	
  
Logs, analytics,
datastores
MongoDB
Mobile site
CDN
CloudFront
Web
server
Ngnix
Web
server
Ngnix
Infrastructure @ Amazon Web Services
1 Replica
1 Slave
Urturn Web BackUrturn Front
Js client
Urturn reactive
Serving web pages
Rails + Unicorn
Database
MySQL
Global	
  architecture	
  
Google Analytics
GoSquared
Mixpannel
New Relic
iPhone app
Yahoo image,
Youtube,
SoundCloud,
Facebook, Twitter,
Instagram, ...
Mixpanel
Google
Analytics
Expressions
Apps
Urturn tasks
Computing
activities, emails
Rails + Unicorn
Loadbalancers
AmazonWebServices
Thumbs
Firefox-based
Caching
Memcached
Green=
Scales
horizontally
Internal	
  
External	
  
Front	
  
Back	
  
Medias	
  
Facebook
Logs, counts,
analytics…
MongoDB
Twitter
Mobile site
CDN
CloudFront
Web
server
Ngnix
Scout
Web
server
Ngnix
1 Slave
Indexation
Solr
Messages
Resque
Mails
PostFix
Storage
AWS S3
MySQL DB
Urturn clients
Jsclient
Zoom	
  on	
  reacEve	
  requests	
  
iPhone
Apps
Load
balancers
MongoDB
Mobilesite
CloudFront
Memcached
Ngnix
Queue
Rails
/public
Rails
Rails Rails
Caching
Browser
Manifest
Local
Storage
Urturn JS
cache
FAST SLOW -> $$$$ -> MAX USERS LIMITLOCAL
MySQL DB
Urturn clients
Jsclient
Keep	
  a	
  good	
  experience	
  during	
  Overload	
  
iPhone
Apps
Load
balancers
MongoDB
Mobilesite
CloudFront
Memcached
Ngnix
Queue
Rails
/public
Rails
Rails Rails
Caching
Browser
Manifest
Local
Storage
Urturn JS
cache
Monitor	
  overload	
  here	
  
•  Serve	
  those	
  already	
  on	
  the	
  site	
  
•  Overload	
  page	
  to	
  others	
  
FAST SLOW -> $$$$ -> MAX USERS LIMITLOCAL
MySQL
Urturn clients
Jsclient
A	
  good	
  request	
  is	
  	
  
a	
  non-­‐existant	
  request	
  
iPhone
Apps
Load
balancers
MongoDB
Mobilesite
CloudFront
Memcached
Ngnix
Queue
Rails
/public
Rails
Rails Rails
Caching
Browser
Manifest
Local
Storage
Urturn JS
cache
FAST SLOW -> $$$$ -> MAX USERS LIMITLOCAL
1	
   2	
   3	
   4	
  
MySQL
Load testing
Load	
  tesEng	
  
Load
balancers
MongoDB
Grinder in the
cloud
Load test scripts
Running on
multiple
instances
Memcached
Ngnix
Queue
Rails
/public
Rails
Rails Rails
FAST SLOW -> $$$$ -> MAX USERS LIMITLOCAL
Grinder	
  in	
  the	
  cloud	
  
•  Automa6cally	
  loads	
  the	
  
system	
  to	
  capacity	
  
•  Make	
  sure	
  all	
  pages	
  are	
  
in	
  the	
  scripts	
  
Leveraging	
  AWS	
  
Reserve	
  or	
  not?	
  Instance	
  pricing	
  
0
2000
4000
6000
8000
10000
12000
14000
16000
0 3 6 9 12 15 18 21 24 27 30 33 36
Cost(USD)
Months
On demand
1y heavy (bill anyway)
3y heavy (bill anyway)
Spot
Spot	
  instances	
  
•  AWS	
  offers	
  unused	
  capacity	
  @’spot’	
  price	
  
•  Choose	
  a	
  maximum	
  hourly	
  price,	
  get	
  it	
  at	
  the	
  market	
  price	
  
•  Loose	
  your	
  instance	
  without	
  warning	
  
•  Pinterest	
  massively	
  uses	
  spot	
  intances	
  
On-­‐demand	
  
price	
  
1 Replica
1 Slave
Urturn Web BackUrturn Front
Js client
Urturn reactive
Serving web pages
Rails + Unicorn
Database
MySQL
Google Analytics
GoSquared
Mixpannel
New Relic
iPhone app
Yahoo image,
Youtube,
SoundCloud,
Facebook, Twitter,
Instagram, ...
Mixpanel
Google
Analytics
Expressions
Apps
Urturn tasks
Computing
activities, emails
Rails + Unicorn
Loadbalancers
AmazonWebServices
Thumbs
Firefox-based
Caching
Memcached
Green=
Scales
horizontally
Internal	
  
External	
  
Front	
  
Back	
  
Medias	
  
Facebook
Logs, counts,
analytics…
MongoDB
Twitter
Mobile site
CDN
CloudFront
Web
server
Ngnix
Scout
Web
server
Ngnix
1 Slave
Indexation
Solr
Messages
Resque
Mails
PostFix
Storage
AWS S3
If	
  we	
  had	
  to	
  do	
  it	
  again…	
  
1 Replica
1 Slave
Urturn Web BackUrturn client
Js client
Urturn reactive
Serving web pages
Rails + Unicorn
Database
MySQL
Google Analytics
GoSquared
Mixpannel
New Relic
iPhone app
Yahoo image,
Youtube,
SoundCloud,
Facebook, Twitter,
Instagram, ...
Mixpanel
Google
Analytics
Expressions
Apps
Urturn tasks
Computing
activities, emails
Rails + Unicorn
Loadbalancers
AmazonWebServices
Thumbs
Firefox-based
Caching
Memcached
Green=
Scales
horizontally
Internal	
  
External	
  
Front	
  
Back	
  
Medias	
  
Facebook
Logs, counts,
analytics…
MongoDB
Twitter
Mobile site
Amazon
CloudFront
Web
server
Ngnix
Scout
Web
server
Ngnix
1 Slave
Indexation
Solr
Messages
Resque
Mails
PostFix
Amazon
S3
DynamoDB
Amazon RDS
Amazon CloudSearch
Amazon
SQS
Amazon
SES
Amazon
ElastiCache
…	
  we’d	
  consider	
  this	
  

More Related Content

What's hot

What's hot (20)

AWS EMEA Online Summit - Blending Spot and On-Demand instances to optimizing ...
AWS EMEA Online Summit - Blending Spot and On-Demand instances to optimizing ...AWS EMEA Online Summit - Blending Spot and On-Demand instances to optimizing ...
AWS EMEA Online Summit - Blending Spot and On-Demand instances to optimizing ...
 
"Migrating from Cloud to Cloud: AWS to GCP" - Chris Prouty at Shoppertrak - J...
"Migrating from Cloud to Cloud: AWS to GCP" - Chris Prouty at Shoppertrak - J..."Migrating from Cloud to Cloud: AWS to GCP" - Chris Prouty at Shoppertrak - J...
"Migrating from Cloud to Cloud: AWS to GCP" - Chris Prouty at Shoppertrak - J...
 
From AWS to GCP, TABLEAPP Architecture Story
From AWS to GCP, TABLEAPP Architecture StoryFrom AWS to GCP, TABLEAPP Architecture Story
From AWS to GCP, TABLEAPP Architecture Story
 
Aws hack n roll 2019 - Build aws service with QRCode
Aws hack n roll 2019 - Build aws service with QRCodeAws hack n roll 2019 - Build aws service with QRCode
Aws hack n roll 2019 - Build aws service with QRCode
 
Introduction to Amazon EC2 Spot Instances
Introduction to Amazon EC2 Spot InstancesIntroduction to Amazon EC2 Spot Instances
Introduction to Amazon EC2 Spot Instances
 
Cloud Capacity Planning Tooling - South Bay SRE Meetup Aug-09-2016
Cloud Capacity Planning Tooling - South Bay SRE Meetup Aug-09-2016Cloud Capacity Planning Tooling - South Bay SRE Meetup Aug-09-2016
Cloud Capacity Planning Tooling - South Bay SRE Meetup Aug-09-2016
 
Serverless on AWS : Understanding the hard parts at Serverless Meetup Dusseld...
Serverless on AWS : Understanding the hard parts at Serverless Meetup Dusseld...Serverless on AWS : Understanding the hard parts at Serverless Meetup Dusseld...
Serverless on AWS : Understanding the hard parts at Serverless Meetup Dusseld...
 
Scala bay meetup 9.17.2015 - Presentation 1
Scala bay meetup 9.17.2015 - Presentation 1Scala bay meetup 9.17.2015 - Presentation 1
Scala bay meetup 9.17.2015 - Presentation 1
 
AWS EMEA Online Summit - Live coding with containers
AWS EMEA Online Summit - Live coding with containersAWS EMEA Online Summit - Live coding with containers
AWS EMEA Online Summit - Live coding with containers
 
Ontology2 Platform Evolution
Ontology2 Platform EvolutionOntology2 Platform Evolution
Ontology2 Platform Evolution
 
Introduction to Amazon EC2 Spot
Introduction to Amazon EC2 SpotIntroduction to Amazon EC2 Spot
Introduction to Amazon EC2 Spot
 
"Production-ready Serverless Java Applications in 3 weeks" at AWS Community D...
"Production-ready Serverless Java Applications in 3 weeks" at AWS Community D..."Production-ready Serverless Java Applications in 3 weeks" at AWS Community D...
"Production-ready Serverless Java Applications in 3 weeks" at AWS Community D...
 
DNS in the Cloud
DNS in the CloudDNS in the Cloud
DNS in the Cloud
 
DNS is Sexy
DNS is SexyDNS is Sexy
DNS is Sexy
 
Dataflow in 104corp - DataConTW2018
Dataflow in 104corp - DataConTW2018Dataflow in 104corp - DataConTW2018
Dataflow in 104corp - DataConTW2018
 
Fast Data at Scale - AWS Summit Tel Aviv 2017
Fast Data at Scale - AWS Summit Tel Aviv 2017Fast Data at Scale - AWS Summit Tel Aviv 2017
Fast Data at Scale - AWS Summit Tel Aviv 2017
 
AWS Lambda: Advanced Coding Session
AWS Lambda: Advanced Coding SessionAWS Lambda: Advanced Coding Session
AWS Lambda: Advanced Coding Session
 
Introduction to AWS Batch
Introduction to AWS BatchIntroduction to AWS Batch
Introduction to AWS Batch
 
AWS Summit Singapore - Migrate & Modernize Legacy Microsoft Applications with...
AWS Summit Singapore - Migrate & Modernize Legacy Microsoft Applications with...AWS Summit Singapore - Migrate & Modernize Legacy Microsoft Applications with...
AWS Summit Singapore - Migrate & Modernize Legacy Microsoft Applications with...
 
Cloud Patterns Beuth Hochschule
Cloud Patterns Beuth HochschuleCloud Patterns Beuth Hochschule
Cloud Patterns Beuth Hochschule
 

Similar to Urturn on AWS: scaling infra, cost and time to maket

AWS Cloud Kata | Bangkok - Getting to Profitability
AWS Cloud Kata | Bangkok - Getting to ProfitabilityAWS Cloud Kata | Bangkok - Getting to Profitability
AWS Cloud Kata | Bangkok - Getting to Profitability
Amazon Web Services
 
AWS Cloud Kata | Manila - Getting to Profitability on AWS
AWS Cloud Kata | Manila - Getting to Profitability on AWSAWS Cloud Kata | Manila - Getting to Profitability on AWS
AWS Cloud Kata | Manila - Getting to Profitability on AWS
Amazon Web Services
 
AWS Summit Nordics - Opening Keynote
AWS Summit Nordics - Opening KeynoteAWS Summit Nordics - Opening Keynote
AWS Summit Nordics - Opening Keynote
Amazon Web Services
 

Similar to Urturn on AWS: scaling infra, cost and time to maket (20)

Flowcon (added to for CMG) Keynote talk on how Speed Wins and how Netflix is ...
Flowcon (added to for CMG) Keynote talk on how Speed Wins and how Netflix is ...Flowcon (added to for CMG) Keynote talk on how Speed Wins and how Netflix is ...
Flowcon (added to for CMG) Keynote talk on how Speed Wins and how Netflix is ...
 
Digital Workloads on AWS
Digital Workloads on AWSDigital Workloads on AWS
Digital Workloads on AWS
 
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
 
AWS Cloud Kata | Bangkok - Getting to Profitability
AWS Cloud Kata | Bangkok - Getting to ProfitabilityAWS Cloud Kata | Bangkok - Getting to Profitability
AWS Cloud Kata | Bangkok - Getting to Profitability
 
Japanese Startup Use-Cases and Tech Deep Dive
Japanese Startup Use-Cases and Tech Deep DiveJapanese Startup Use-Cases and Tech Deep Dive
Japanese Startup Use-Cases and Tech Deep Dive
 
(CMP404) Cloud Rendering at Walt Disney Animation Studios
(CMP404) Cloud Rendering at Walt Disney Animation Studios(CMP404) Cloud Rendering at Walt Disney Animation Studios
(CMP404) Cloud Rendering at Walt Disney Animation Studios
 
Scale, baby, scale!
Scale, baby, scale!Scale, baby, scale!
Scale, baby, scale!
 
Data Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEAData Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEA
 
Webinar: Data Streaming with Apache Kafka & MongoDB
Webinar: Data Streaming with Apache Kafka & MongoDBWebinar: Data Streaming with Apache Kafka & MongoDB
Webinar: Data Streaming with Apache Kafka & MongoDB
 
AWS Cloud Kata | Manila - Getting to Profitability on AWS
AWS Cloud Kata | Manila - Getting to Profitability on AWSAWS Cloud Kata | Manila - Getting to Profitability on AWS
AWS Cloud Kata | Manila - Getting to Profitability on AWS
 
Dystopia as a Service
Dystopia as a ServiceDystopia as a Service
Dystopia as a Service
 
AWS Summit Nordics - Opening Keynote
AWS Summit Nordics - Opening KeynoteAWS Summit Nordics - Opening Keynote
AWS Summit Nordics - Opening Keynote
 
Best Practices for Building Open Source Data Layers
Best Practices for Building Open Source Data LayersBest Practices for Building Open Source Data Layers
Best Practices for Building Open Source Data Layers
 
Escalando hasta sus primeros 10 millones de usuarios
Escalando hasta sus primeros 10 millones de usuariosEscalando hasta sus primeros 10 millones de usuarios
Escalando hasta sus primeros 10 millones de usuarios
 
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
 
Usman Shakeel - Cloud Rendering at Scale :: AWS Rendering Seminar
Usman Shakeel - Cloud Rendering at Scale :: AWS Rendering SeminarUsman Shakeel - Cloud Rendering at Scale :: AWS Rendering Seminar
Usman Shakeel - Cloud Rendering at Scale :: AWS Rendering Seminar
 
The Cloud as a Platform - Cloud Connections 2011 Keynote - Jinesh Varia
The Cloud as a Platform - Cloud Connections 2011 Keynote - Jinesh VariaThe Cloud as a Platform - Cloud Connections 2011 Keynote - Jinesh Varia
The Cloud as a Platform - Cloud Connections 2011 Keynote - Jinesh Varia
 
AWS Summit 2013 | Auckland - Understanding AWS Storage Options
AWS Summit 2013 | Auckland - Understanding AWS Storage OptionsAWS Summit 2013 | Auckland - Understanding AWS Storage Options
AWS Summit 2013 | Auckland - Understanding AWS Storage Options
 
Disrupting the Storage Industry talk at SNIA Data Storage Innovation Conference
Disrupting the Storage Industry talk at SNIA Data Storage Innovation ConferenceDisrupting the Storage Industry talk at SNIA Data Storage Innovation Conference
Disrupting the Storage Industry talk at SNIA Data Storage Innovation Conference
 
Top 5 Ways to Optimize for Cost Efficiency with the Cloud
Top 5 Ways to Optimize for Cost Efficiency with the CloudTop 5 Ways to Optimize for Cost Efficiency with the Cloud
Top 5 Ways to Optimize for Cost Efficiency with the Cloud
 

More from Swiss Big Data User Group

Brainserve Datacenter: the High-Density Choice
Brainserve Datacenter: the High-Density ChoiceBrainserve Datacenter: the High-Density Choice
Brainserve Datacenter: the High-Density Choice
Swiss Big Data User Group
 
The World Wide Distributed Computing Architecture of the LHC Datagrid
The World Wide Distributed Computing Architecture of the LHC DatagridThe World Wide Distributed Computing Architecture of the LHC Datagrid
The World Wide Distributed Computing Architecture of the LHC Datagrid
Swiss Big Data User Group
 
New opportunities for connected data : Neo4j the graph database
New opportunities for connected data : Neo4j the graph databaseNew opportunities for connected data : Neo4j the graph database
New opportunities for connected data : Neo4j the graph database
Swiss Big Data User Group
 

More from Swiss Big Data User Group (20)

Making Hadoop based analytics simple for everyone to use
Making Hadoop based analytics simple for everyone to useMaking Hadoop based analytics simple for everyone to use
Making Hadoop based analytics simple for everyone to use
 
A real life project using Cassandra at a large Swiss Telco operator
A real life project using Cassandra at a large Swiss Telco operatorA real life project using Cassandra at a large Swiss Telco operator
A real life project using Cassandra at a large Swiss Telco operator
 
Data Analytics – B2B vs. B2C
Data Analytics – B2B vs. B2CData Analytics – B2B vs. B2C
Data Analytics – B2B vs. B2C
 
SQL on Hadoop
SQL on HadoopSQL on Hadoop
SQL on Hadoop
 
Building a Hadoop Data Warehouse with Impala
Building a Hadoop Data Warehouse with ImpalaBuilding a Hadoop Data Warehouse with Impala
Building a Hadoop Data Warehouse with Impala
 
Closing The Loop for Evaluating Big Data Analysis
Closing The Loop for Evaluating Big Data AnalysisClosing The Loop for Evaluating Big Data Analysis
Closing The Loop for Evaluating Big Data Analysis
 
Big Data and Data Science for traditional Swiss companies
Big Data and Data Science for traditional Swiss companiesBig Data and Data Science for traditional Swiss companies
Big Data and Data Science for traditional Swiss companies
 
Design Patterns for Large-Scale Real-Time Learning
Design Patterns for Large-Scale Real-Time LearningDesign Patterns for Large-Scale Real-Time Learning
Design Patterns for Large-Scale Real-Time Learning
 
Educating Data Scientists of the Future
Educating Data Scientists of the FutureEducating Data Scientists of the Future
Educating Data Scientists of the Future
 
Unleash the power of Big Data in your existing Data Warehouse
Unleash the power of Big Data in your existing Data WarehouseUnleash the power of Big Data in your existing Data Warehouse
Unleash the power of Big Data in your existing Data Warehouse
 
Big data for Telco: opportunity or threat?
Big data for Telco: opportunity or threat?Big data for Telco: opportunity or threat?
Big data for Telco: opportunity or threat?
 
Project "Babelfish" - A data warehouse to attack complexity
 Project "Babelfish" - A data warehouse to attack complexity Project "Babelfish" - A data warehouse to attack complexity
Project "Babelfish" - A data warehouse to attack complexity
 
Brainserve Datacenter: the High-Density Choice
Brainserve Datacenter: the High-Density ChoiceBrainserve Datacenter: the High-Density Choice
Brainserve Datacenter: the High-Density Choice
 
The World Wide Distributed Computing Architecture of the LHC Datagrid
The World Wide Distributed Computing Architecture of the LHC DatagridThe World Wide Distributed Computing Architecture of the LHC Datagrid
The World Wide Distributed Computing Architecture of the LHC Datagrid
 
New opportunities for connected data : Neo4j the graph database
New opportunities for connected data : Neo4j the graph databaseNew opportunities for connected data : Neo4j the graph database
New opportunities for connected data : Neo4j the graph database
 
Technology Outlook - The new Era of computing
Technology Outlook - The new Era of computingTechnology Outlook - The new Era of computing
Technology Outlook - The new Era of computing
 
In-Store Analysis with Hadoop
In-Store Analysis with HadoopIn-Store Analysis with Hadoop
In-Store Analysis with Hadoop
 
Big Data Visualization With ParaView
Big Data Visualization With ParaViewBig Data Visualization With ParaView
Big Data Visualization With ParaView
 
Introduction to Apache Drill
Introduction to Apache DrillIntroduction to Apache Drill
Introduction to Apache Drill
 
Oracle's BigData solutions
Oracle's BigData solutionsOracle's BigData solutions
Oracle's BigData solutions
 

Recently uploaded

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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
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
 

Recently uploaded (20)

How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
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
 
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
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
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
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
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
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 

Urturn on AWS: scaling infra, cost and time to maket

  • 1. Urturn  on  AWS  -­‐  scaling  infrastructure,     cost  and  6me  to  market  
  • 2.
  • 4. Limited  ways  to  express   confiden6al   4    Write  something…    Write  something…  
  • 6. Music  go-­‐to-­‐market   Urturn  turns  out  to  be  a  great  response  to   audience  engagement,  one  of  the  main  challenge   of  music  industry   -­‐>  Hired  talent  from  that  industry   -­‐>  Got  bands  on  urturn   -­‐>  Brought  their  fan  base,  centered  on  UK  &  US   confiden6al   6  
  • 7. confiden6al   7   #DrawUnionJ  
  • 8. confiden6al   8   #ImatchwithUnionJ  
  • 10. Traffic  Peaks   Max Time to half: 5 min for Twitter, one hour for FB Share on FB or Twitter Time to max: 10 sec on Twitter, 1 min on FB
  • 11. Urturn Web Back - AWSUrturn Front Js client Urturn reactive Serving web pages Rails Storage AWS S3 Master Database MySQL Global  architecture   iPhone app Expressions Apps Urturn tasks Computing activities, emails Rails Loadbalancers AmazonWebServices Medias   Logs, analytics, datastores MongoDB Mobile site CDN CloudFront Web server Ngnix Web server Ngnix Infrastructure @ Amazon Web Services
  • 12. 1 Replica 1 Slave Urturn Web BackUrturn Front Js client Urturn reactive Serving web pages Rails + Unicorn Database MySQL Global  architecture   Google Analytics GoSquared Mixpannel New Relic iPhone app Yahoo image, Youtube, SoundCloud, Facebook, Twitter, Instagram, ... Mixpanel Google Analytics Expressions Apps Urturn tasks Computing activities, emails Rails + Unicorn Loadbalancers AmazonWebServices Thumbs Firefox-based Caching Memcached Green= Scales horizontally Internal   External   Front   Back   Medias   Facebook Logs, counts, analytics… MongoDB Twitter Mobile site CDN CloudFront Web server Ngnix Scout Web server Ngnix 1 Slave Indexation Solr Messages Resque Mails PostFix Storage AWS S3
  • 13. MySQL DB Urturn clients Jsclient Zoom  on  reacEve  requests   iPhone Apps Load balancers MongoDB Mobilesite CloudFront Memcached Ngnix Queue Rails /public Rails Rails Rails Caching Browser Manifest Local Storage Urturn JS cache FAST SLOW -> $$$$ -> MAX USERS LIMITLOCAL
  • 14. MySQL DB Urturn clients Jsclient Keep  a  good  experience  during  Overload   iPhone Apps Load balancers MongoDB Mobilesite CloudFront Memcached Ngnix Queue Rails /public Rails Rails Rails Caching Browser Manifest Local Storage Urturn JS cache Monitor  overload  here   •  Serve  those  already  on  the  site   •  Overload  page  to  others   FAST SLOW -> $$$$ -> MAX USERS LIMITLOCAL
  • 15. MySQL Urturn clients Jsclient A  good  request  is     a  non-­‐existant  request   iPhone Apps Load balancers MongoDB Mobilesite CloudFront Memcached Ngnix Queue Rails /public Rails Rails Rails Caching Browser Manifest Local Storage Urturn JS cache FAST SLOW -> $$$$ -> MAX USERS LIMITLOCAL 1   2   3   4  
  • 16. MySQL Load testing Load  tesEng   Load balancers MongoDB Grinder in the cloud Load test scripts Running on multiple instances Memcached Ngnix Queue Rails /public Rails Rails Rails FAST SLOW -> $$$$ -> MAX USERS LIMITLOCAL Grinder  in  the  cloud   •  Automa6cally  loads  the   system  to  capacity   •  Make  sure  all  pages  are   in  the  scripts  
  • 18. Reserve  or  not?  Instance  pricing   0 2000 4000 6000 8000 10000 12000 14000 16000 0 3 6 9 12 15 18 21 24 27 30 33 36 Cost(USD) Months On demand 1y heavy (bill anyway) 3y heavy (bill anyway) Spot
  • 19. Spot  instances   •  AWS  offers  unused  capacity  @’spot’  price   •  Choose  a  maximum  hourly  price,  get  it  at  the  market  price   •  Loose  your  instance  without  warning   •  Pinterest  massively  uses  spot  intances   On-­‐demand   price  
  • 20. 1 Replica 1 Slave Urturn Web BackUrturn Front Js client Urturn reactive Serving web pages Rails + Unicorn Database MySQL Google Analytics GoSquared Mixpannel New Relic iPhone app Yahoo image, Youtube, SoundCloud, Facebook, Twitter, Instagram, ... Mixpanel Google Analytics Expressions Apps Urturn tasks Computing activities, emails Rails + Unicorn Loadbalancers AmazonWebServices Thumbs Firefox-based Caching Memcached Green= Scales horizontally Internal   External   Front   Back   Medias   Facebook Logs, counts, analytics… MongoDB Twitter Mobile site CDN CloudFront Web server Ngnix Scout Web server Ngnix 1 Slave Indexation Solr Messages Resque Mails PostFix Storage AWS S3 If  we  had  to  do  it  again…  
  • 21. 1 Replica 1 Slave Urturn Web BackUrturn client Js client Urturn reactive Serving web pages Rails + Unicorn Database MySQL Google Analytics GoSquared Mixpannel New Relic iPhone app Yahoo image, Youtube, SoundCloud, Facebook, Twitter, Instagram, ... Mixpanel Google Analytics Expressions Apps Urturn tasks Computing activities, emails Rails + Unicorn Loadbalancers AmazonWebServices Thumbs Firefox-based Caching Memcached Green= Scales horizontally Internal   External   Front   Back   Medias   Facebook Logs, counts, analytics… MongoDB Twitter Mobile site Amazon CloudFront Web server Ngnix Scout Web server Ngnix 1 Slave Indexation Solr Messages Resque Mails PostFix Amazon S3 DynamoDB Amazon RDS Amazon CloudSearch Amazon SQS Amazon SES Amazon ElastiCache …  we’d  consider  this