SlideShare a Scribd company logo
1 of 22
Download to read offline

The Matchchat AWS experience

Dave Lavery, CTO

July 2014
What Is Matchchat?

A commenting plugin for football/sports sites

A real time chat/presence service

A competition platform

An ad server serving 1.4 million users a week

A poll application

Serves content above/below the fold
Matchchat AWS Experience
Starting Point

Single instance server (LAMP) - not AWS

Pusher for real time messages
Growth Curve
Scaling Point 1

Improve response times

Solution → move server to EC2 (Ubuntu)

MySQL database on RDS (medium)
Scaling Point 2

Support more publishing partners

Solution → resize the EC2 server

Shutdown the server, resize server, restart

There's a limit!
Scaling Point 3

Pusher cost reduction

Solution → implement Faye on single Node.js
server (m1 medium)
Scaling Point 4

PHP session for every API call

Running out of file handles

Running Cron job every 5 minutes to
housekeep sessions

Solution → move to Dynamo DB sessions
Scaling Point 5

Scale to support larger partners

Solution → multiple EC2 instances with load
balancer in front

Abandoned!
Scaling Point 6

Same problem exists

No capacity for large scale sysadmin activity

Solution → automate with Elastic Beanstalk

Multiple load balanced EC2 instances (m1
medium), auto scaling on latency (???)

SES (email notifications), Cloudwatch, SNS for
alarms and PHP exceptions

External monitoring via Pingdom
Scaling Point 7

Real time messaging response times falling

Solution → upgrade Faye server to multiple,
load balanced EC2 instances (medium),
backed by Redis database for channel context
Scaling Point 8

High usage of EC2 servers serving static app
content

Solution → serve app via S3/Cloudfront
Scaling Point 9

High cost of PHP sessions when only needed
for registration

Solution → remove PHP sessions from API
calls and reduce Dynamo DB and EC2 usage
Scaling Point 10

Wish to start tracking page visits within our app

Solution → increase database size (to m3
xlarge)
Scaling point 11

Reduce MySQL load

Reduce I/O blocking in API, aligning latency
with CPU usage

Solution → make use of SQS and 'eventual
consistency'
Scaling Point 12

Improve PHP script performance

Solution → implement APC cache in Elastic
Beanstalk
Scaling Point 13

More performance improvements to PHP

Solution → implement profiling via xhprof/xhgui,
backed by Mongo DB (carefully selected
sample rate)
Scaling Point 14

Wish to serve ads to our audience

Solution → implement our own MVP ad server

More requests per plugin load

Solution → serve ad content from CloudFlare
CDN (supports CORS)
Scaling Point 15

Need to improve server creation time when
auto scaling

Solution → create Matchchat AMI ready
configured to support our app
Future Scaling

Audience increase to 100 million unique visitors
monthly

Solution → more usage of SQS, database
replication/sharding, Faye scaling, big data
Thank you for your patience!
@dlavery62
uk.linkedin.com/in/dlavery62/

More Related Content

What's hot

The automation challenge Kubernetes operators vs Helm charts
The automation challenge Kubernetes operators vs Helm chartsThe automation challenge Kubernetes operators vs Helm charts
The automation challenge Kubernetes operators vs Helm chartsAna-Maria Mihalceanu
 
MongoDB MUG Delhi NCR - December 19 2020 (Cloud Security)
MongoDB MUG Delhi NCR - December 19 2020 (Cloud Security)MongoDB MUG Delhi NCR - December 19 2020 (Cloud Security)
MongoDB MUG Delhi NCR - December 19 2020 (Cloud Security)Shrey Batra
 
Mateusz Zając - Continuous Integration i jej skalowalność w oparciu o TeamCit...
Mateusz Zając - Continuous Integration i jej skalowalność w oparciu o TeamCit...Mateusz Zając - Continuous Integration i jej skalowalność w oparciu o TeamCit...
Mateusz Zając - Continuous Integration i jej skalowalność w oparciu o TeamCit...Trójmiejska Grupa Testerska
 
