SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
Moving to the Cloud
            with NYTimes.com

                             Ben Gerst
                          Vadim Jelezniakov
                           OSCON 2010




Friday, August 13, 2010
Vanilla AWS - Do
                Everything Yourself
                   Choose / Build Images

                    ‘Slice’ Your Resources

                          Store Meta Data

                          Define Process

                               etc.



Friday, August 13, 2010
Great For Start-Ups


                           Nothing to Lose,
                          Everything to Gain




Friday, August 13, 2010
Difficult for
                          Grown-Ups




Friday, August 13, 2010
Difficult for
                          Grown-Ups
                     Like a 150 y.o.
                  Newspaper with a
                    14 y.o. Web Site
                  and a 3 y.o. building
               that the guy on the right
                    climbed in 2008



Friday, August 13, 2010
But First...
                          Why Move?

                     Ben talks about
                        Community
                  Calls at 6PM on Friday
                         and Beer




Friday, August 13, 2010
What is UGC
                           @nytimes?




Friday, August 13, 2010
Comments on Articles and Blogs




Friday, August 13, 2010
Rate and Review for Movies,
                           Theater, Dining and Travel




Friday, August 13, 2010
once upon a time...




Friday, August 13, 2010
Friday, August 13, 2010
hmm...
                     • need to be able
                          to scale quickly
                          on demand

                     • we don’t like
                          calls from
                          systems at 6pm
                          on Fridays

Friday, August 13, 2010
buy more hardware

                          You've been down there, Neo. You already know
                          that road. You know exactly where it ends.




Friday, August 13, 2010
move to the cloud

Friday, August 13, 2010
traffic spikes - add capacity




Friday, August 13, 2010
traffic spikes - add capacity




Friday, August 13, 2010
nytimes.com community
                          architecture circa. 2007




Friday, August 13, 2010
ugc architecture




Friday, August 13, 2010
gap analysis
                     • load balancing?
                     • how do we manage communication
                          between instances? what about talking
                          back to the datacenter?
                     • how do we scale up and back?
                     • how do we secure the instances?

Friday, August 13, 2010
nginx

                     • elastic ip points to nginx which handles all
                          of our traffic
                     • nginx has the rules which determine where
                          to send requests




Friday, August 13, 2010
communication &
                              scaling

                     • host files
                     • monit


Friday, August 13, 2010
security groups
                                       production

                                          cmty

                                                 cmty-   cmty-
                          cmty-fe   cmty-api
                                                 cache   mysql




Friday, August 13, 2010
monitoring




Friday, August 13, 2010
development instances!




Friday, August 13, 2010
Grown-Ups:
           Existing Organization

                          Software Developers

                            QA Specialists

                             Management

                     Infrastructure Engineers

                      System Administrators



Friday, August 13, 2010
Grown-Ups:
                     Existing Process

                              Development

                                  QA

                                 Staging

                               Production

                          Security / Compliance



Friday, August 13, 2010
Grown-Ups:
                              Existing
                          Infrastructure

                           Authentication

                           Source Control

                             Monitoring

                          Network Security




Friday, August 13, 2010
Other Cloud
                             Managers

                              No Auth Hooks

                          No Slices (Subaccounts)*

                           No Monitoring Hooks

                                Expensive*




Friday, August 13, 2010
Nimbul
                          Light Cloud Manager
                          http://github.com/nimbul/nimbul
                          Emissary
                          Fast AMQP Messaging
                          http://github.com/nimbul/emissary
                          CloudSource
                          Simple SVN Deployment
                          http://github.com/nimbul/cloudsource
                          based on ServerMattic developed by WordPress



Friday, August 13, 2010
Nimbul
                           Meta Data Store

                 Configuration Management

                            Access Control

                               Publishers

                          Sane Auto-Scaling UI

                                F2WW



Friday, August 13, 2010
Nimbul Cloud
                                    Providers
                                         ( EC2 )


                             Provider Accounts
                               ( Dev, Staging, Production )


                             Clusters (“Slices”)
                           ( UGC Staging, WWW Production )


                               Server Profiles
                          ( UGC FrontEnd, UGC MySQL Master )


                                    Instances



Friday, August 13, 2010
Nimbul Users

                              Nimbul Admins
                             ( Full Access, can’t read keys )

                                                                             Before Nimbul
                      Provider Account Admins
              ( Control Users, Resources, Env Vars, Startup Scripts, etc )


                          Cluster (“Slice”) Admins
              ( Control Users, Resources, Env Vars, Startup Scripts, etc )


                                  SSH Users
                ( Can be granted SSH access to any running instance )

                                                                             After Nimbul



Friday, August 13, 2010
Extending Existing Infrastructure
                                   to the Cloud




Friday, August 13, 2010
Friday, August 13, 2010
Friday, August 13, 2010
Friday, August 13, 2010
Friday, August 13, 2010
Friday, August 13, 2010
Friday, August 13, 2010
Friday, August 13, 2010
CloudSource
                 SVN + bash

                 Role in SVN:
                     files/
                         etc/
                              my.cnf
                         <svn:external opt/nyt/app>
                     scripts/
                         install.sh

                 Deploy:
                    role.sh apply role1,role2,role3

                 Update:
                    role.sh update role

