SlideShare a Scribd company logo
1 of 55
Scaling an API
From Reboots to Redis, how (not) to do it
{
"fullName": "Ciarán Rooney",
"work": {
"position": ["CTO", "Speaker", "Mentor"]
},
"home": {
"email": "ciaran.rooney@gmail.com",
"twitter": "@CiaranR",
"website": "http://ciaran.ie",
"hobby": "http://phplondon.org"
}
}
{
"dataYear": "2013",
"dataMonth": "april",
"dataPeriod": "30 days",
"dataRequests": {
"apiRequests": "18,256,654,541",
"impressions": “5,773,142,857",
"uniqueUsers": "145,137,679"
},
"customers": {
"websitesPowered": "1,087,348",
"customers": "26,379"
}
}
BIND / DNS
imageStorage
eMail
imageStorage
eMail
imageStorage
APIs
Database
Master/
Slave
Client App
Client App
Database
Master/
Slave
APIs
WordPress
WordPress Pinterest
Client App
Database
Master/
Slave
APIs
WordPress
SkimWords™
APIxx
APIxx APIxx APIxx APIxx APIxx APIxx APIxx APIxx
CLUSTERxx
ELB
ELB
CLUSTERxx CLUSTERxx CLUSTERxx CLUSTERxxCLUSTERxx
US-WEST US-EAST EU-WEST
Pinterest
JAYxx
Apache Flume
JAYxx JAYxx JAYxx JAYxx JAYxx JAYxx JAYxx JAYxx
ELB
ELB
CLUSTERxx
Apache Flume
Collector
C Prefix Tree
C NLP
Filtering
CLUSTERxx CLUSTERxx CLUSTERxx CLUSTERxxCLUSTERxx
US-WEST
US-EAST EU-WEST
Apache Flume
Master
Cacti
Conclusions
Small Scalable units
Horizontal is always better
Eliminate Single points of failure
Scale writes and reads separately
Automate everything
Monitor everything
Scaling an API
From Reboots to Redis, how (not) to do it
Questions?
{
"fullName": "Ciarán Rooney",
"workLife": {
"position": "CTO"
},
"homeLife": {
"email": "ciaran.rooney@gmail.com",
"twitter": "@CiaranR",
"website": "http://ciaran.ie",
"hobby": "http://phplondon.org"
}
}

More Related Content

Viewers also liked

Inside Real Groovy By Joel Felizardo
Inside Real Groovy By Joel FelizardoInside Real Groovy By Joel Felizardo
Inside Real Groovy By Joel FelizardoJoel Felizardo
 
Social media and nursing
Social media and nursingSocial media and nursing
Social media and nursingkgraetz
 
Protein X at The Sway By William Rowe
Protein X at The Sway By William RoweProtein X at The Sway By William Rowe
Protein X at The Sway By William RoweCiaran Rooney
 
Narrating PowerPoint Slides
Narrating PowerPoint SlidesNarrating PowerPoint Slides
Narrating PowerPoint Slideskgraetz
 
Alicias Intro Presentation
Alicias Intro PresentationAlicias Intro Presentation
Alicias Intro PresentationCiaran Rooney
 

Viewers also liked (7)

Lmt Filecopy
Lmt FilecopyLmt Filecopy
Lmt Filecopy
 
Hfmd Picture
Hfmd PictureHfmd Picture
Hfmd Picture
 
Inside Real Groovy By Joel Felizardo
Inside Real Groovy By Joel FelizardoInside Real Groovy By Joel Felizardo
Inside Real Groovy By Joel Felizardo
 
Social media and nursing
Social media and nursingSocial media and nursing
Social media and nursing
 
Protein X at The Sway By William Rowe
Protein X at The Sway By William RoweProtein X at The Sway By William Rowe
Protein X at The Sway By William Rowe
 
Narrating PowerPoint Slides
Narrating PowerPoint SlidesNarrating PowerPoint Slides
Narrating PowerPoint Slides
 
Alicias Intro Presentation
Alicias Intro PresentationAlicias Intro Presentation
Alicias Intro Presentation
 

Similar to Scaling an API: From Reboots to Redis, how (not) to do it

Creating Professional Applications with the LinkedIn API
Creating Professional Applications with the LinkedIn APICreating Professional Applications with the LinkedIn API
Creating Professional Applications with the LinkedIn APIKirsten Hunter
 
Rich Results and Structured Data
Rich Results and Structured DataRich Results and Structured Data
Rich Results and Structured DataSMA Marketing
 