Windows Azure Zero Downtime Upgrade
Windows Azure Zero Downtime UpgradeWindows Azure Zero Downtime Upgrade
Windows Azure Zero Downtime UpgradePavel Revenkov
 
AWS for Start-ups - Case Study - PeoplePerHour
AWS for Start-ups - Case Study - PeoplePerHour AWS for Start-ups - Case Study - PeoplePerHour
AWS for Start-ups - Case Study - PeoplePerHour Amazon Web Services
 
Azure Cosmos DB by Mohammed Gadi AUG April 2019
Azure Cosmos DB by Mohammed Gadi AUG April 2019Azure Cosmos DB by Mohammed Gadi AUG April 2019
Azure Cosmos DB by Mohammed Gadi AUG April 2019Mohammed Gadi
 
Advantages of Cloud Server over standard hosting server
Advantages of Cloud Server over standard hosting serverAdvantages of Cloud Server over standard hosting server
Advantages of Cloud Server over standard hosting serverAndolasoft Inc
 
Empowering Amazon EC2 with GigaSpaces XAP
Empowering Amazon EC2 with GigaSpaces XAPEmpowering Amazon EC2 with GigaSpaces XAP
Empowering Amazon EC2 with GigaSpaces XAPUri Cohen
 
AWS Community Day Bangkok 2019 - Build a Serverless Web Application in 30 mins
AWS Community Day Bangkok 2019 - Build a Serverless Web Application in 30 minsAWS Community Day Bangkok 2019 - Build a Serverless Web Application in 30 mins
AWS Community Day Bangkok 2019 - Build a Serverless Web Application in 30 minsAWS User Group - Thailand
 
AWS Community Day Bangkok 2019 - Hello ClaudiaJS
AWS Community Day Bangkok 2019 - Hello ClaudiaJSAWS Community Day Bangkok 2019 - Hello ClaudiaJS
AWS Community Day Bangkok 2019 - Hello ClaudiaJSAWS User Group - Thailand
 
4 extreme performance - part ii
4   extreme performance - part ii4   extreme performance - part ii
4 extreme performance - part iisqlserver.co.il
 
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase Productivity
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase ProductivityAWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase Productivity
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase ProductivityAWS User Group - Thailand
 
AWS Partner Webcast - Create Instant Replicas of On-premises SAP Landscapes
AWS Partner Webcast - Create Instant Replicas of On-premises SAP LandscapesAWS Partner Webcast - Create Instant Replicas of On-premises SAP Landscapes
AWS Partner Webcast - Create Instant Replicas of On-premises SAP LandscapesAmazon Web Services
 
AWS Community Day Bangkok 2019 - Building & Deploying AWS Lambda with Serverl...
AWS Community Day Bangkok 2019 - Building & Deploying AWS Lambda with Serverl...AWS Community Day Bangkok 2019 - Building & Deploying AWS Lambda with Serverl...
AWS Community Day Bangkok 2019 - Building & Deploying AWS Lambda with Serverl...AWS User Group - Thailand
 
Extending OpenStack for Fun and Profit
Extending OpenStack for Fun and ProfitExtending OpenStack for Fun and Profit
Extending OpenStack for Fun and Profittsmith416
 
AI in Java and Scala on AWS
AI in Java and Scala on AWSAI in Java and Scala on AWS
AI in Java and Scala on AWSJulien SIMON
 
Extending OpenStack for Fun and Profit.pptx
Extending OpenStack for Fun and Profit.pptxExtending OpenStack for Fun and Profit.pptx
Extending OpenStack for Fun and Profit.pptxOpenStack Foundation
 
AWS Community Day Bangkok 2019 - DevOps Cost Reduction using Jenkins & AWS Sp...
AWS Community Day Bangkok 2019 - DevOps Cost Reduction using Jenkins & AWS Sp...AWS Community Day Bangkok 2019 - DevOps Cost Reduction using Jenkins & AWS Sp...
AWS Community Day Bangkok 2019 - DevOps Cost Reduction using Jenkins & AWS Sp...AWS User Group - Thailand
 