Friday, August 13, 2010
Friday, August 13, 2010
Nimbul
                          Light Cloud Manager
                          http://github.com/nimbul/nimbul
                          Emissary
                          Fast AMQP Messaging
                          http://github.com/nimbul/emissary
                          CloudSource
                          Simple SVN Deployment
                          http://github.com/nimbul/cloudsource
                          based on ServerMattic developed by WordPress



Friday, August 13, 2010

Mais conteúdo relacionado

Último

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
 
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
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Último (20)

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
 
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
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 

Destaque

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellSaba Software
 

Destaque (20)

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 

Moving to the Cloud with NYTimes.com

  • 1. Moving to the Cloud with NYTimes.com Ben Gerst Vadim Jelezniakov OSCON 2010 Friday, August 13, 2010
  • 2. Vanilla AWS - Do Everything Yourself Choose / Build Images ‘Slice’ Your Resources Store Meta Data Define Process etc. Friday, August 13, 2010
  • 3. Great For Start-Ups Nothing to Lose, Everything to Gain Friday, August 13, 2010
  • 4. Difficult for Grown-Ups Friday, August 13, 2010
  • 5. Difficult for Grown-Ups Like a 150 y.o. Newspaper with a 14 y.o. Web Site and a 3 y.o. building that the guy on the right climbed in 2008 Friday, August 13, 2010
  • 6. But First... Why Move? Ben talks about Community Calls at 6PM on Friday and Beer Friday, August 13, 2010
  • 7. What is UGC @nytimes? Friday, August 13, 2010
  • 8. Comments on Articles and Blogs Friday, August 13, 2010
  • 9. Rate and Review for Movies, Theater, Dining and Travel Friday, August 13, 2010
  • 10. once upon a time... Friday, August 13, 2010
  • 12. hmm... • need to be able to scale quickly on demand • we don’t like calls from systems at 6pm on Fridays Friday, August 13, 2010
  • 13. buy more hardware You've been down there, Neo. You already know that road. You know exactly where it ends. Friday, August 13, 2010
  • 14. move to the cloud Friday, August 13, 2010
  • 15. traffic spikes - add capacity Friday, August 13, 2010
  • 16. traffic spikes - add capacity Friday, August 13, 2010
  • 17. nytimes.com community architecture circa. 2007 Friday, August 13, 2010
  • 19. gap analysis • load balancing? • how do we manage communication between instances? what about talking back to the datacenter? • how do we scale up and back? • how do we secure the instances? Friday, August 13, 2010
  • 20. nginx • elastic ip points to nginx which handles all of our traffic • nginx has the rules which determine where to send requests Friday, August 13, 2010
  • 21. communication & scaling • host files • monit Friday, August 13, 2010
  • 22. security groups production cmty cmty- cmty- cmty-fe cmty-api cache mysql Friday, August 13, 2010
  • 25. Grown-Ups: Existing Organization Software Developers QA Specialists Management Infrastructure Engineers System Administrators Friday, August 13, 2010
  • 26. Grown-Ups: Existing Process Development QA Staging Production Security / Compliance Friday, August 13, 2010
  • 27. Grown-Ups: Existing Infrastructure Authentication Source Control Monitoring Network Security Friday, August 13, 2010
  • 28. Other Cloud Managers No Auth Hooks No Slices (Subaccounts)* No Monitoring Hooks Expensive* Friday, August 13, 2010
  • 29. Nimbul Light Cloud Manager http://github.com/nimbul/nimbul Emissary Fast AMQP Messaging http://github.com/nimbul/emissary CloudSource Simple SVN Deployment http://github.com/nimbul/cloudsource based on ServerMattic developed by WordPress Friday, August 13, 2010
  • 30. Nimbul Meta Data Store Configuration Management Access Control Publishers Sane Auto-Scaling UI F2WW Friday, August 13, 2010
  • 31. Nimbul Cloud Providers ( EC2 ) Provider Accounts ( Dev, Staging, Production ) Clusters (“Slices”) ( UGC Staging, WWW Production ) Server Profiles ( UGC FrontEnd, UGC MySQL Master ) Instances Friday, August 13, 2010
  • 32. Nimbul Users Nimbul Admins ( Full Access, can’t read keys ) Before Nimbul Provider Account Admins ( Control Users, Resources, Env Vars, Startup Scripts, etc ) Cluster (“Slice”) Admins ( Control Users, Resources, Env Vars, Startup Scripts, etc ) SSH Users ( Can be granted SSH access to any running instance ) After Nimbul Friday, August 13, 2010
  • 33. Extending Existing Infrastructure to the Cloud Friday, August 13, 2010
  • 41. CloudSource SVN + bash Role in SVN: files/ etc/ my.cnf <svn:external opt/nyt/app> scripts/ install.sh Deploy: role.sh apply role1,role2,role3 Update: role.sh update role Friday, August 13, 2010
  • 43. Nimbul Light Cloud Manager http://github.com/nimbul/nimbul Emissary Fast AMQP Messaging http://github.com/nimbul/emissary CloudSource Simple SVN Deployment http://github.com/nimbul/cloudsource based on ServerMattic developed by WordPress Friday, August 13, 2010