0 to 100kmh with GraphQL - Rapid API Prototyping using serverless backend in...
 0 to 100kmh with GraphQL - Rapid API Prototyping using serverless backend in... 0 to 100kmh with GraphQL - Rapid API Prototyping using serverless backend in...
0 to 100kmh with GraphQL - Rapid API Prototyping using serverless backend in...Amazon Web Services
 
0 to 100kmh with GraphQL. Rapid API Prototyping usingserverless backend in t...
0 to 100kmh with GraphQL.  Rapid API Prototyping usingserverless backend in t...0 to 100kmh with GraphQL.  Rapid API Prototyping usingserverless backend in t...
0 to 100kmh with GraphQL. Rapid API Prototyping usingserverless backend in t...Amazon Web Services
 
Microsoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needsMicrosoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needsMicrosoft Tech Community
 
Microsoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needsMicrosoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needsMicrosoft Tech Community
 
Rapid API Prototyping Using Serverless Backend in the Cloud
Rapid API Prototyping Using Serverless Backend in the CloudRapid API Prototyping Using Serverless Backend in the Cloud
Rapid API Prototyping Using Serverless Backend in the CloudAmazon Web Services
 
0 to 60 with AWS AppSync: Rapid Development Techniques for Mobile APIs (MOB32...
0 to 60 with AWS AppSync: Rapid Development Techniques for Mobile APIs (MOB32...0 to 60 with AWS AppSync: Rapid Development Techniques for Mobile APIs (MOB32...
0 to 60 with AWS AppSync: Rapid Development Techniques for Mobile APIs (MOB32...Amazon Web Services
 
Chatting with HIpChat: APIs 101
Chatting with HIpChat: APIs 101Chatting with HIpChat: APIs 101
Chatting with HIpChat: APIs 101colleenfry
 
SFScon17 - Patrick Puecher: "Exploring data with Elasticsearch and Kibana"
SFScon17 - Patrick Puecher: "Exploring data with Elasticsearch and Kibana"SFScon17 - Patrick Puecher: "Exploring data with Elasticsearch and Kibana"
SFScon17 - Patrick Puecher: "Exploring data with Elasticsearch and Kibana"South Tyrol Free Software Conference
 
My Journey into the Terrifying World of Hypermedia
My Journey into the Terrifying World of HypermediaMy Journey into the Terrifying World of Hypermedia
My Journey into the Terrifying World of HypermediaNordic APIs
 
Introducing Hangout Apps
Introducing Hangout AppsIntroducing Hangout Apps
Introducing Hangout AppsJonathan Beri
 
Semantic Web & TYPO3
Semantic Web & TYPO3Semantic Web & TYPO3
Semantic Web & TYPO3André Wuttig
 
Final Presentation V1.8
Final Presentation V1.8Final Presentation V1.8
Final Presentation V1.8Chad Koziel
 
Build a "Who's Who" App for Your Media Content (AIM409) - AWS re:Invent 2018
Build a "Who's Who" App for Your Media Content (AIM409) - AWS re:Invent 2018Build a "Who's Who" App for Your Media Content (AIM409) - AWS re:Invent 2018
Build a "Who's Who" App for Your Media Content (AIM409) - AWS re:Invent 2018Amazon Web Services
 
jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013
jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013
jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013Kiril Iliev
 
What's New with Schema and Structured Data - Max Prin - SMX Advanced 2019
What's New with Schema and Structured Data - Max Prin - SMX Advanced 2019What's New with Schema and Structured Data - Max Prin - SMX Advanced 2019
What's New with Schema and Structured Data - Max Prin - SMX Advanced 2019Max Prin
 
SDKs, the good the bad the ugly - Japan
SDKs, the good the bad the ugly - JapanSDKs, the good the bad the ugly - Japan
SDKs, the good the bad the ugly - Japantristansokol
 
David Gómez G. - Hypermedia APIs for headless platforms and Data Integration ...
David Gómez G. - Hypermedia APIs for headless platforms and Data Integration ...David Gómez G. - Hypermedia APIs for headless platforms and Data Integration ...
David Gómez G. - Hypermedia APIs for headless platforms and Data Integration ...Codemotion
 

Similar to Scaling an API: From Reboots to Redis, how (not) to do it (20)

Creating Professional Applications with the LinkedIn API
Creating Professional Applications with the LinkedIn APICreating Professional Applications with the LinkedIn API
Creating Professional Applications with the LinkedIn API
 
Rich Results and Structured Data
Rich Results and Structured DataRich Results and Structured Data
Rich Results and Structured Data
 
0 to 100kmh with GraphQL - Rapid API Prototyping using serverless backend in...
 0 to 100kmh with GraphQL - Rapid API Prototyping using serverless backend in... 0 to 100kmh with GraphQL - Rapid API Prototyping using serverless backend in...
0 to 100kmh with GraphQL - Rapid API Prototyping using serverless backend in...
 
0 to 100kmh with GraphQL. Rapid API Prototyping usingserverless backend in t...
0 to 100kmh with GraphQL.  Rapid API Prototyping usingserverless backend in t...0 to 100kmh with GraphQL.  Rapid API Prototyping usingserverless backend in t...
0 to 100kmh with GraphQL. Rapid API Prototyping usingserverless backend in t...
 
Microsoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needsMicrosoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needs
 
Microsoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needsMicrosoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needs
 
Rapid API Prototyping Using Serverless Backend in the Cloud
Rapid API Prototyping Using Serverless Backend in the CloudRapid API Prototyping Using Serverless Backend in the Cloud
Rapid API Prototyping Using Serverless Backend in the Cloud
 
0 to 60 with AWS AppSync: Rapid Development Techniques for Mobile APIs (MOB32...
0 to 60 with AWS AppSync: Rapid Development Techniques for Mobile APIs (MOB32...0 to 60 with AWS AppSync: Rapid Development Techniques for Mobile APIs (MOB32...
0 to 60 with AWS AppSync: Rapid Development Techniques for Mobile APIs (MOB32...
 
Chatting with HIpChat: APIs 101
Chatting with HIpChat: APIs 101Chatting with HIpChat: APIs 101
Chatting with HIpChat: APIs 101
 
SFScon17 - Patrick Puecher: "Exploring data with Elasticsearch and Kibana"
SFScon17 - Patrick Puecher: "Exploring data with Elasticsearch and Kibana"SFScon17 - Patrick Puecher: "Exploring data with Elasticsearch and Kibana"
SFScon17 - Patrick Puecher: "Exploring data with Elasticsearch and Kibana"
 
My Journey into the Terrifying World of Hypermedia
My Journey into the Terrifying World of HypermediaMy Journey into the Terrifying World of Hypermedia
My Journey into the Terrifying World of Hypermedia
 
Introducing Hangout Apps
Introducing Hangout AppsIntroducing Hangout Apps
Introducing Hangout Apps
 
Gary Conaway 6-21-11
Gary Conaway 6-21-11Gary Conaway 6-21-11
Gary Conaway 6-21-11
 
Semantic Web & TYPO3
Semantic Web & TYPO3Semantic Web & TYPO3
Semantic Web & TYPO3
 
Final Presentation V1.8
Final Presentation V1.8Final Presentation V1.8
Final Presentation V1.8
 
Build a "Who's Who" App for Your Media Content (AIM409) - AWS re:Invent 2018
Build a "Who's Who" App for Your Media Content (AIM409) - AWS re:Invent 2018Build a "Who's Who" App for Your Media Content (AIM409) - AWS re:Invent 2018
Build a "Who's Who" App for Your Media Content (AIM409) - AWS re:Invent 2018
 
jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013
jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013
jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013
 
What's New with Schema and Structured Data - Max Prin - SMX Advanced 2019
What's New with Schema and Structured Data - Max Prin - SMX Advanced 2019What's New with Schema and Structured Data - Max Prin - SMX Advanced 2019
What's New with Schema and Structured Data - Max Prin - SMX Advanced 2019
 
SDKs, the good the bad the ugly - Japan
SDKs, the good the bad the ugly - JapanSDKs, the good the bad the ugly - Japan
SDKs, the good the bad the ugly - Japan
 
David Gómez G. - Hypermedia APIs for headless platforms and Data Integration ...
David Gómez G. - Hypermedia APIs for headless platforms and Data Integration ...David Gómez G. - Hypermedia APIs for headless platforms and Data Integration ...
David Gómez G. - Hypermedia APIs for headless platforms and Data Integration ...
 

Recently uploaded

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
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
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
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
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Recently uploaded (20)

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
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
 
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!
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint 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?
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

Scaling an API: From Reboots to Redis, how (not) to do it

Editor's Notes

  1. Good Afternoon share my experiences So from reboots, To Redis, still works my journey Not why should But What happens when BIG
  2. So who I am? Ciaran, Freelance CTO PHP UK Ireland, Talk so slow What?
  3. Talk about architecture Take you through some of my blueprints for success
  4. 14 Billion API requests 4 Billion Page views 145 Million Unique users monetize 1million Websites 26 thousand customers didn’t start like that
  5. Started Skimbit.com Rebranded skimit.com social decision making and bookmarking tool Launched 2007 topic create a page
  6. bookmark items brides maids shoes friends and family comments / rating One day something BIG happened!!
  7. We got Techcrunched!! Website didn’t go down So …
  8. Partied! You see At that that time …
  9. hosted at FlexiScale anyone? No? Small, local, cloud SIMPLE CEO’s number on speed dial Everything we need Our app was …
  10. App /arch very straight forward It looked like this Few still like this? node.js on solar powered raspberry pi’s Ours & we were happy with it BUT one day this happened ->
  11. three day outage to the hour wasn’t our fault Well really it was
  12. the cloud floated away!! human error !! deleted main storage restore via remount Not enough hardware ship from Germany! Didn’t have a backup plan So …
  13. We panicked! CEO’s number no answer
  14. Our app is simple Just deploy Not that easy We thought But…
  15. DNS servers were OUR server Email records on OUR Server Even customer uploaded images on it One giant single point of failure This is how NOT to do it
  16. DNS was the hardest 24 Hour TTL on NS records
  17. Email right after Already using Google Apps 30 min TTL on MX Once DNS back ..
  18. Finally Back up images to S3
  19. Shortly after this We started October 2008
  20. We business means new website Nov 2008
  21. New hosting company The Planet Real dedicated servers No cloud float Backward? Sensible New app , new arch
  22. New App New ARCHICTURE Half dozen servers Next slide!!
  23. 2 API boxes - redunecy Mostly read Writes local
  24. Master slave DB MySQL replication –again 2 - redunecy Sperate writes Batch writes to master
  25. Finally client app Reports Website Etc Last mention
  26. Simple Unbreakable
  27. Taking off Growth over the next few years Interesting events Coming up
  28. 1 Year in we Signed Wordpress
  29. 3 years in Pinterest took off! but lets come back to where we started
  30. Architecture = this Never could break! But then! WP Approaching our 1 st challange
  31. Stopped recording Important lesson Only record what you need Later we did record Moving on … started to grow
  32. International traffic growing 40% = USA 20% = UK 10% = France 30% =others like germany canada So moving on up! Groth means new website
  33. Started to improve New Website easly 2010
  34. New product Skimwords Analyses content Creates links Time for something new
  35. Great thing New products go on new servers!! Eventually all on AWS This where start talking about the right way
  36. 2nd challenge International traffic growing
  37. Created API boxen Apache PHP Memcached Single mimum unit to do work
  38. Scaled out API horizontaly Added ELB Backed by MYSQL Skimwords = MongoDB
  39. globally Amazon regions Availabily zones Mysql Master slave Mongo Master Slave Mongo 1.6 Ultra DNS = GLB Failover Short TTL
  40. It worked Latency dropped huge
  41. World Graphs Blue = europe Green = us east Red = us west
  42. We were where Xmas ‘10 And this was coming Pinterest over 1 year Growing fast So we start to improve What happens when things change, some new So what do you think the 1 st step?
  43. First step New website Early 2011 And then …
  44. We bought Atma 3 rd challange Integrate them into our stack, python Also new services in python due to new python devs
  45. 4 th challange And did some research Bake off Apache Worker = Not thread safe PHP Drivers Mongo at the time
  46. Picked Python Why not scala? Many reasons Team skills
  47. New Jay Box Same princaples, new arch Jay = Json Ngix PHP/Apache Tornado / Python Flume AGENT for logs+events
  48. Again same princeables Make a Cluster Jays ELB Mysql Memcached Flume Collector C Tree Filter + Redis
  49. Again International Clusters Balance with Ultra DNS Mysql Master Slave Flume Master -> S3 – do Hadoop jobs Hbase real time analytics
  50. Other tools Puppet Jenkins-ci / RMP’s / Hubot Fastly Api Axle
  51. Monitoring Local Cacti Icinga aka nagios Lerenzo Pindom & Padgerduty
  52. NOC Always watching Finally Reminder
  53. NOC Always watching Finally Reminder
  54. Questions!
  55. My Details Hope you got something from this We learned a lot Hope you can apply to your business here for the rest of day Hope you all get a lot out of the rest of the week