AWS 201 - Development and Test on AWS Webinar
AWS 201 - Development and Test on AWS WebinarAWS 201 - Development and Test on AWS Webinar
AWS 201 - Development and Test on AWS WebinarAmazon Web Services
 
MongoDB in the Clouds
MongoDB in the CloudsMongoDB in the Clouds
MongoDB in the CloudsUri Cohen
 

What's hot (20)

The automation challenge Kubernetes operators vs Helm charts
The automation challenge Kubernetes operators vs Helm chartsThe automation challenge Kubernetes operators vs Helm charts
The automation challenge Kubernetes operators vs Helm charts
 
MongoDB MUG Delhi NCR - December 19 2020 (Cloud Security)
MongoDB MUG Delhi NCR - December 19 2020 (Cloud Security)MongoDB MUG Delhi NCR - December 19 2020 (Cloud Security)
MongoDB MUG Delhi NCR - December 19 2020 (Cloud Security)
 
Mateusz Zając - Continuous Integration i jej skalowalność w oparciu o TeamCit...
Mateusz Zając - Continuous Integration i jej skalowalność w oparciu o TeamCit...Mateusz Zając - Continuous Integration i jej skalowalność w oparciu o TeamCit...
Mateusz Zając - Continuous Integration i jej skalowalność w oparciu o TeamCit...
 
Windows Azure Zero Downtime Upgrade
Windows Azure Zero Downtime UpgradeWindows Azure Zero Downtime Upgrade
Windows Azure Zero Downtime Upgrade
 
AWS for Start-ups - Case Study - PeoplePerHour
AWS for Start-ups - Case Study - PeoplePerHour AWS for Start-ups - Case Study - PeoplePerHour
AWS for Start-ups - Case Study - PeoplePerHour
 
Azure Cosmos DB by Mohammed Gadi AUG April 2019
Azure Cosmos DB by Mohammed Gadi AUG April 2019Azure Cosmos DB by Mohammed Gadi AUG April 2019
Azure Cosmos DB by Mohammed Gadi AUG April 2019
 
Advantages of Cloud Server over standard hosting server
Advantages of Cloud Server over standard hosting serverAdvantages of Cloud Server over standard hosting server
Advantages of Cloud Server over standard hosting server
 
Empowering Amazon EC2 with GigaSpaces XAP
Empowering Amazon EC2 with GigaSpaces XAPEmpowering Amazon EC2 with GigaSpaces XAP
Empowering Amazon EC2 with GigaSpaces XAP
 
AWS Community Day Bangkok 2019 - Build a Serverless Web Application in 30 mins
AWS Community Day Bangkok 2019 - Build a Serverless Web Application in 30 minsAWS Community Day Bangkok 2019 - Build a Serverless Web Application in 30 mins
AWS Community Day Bangkok 2019 - Build a Serverless Web Application in 30 mins
 
AWS Community Day Bangkok 2019 - Hello ClaudiaJS
AWS Community Day Bangkok 2019 - Hello ClaudiaJSAWS Community Day Bangkok 2019 - Hello ClaudiaJS
AWS Community Day Bangkok 2019 - Hello ClaudiaJS
 
4 extreme performance - part ii
4   extreme performance - part ii4   extreme performance - part ii
4 extreme performance - part ii
 
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase Productivity
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase ProductivityAWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase Productivity
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase Productivity
 
AWS Partner Webcast - Create Instant Replicas of On-premises SAP Landscapes
AWS Partner Webcast - Create Instant Replicas of On-premises SAP LandscapesAWS Partner Webcast - Create Instant Replicas of On-premises SAP Landscapes
AWS Partner Webcast - Create Instant Replicas of On-premises SAP Landscapes
 
AWS Community Day Bangkok 2019 - Building & Deploying AWS Lambda with Serverl...
AWS Community Day Bangkok 2019 - Building & Deploying AWS Lambda with Serverl...AWS Community Day Bangkok 2019 - Building & Deploying AWS Lambda with Serverl...
AWS Community Day Bangkok 2019 - Building & Deploying AWS Lambda with Serverl...
 
Extending OpenStack for Fun and Profit
Extending OpenStack for Fun and ProfitExtending OpenStack for Fun and Profit
Extending OpenStack for Fun and Profit
 
AI in Java and Scala on AWS
AI in Java and Scala on AWSAI in Java and Scala on AWS
AI in Java and Scala on AWS
 
Extending OpenStack for Fun and Profit.pptx
Extending OpenStack for Fun and Profit.pptxExtending OpenStack for Fun and Profit.pptx
Extending OpenStack for Fun and Profit.pptx
 
AWS Community Day Bangkok 2019 - DevOps Cost Reduction using Jenkins & AWS Sp...
AWS Community Day Bangkok 2019 - DevOps Cost Reduction using Jenkins & AWS Sp...AWS Community Day Bangkok 2019 - DevOps Cost Reduction using Jenkins & AWS Sp...
AWS Community Day Bangkok 2019 - DevOps Cost Reduction using Jenkins & AWS Sp...
 
AWS 201 - Development and Test on AWS Webinar
AWS 201 - Development and Test on AWS WebinarAWS 201 - Development and Test on AWS Webinar
AWS 201 - Development and Test on AWS Webinar
 
MongoDB in the Clouds
MongoDB in the CloudsMongoDB in the Clouds
MongoDB in the Clouds
 

Similar to Matchchat AWS Experience

Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressGeorge Kanellopoulos
 
10 Pro Tips for scaling your startup from 0-10M users
10 Pro Tips for scaling your startup from 0-10M users10 Pro Tips for scaling your startup from 0-10M users
10 Pro Tips for scaling your startup from 0-10M usersAmazon Web Services
 
Microsoft Windows Azure - Cloud Platforms Today A Comparison Presentation
Microsoft Windows Azure - Cloud Platforms Today A Comparison PresentationMicrosoft Windows Azure - Cloud Platforms Today A Comparison Presentation
Microsoft Windows Azure - Cloud Platforms Today A Comparison PresentationMicrosoft Private Cloud
 
(CMP311) This One Weird API Request Will Save You Thousands
(CMP311) This One Weird API Request Will Save You Thousands(CMP311) This One Weird API Request Will Save You Thousands
(CMP311) This One Weird API Request Will Save You ThousandsAmazon Web Services
 
This One Weird API Request Will Save You Thousands
This One Weird API Request Will Save You ThousandsThis One Weird API Request Will Save You Thousands
This One Weird API Request Will Save You ThousandsAmazon Web Services
 
Dix conseils pour supporter la croissance de votre Startup de 0 à 10 millions...
Dix conseils pour supporter la croissance de votre Startup de 0 à 10 millions...Dix conseils pour supporter la croissance de votre Startup de 0 à 10 millions...
Dix conseils pour supporter la croissance de votre Startup de 0 à 10 millions...Amazon Web Services
 
Cloud computing infrastructure
Cloud computing infrastructureCloud computing infrastructure
Cloud computing infrastructuresinhhn
 
Talking to 25% of the web - In-depth report and analysis on the WordPress RES...
Talking to 25% of the web - In-depth report and analysis on the WordPress RES...Talking to 25% of the web - In-depth report and analysis on the WordPress RES...
Talking to 25% of the web - In-depth report and analysis on the WordPress RES...Stephane Beladaci
 
Running a business in the Cloud with AWS
Running a business in the Cloud with AWSRunning a business in the Cloud with AWS
Running a business in the Cloud with AWSConor O'Neill
 
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)Katrien De Graeve
 
re:Invent Recap Breakfast
re:Invent Recap Breakfastre:Invent Recap Breakfast
re:Invent Recap BreakfastJimmy Dahlqvist
 
Serverless Computing
Serverless ComputingServerless Computing
Serverless ComputingAnand Gupta
 
Windows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan WongWindows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan WongSpiffy
 
Sharepointarchitecturereal worldscenariofundamentals-150419043032-conversion-...
Sharepointarchitecturereal worldscenariofundamentals-150419043032-conversion-...Sharepointarchitecturereal worldscenariofundamentals-150419043032-conversion-...
Sharepointarchitecturereal worldscenariofundamentals-150419043032-conversion-...BIWUG
 
Leveraging The Cloud In 2009
Leveraging The Cloud In 2009Leveraging The Cloud In 2009
Leveraging The Cloud In 2009Ed Laczynski
 
A Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deploymentA Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deploymentSPC Adriatics
 
Achieving Massive Scalability and High Availability for PHP Applications in t...
Achieving Massive Scalability and High Availability for PHP Applications in t...Achieving Massive Scalability and High Availability for PHP Applications in t...
Achieving Massive Scalability and High Availability for PHP Applications in t...RightScale
 

Similar to Matchchat AWS Experience (20)

Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
 
10 Pro Tips for scaling your startup from 0-10M users
10 Pro Tips for scaling your startup from 0-10M users10 Pro Tips for scaling your startup from 0-10M users
10 Pro Tips for scaling your startup from 0-10M users
 
Microsoft Windows Azure - Cloud Platforms Today A Comparison Presentation
Microsoft Windows Azure - Cloud Platforms Today A Comparison PresentationMicrosoft Windows Azure - Cloud Platforms Today A Comparison Presentation
Microsoft Windows Azure - Cloud Platforms Today A Comparison Presentation
 
Startups without Servers
Startups without ServersStartups without Servers
Startups without Servers
 
(CMP311) This One Weird API Request Will Save You Thousands
(CMP311) This One Weird API Request Will Save You Thousands(CMP311) This One Weird API Request Will Save You Thousands
(CMP311) This One Weird API Request Will Save You Thousands
 
This One Weird API Request Will Save You Thousands
This One Weird API Request Will Save You ThousandsThis One Weird API Request Will Save You Thousands
This One Weird API Request Will Save You Thousands
 
Dix conseils pour supporter la croissance de votre Startup de 0 à 10 millions...
Dix conseils pour supporter la croissance de votre Startup de 0 à 10 millions...Dix conseils pour supporter la croissance de votre Startup de 0 à 10 millions...
Dix conseils pour supporter la croissance de votre Startup de 0 à 10 millions...
 
Solutions presentation
Solutions presentationSolutions presentation
Solutions presentation
 
Cloud computing infrastructure
Cloud computing infrastructureCloud computing infrastructure
Cloud computing infrastructure
 
Talking to 25% of the web - In-depth report and analysis on the WordPress RES...
Talking to 25% of the web - In-depth report and analysis on the WordPress RES...Talking to 25% of the web - In-depth report and analysis on the WordPress RES...
Talking to 25% of the web - In-depth report and analysis on the WordPress RES...
 
Running a business in the Cloud with AWS
Running a business in the Cloud with AWSRunning a business in the Cloud with AWS
Running a business in the Cloud with AWS
 
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)
 
re:Invent Recap Breakfast
re:Invent Recap Breakfastre:Invent Recap Breakfast
re:Invent Recap Breakfast
 
Serverless Computing
Serverless ComputingServerless Computing
Serverless Computing
 
Windows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan WongWindows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan Wong
 
Sharepointarchitecturereal worldscenariofundamentals-150419043032-conversion-...
Sharepointarchitecturereal worldscenariofundamentals-150419043032-conversion-...Sharepointarchitecturereal worldscenariofundamentals-150419043032-conversion-...
Sharepointarchitecturereal worldscenariofundamentals-150419043032-conversion-...
 
Leveraging The Cloud In 2009
Leveraging The Cloud In 2009Leveraging The Cloud In 2009
Leveraging The Cloud In 2009
 
A Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deploymentA Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deployment
 
Achieving Massive Scalability and High Availability for PHP Applications in t...
Achieving Massive Scalability and High Availability for PHP Applications in t...Achieving Massive Scalability and High Availability for PHP Applications in t...
Achieving Massive Scalability and High Availability for PHP Applications in t...
 
Achieving Profitability on AWS
Achieving Profitability on AWSAchieving Profitability on AWS
Achieving Profitability on AWS
 

Recently uploaded

Test Automation with Gen AI_Final_Presentation
Test Automation with Gen AI_Final_PresentationTest Automation with Gen AI_Final_Presentation
Test Automation with Gen AI_Final_PresentationUiPathCommunity
 
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024Jan Löffler
 
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdfLESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdfmchristianalwyn
 
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced HorizonsVision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced HorizonsRoxana Stingu
 
Bio Medical Waste Management Guideliness 2023 ppt.pptx
Bio Medical Waste Management Guideliness 2023 ppt.pptxBio Medical Waste Management Guideliness 2023 ppt.pptx
Bio Medical Waste Management Guideliness 2023 ppt.pptxnaveenithkrishnan
 
Computer 10 Lesson 8: Building a Website
Computer 10 Lesson 8: Building a WebsiteComputer 10 Lesson 8: Building a Website
Computer 10 Lesson 8: Building a WebsiteMavein
 
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...APNIC
 
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASSLESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASSlesteraporado16
 
Aligning Testing Objectives with Overall Project Goals for Successful Outcome...
Aligning Testing Objectives with Overall Project Goals for Successful Outcome...Aligning Testing Objectives with Overall Project Goals for Successful Outcome...
Aligning Testing Objectives with Overall Project Goals for Successful Outcome...Anju21552
 
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDSTYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDSedrianrheine
 
Check out the Free Landing Page Hosting in 2024
Check out the Free Landing Page Hosting in 2024Check out the Free Landing Page Hosting in 2024
Check out the Free Landing Page Hosting in 2024Shubham Pant
 
Internet 2.0 Conference (Event Information Deck | Dec'24 - Mar'25)
Internet 2.0 Conference (Event Information Deck | Dec'24 - Mar'25)Internet 2.0 Conference (Event Information Deck | Dec'24 - Mar'25)
Internet 2.0 Conference (Event Information Deck | Dec'24 - Mar'25)Internet 2.0 Conference
 
Discussing Potential of Submarine Cables Causing Internet Blackout in Ghana
Discussing Potential of Submarine Cables Causing Internet Blackout in GhanaDiscussing Potential of Submarine Cables Causing Internet Blackout in Ghana
Discussing Potential of Submarine Cables Causing Internet Blackout in GhanaDesmond Israel
 

Recently uploaded (13)

Test Automation with Gen AI_Final_Presentation
Test Automation with Gen AI_Final_PresentationTest Automation with Gen AI_Final_Presentation
Test Automation with Gen AI_Final_Presentation
 
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
 
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdfLESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
 
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced HorizonsVision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
 
Bio Medical Waste Management Guideliness 2023 ppt.pptx
Bio Medical Waste Management Guideliness 2023 ppt.pptxBio Medical Waste Management Guideliness 2023 ppt.pptx
Bio Medical Waste Management Guideliness 2023 ppt.pptx
 
Computer 10 Lesson 8: Building a Website
Computer 10 Lesson 8: Building a WebsiteComputer 10 Lesson 8: Building a Website
Computer 10 Lesson 8: Building a Website
 
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
 
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASSLESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
 
Aligning Testing Objectives with Overall Project Goals for Successful Outcome...
Aligning Testing Objectives with Overall Project Goals for Successful Outcome...Aligning Testing Objectives with Overall Project Goals for Successful Outcome...
Aligning Testing Objectives with Overall Project Goals for Successful Outcome...
 
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDSTYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
 
Check out the Free Landing Page Hosting in 2024
Check out the Free Landing Page Hosting in 2024Check out the Free Landing Page Hosting in 2024
Check out the Free Landing Page Hosting in 2024
 
Internet 2.0 Conference (Event Information Deck | Dec'24 - Mar'25)
Internet 2.0 Conference (Event Information Deck | Dec'24 - Mar'25)Internet 2.0 Conference (Event Information Deck | Dec'24 - Mar'25)
Internet 2.0 Conference (Event Information Deck | Dec'24 - Mar'25)
 
Discussing Potential of Submarine Cables Causing Internet Blackout in Ghana
Discussing Potential of Submarine Cables Causing Internet Blackout in GhanaDiscussing Potential of Submarine Cables Causing Internet Blackout in Ghana
Discussing Potential of Submarine Cables Causing Internet Blackout in Ghana
 

Matchchat AWS Experience

  • 1.  The Matchchat AWS experience  Dave Lavery, CTO  July 2014
  • 2. What Is Matchchat?  A commenting plugin for football/sports sites  A real time chat/presence service  A competition platform  An ad server serving 1.4 million users a week  A poll application  Serves content above/below the fold
  • 4. Starting Point  Single instance server (LAMP) - not AWS  Pusher for real time messages
  • 6. Scaling Point 1  Improve response times  Solution → move server to EC2 (Ubuntu)  MySQL database on RDS (medium)
  • 7. Scaling Point 2  Support more publishing partners  Solution → resize the EC2 server  Shutdown the server, resize server, restart  There's a limit!
  • 8. Scaling Point 3  Pusher cost reduction  Solution → implement Faye on single Node.js server (m1 medium)
  • 9. Scaling Point 4  PHP session for every API call  Running out of file handles  Running Cron job every 5 minutes to housekeep sessions  Solution → move to Dynamo DB sessions
  • 10. Scaling Point 5  Scale to support larger partners  Solution → multiple EC2 instances with load balancer in front  Abandoned!
  • 11. Scaling Point 6  Same problem exists  No capacity for large scale sysadmin activity  Solution → automate with Elastic Beanstalk  Multiple load balanced EC2 instances (m1 medium), auto scaling on latency (???)  SES (email notifications), Cloudwatch, SNS for alarms and PHP exceptions  External monitoring via Pingdom
  • 12. Scaling Point 7  Real time messaging response times falling  Solution → upgrade Faye server to multiple, load balanced EC2 instances (medium), backed by Redis database for channel context
  • 13. Scaling Point 8  High usage of EC2 servers serving static app content  Solution → serve app via S3/Cloudfront
  • 14. Scaling Point 9  High cost of PHP sessions when only needed for registration  Solution → remove PHP sessions from API calls and reduce Dynamo DB and EC2 usage
  • 15. Scaling Point 10  Wish to start tracking page visits within our app  Solution → increase database size (to m3 xlarge)
  • 16. Scaling point 11  Reduce MySQL load  Reduce I/O blocking in API, aligning latency with CPU usage  Solution → make use of SQS and 'eventual consistency'
  • 17. Scaling Point 12  Improve PHP script performance  Solution → implement APC cache in Elastic Beanstalk
  • 18. Scaling Point 13  More performance improvements to PHP  Solution → implement profiling via xhprof/xhgui, backed by Mongo DB (carefully selected sample rate)
  • 19. Scaling Point 14  Wish to serve ads to our audience  Solution → implement our own MVP ad server  More requests per plugin load  Solution → serve ad content from CloudFlare CDN (supports CORS)
  • 20. Scaling Point 15  Need to improve server creation time when auto scaling  Solution → create Matchchat AMI ready configured to support our app
  • 21. Future Scaling  Audience increase to 100 million unique visitors monthly  Solution → more usage of SQS, database replication/sharding, Faye scaling, big data
  • 22. Thank you for your patience! @dlavery62 uk.linkedin.com/in/dlavery62/