SlideShare a Scribd company logo
1 of 43
Moving to the Cloud
with NYTimes.com

       Ben Gerst
    Vadim Jelezniakov
     OSCON 2010
Vanilla AWS - Do
Everything Yourself
 Choose / Build Images

 ‘Slice’ Your Resources

   Store Meta Data

    Define Process

          etc.
Great For Start-Ups


   Nothing to Lose,
  Everything to Gain
Difficult for
Grown-Ups
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
But First...
   Why Move?

   Ben talks about
      Community
Calls at 6PM on Friday
       and Beer
What is UGC
 @nytimes?
Comments on Articles and Blogs
Rate and Review for Movies,
 Theater, Dining and Travel
once upon a time...
hmm...
• need to be able
  to scale quickly
  on demand

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

You've been down there, Neo. You already know
that road. You know exactly where it ends.
move to the cloud
traffic spikes - add capacity
traffic spikes - add capacity
nytimes.com community
architecture circa. 2007
ugc architecture
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?
nginx

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

• host files
• monit
security groups
             production

                cmty

                       cmty-   cmty-
cmty-fe   cmty-api
                       cache   mysql
monitoring
development instances!
Grown-Ups:
Existing Organization

   Software Developers

      QA Specialists

       Management

  Infrastructure Engineers

   System Administrators
Grown-Ups:
Existing Process

    Development

        QA

       Staging

     Production

Security / Compliance
Grown-Ups:
    Existing
Infrastructure

 Authentication

 Source Control

   Monitoring

Network Security
Other Cloud
   Managers

    No Auth Hooks

No Slices (Subaccounts)*

 No Monitoring Hooks

      Expensive*
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
Nimbul
    Meta Data Store

Configuration Management

    Access Control

       Publishers

  Sane Auto-Scaling UI

        F2WW
Nimbul Cloud
          Providers
               ( EC2 )


   Provider Accounts
     ( Dev, Staging, Production )


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


     Server Profiles
( UGC FrontEnd, UGC MySQL Master )


          Instances
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
Extending Existing Infrastructure
         to the Cloud
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
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

More Related Content

What's hot

[Js hcm] Deploying node.js with Forever.js and nginx
[Js hcm] Deploying node.js with Forever.js and nginx[Js hcm] Deploying node.js with Forever.js and nginx
[Js hcm] Deploying node.js with Forever.js and nginxNicolas Embleton
 
Microsoft Azure Container Service - DockerCH
Microsoft Azure Container Service - DockerCHMicrosoft Azure Container Service - DockerCH
Microsoft Azure Container Service - DockerCHNguyen Anh Tu
 
Introduction to node
Introduction to nodeIntroduction to node
Introduction to nodegirish82
 
The Secret Sauce in the Open Cloud
The Secret Sauce in the Open CloudThe Secret Sauce in the Open Cloud
The Secret Sauce in the Open Cloudhugs
 
Ops, DevOps, NoOps and AWS Lambda
Ops, DevOps, NoOps and AWS LambdaOps, DevOps, NoOps and AWS Lambda
Ops, DevOps, NoOps and AWS LambdaMatthew Boeckman
 
Serverless framework와 CircleCI를 통한 NoOps 맛보기
Serverless framework와 CircleCI를 통한 NoOps 맛보기Serverless framework와 CircleCI를 통한 NoOps 맛보기
Serverless framework와 CircleCI를 통한 NoOps 맛보기Kyuhyun Byun
 
Create a RESTful API with NodeJS, Express and MongoDB
Create a RESTful API with NodeJS, Express and MongoDBCreate a RESTful API with NodeJS, Express and MongoDB
Create a RESTful API with NodeJS, Express and MongoDBHengki Sihombing
 
Mern stack
Mern stackMern stack
Mern stackEduonix
 
20211120 Automating EC2 operations / EC2運用の自動化
20211120 Automating EC2 operations / EC2運用の自動化20211120 Automating EC2 operations / EC2運用の自動化
20211120 Automating EC2 operations / EC2運用の自動化Masaru Ogura
 
Intro to Node.js (v1)
Intro to Node.js (v1)Intro to Node.js (v1)
Intro to Node.js (v1)Chris Cowan
 
Designing for elasticity on AWS - 9.11.2015
Designing for elasticity on AWS - 9.11.2015Designing for elasticity on AWS - 9.11.2015
Designing for elasticity on AWS - 9.11.2015Anton Babenko
 
XenServer and OpenStack
XenServer and OpenStackXenServer and OpenStack
XenServer and OpenStackJohn Garbutt
 
Immutable servers with Packer/Chef/AWS
Immutable servers with Packer/Chef/AWSImmutable servers with Packer/Chef/AWS
Immutable servers with Packer/Chef/AWSPavel Gabriel
 
Scaling WordPress - WP on AWS
Scaling WordPress - WP on AWSScaling WordPress - WP on AWS
Scaling WordPress - WP on AWSstk_jj
 
Introduction 2 to aws and storage options
Introduction 2 to aws and storage optionsIntroduction 2 to aws and storage options
Introduction 2 to aws and storage optionsSzilveszter Molnár
 
Micro services architecture and service fabric
Micro services architecture and service fabricMicro services architecture and service fabric
Micro services architecture and service fabricLuis Valencia
 
Cloud Formation
Cloud FormationCloud Formation
Cloud FormationAdron Hall
 

What's hot (20)

[Js hcm] Deploying node.js with Forever.js and nginx
[Js hcm] Deploying node.js with Forever.js and nginx[Js hcm] Deploying node.js with Forever.js and nginx
[Js hcm] Deploying node.js with Forever.js and nginx
 
Vpc aws meetup
Vpc   aws meetupVpc   aws meetup
Vpc aws meetup
 
Vagrant
VagrantVagrant
Vagrant
 
Microsoft Azure Container Service - DockerCH
Microsoft Azure Container Service - DockerCHMicrosoft Azure Container Service - DockerCH
Microsoft Azure Container Service - DockerCH
 
Introduction to node
Introduction to nodeIntroduction to node
Introduction to node
 
The Secret Sauce in the Open Cloud
The Secret Sauce in the Open CloudThe Secret Sauce in the Open Cloud
The Secret Sauce in the Open Cloud
 
Ops, DevOps, NoOps and AWS Lambda
Ops, DevOps, NoOps and AWS LambdaOps, DevOps, NoOps and AWS Lambda
Ops, DevOps, NoOps and AWS Lambda
 
Node.js on Azure
Node.js on AzureNode.js on Azure
Node.js on Azure
 
Serverless framework와 CircleCI를 통한 NoOps 맛보기
Serverless framework와 CircleCI를 통한 NoOps 맛보기Serverless framework와 CircleCI를 통한 NoOps 맛보기
Serverless framework와 CircleCI를 통한 NoOps 맛보기
 
Create a RESTful API with NodeJS, Express and MongoDB
Create a RESTful API with NodeJS, Express and MongoDBCreate a RESTful API with NodeJS, Express and MongoDB
Create a RESTful API with NodeJS, Express and MongoDB
 
Mern stack
Mern stackMern stack
Mern stack
 
20211120 Automating EC2 operations / EC2運用の自動化
20211120 Automating EC2 operations / EC2運用の自動化20211120 Automating EC2 operations / EC2運用の自動化
20211120 Automating EC2 operations / EC2運用の自動化
 
Intro to Node.js (v1)
Intro to Node.js (v1)Intro to Node.js (v1)
Intro to Node.js (v1)
 
Designing for elasticity on AWS - 9.11.2015
Designing for elasticity on AWS - 9.11.2015Designing for elasticity on AWS - 9.11.2015
Designing for elasticity on AWS - 9.11.2015
 
XenServer and OpenStack
XenServer and OpenStackXenServer and OpenStack
XenServer and OpenStack
 
Immutable servers with Packer/Chef/AWS
Immutable servers with Packer/Chef/AWSImmutable servers with Packer/Chef/AWS
Immutable servers with Packer/Chef/AWS
 
Scaling WordPress - WP on AWS
Scaling WordPress - WP on AWSScaling WordPress - WP on AWS
Scaling WordPress - WP on AWS
 
Introduction 2 to aws and storage options
Introduction 2 to aws and storage optionsIntroduction 2 to aws and storage options
Introduction 2 to aws and storage options
 
Micro services architecture and service fabric
Micro services architecture and service fabricMicro services architecture and service fabric
Micro services architecture and service fabric
 
Cloud Formation
Cloud FormationCloud Formation
Cloud Formation
 

Viewers also liked

Gerencia de proyectos de tecnologia educativa
Gerencia de proyectos de tecnologia educativaGerencia de proyectos de tecnologia educativa
Gerencia de proyectos de tecnologia educativaDIDIER PEÑALOZA
 
Trabajo musica-tdah1
Trabajo musica-tdah1Trabajo musica-tdah1
Trabajo musica-tdah1Brabata
 
Actividad 3 jesse
Actividad 3 jesseActividad 3 jesse
Actividad 3 jesseJimne Paez
 
Script for question 7 video
Script for question 7 videoScript for question 7 video
Script for question 7 videowhslaura
 
216 elastography using ivus
216 elastography using ivus216 elastography using ivus
216 elastography using ivusSHAPE Society
 
CV Amine Saadouni Fr 2015
CV Amine Saadouni Fr 2015CV Amine Saadouni Fr 2015
CV Amine Saadouni Fr 2015Amine Saadouni
 
Sejarah pengukuhan ambalan
Sejarah pengukuhan ambalanSejarah pengukuhan ambalan
Sejarah pengukuhan ambalanWindi Andrianita
 
Toma de decisiones para adolescentes
Toma de decisiones para adolescentesToma de decisiones para adolescentes
Toma de decisiones para adolescentesJhanira Guerra
 
Radiological Imaging in Head and Neck and relevant anatomy
Radiological Imaging in Head and Neck and relevant anatomyRadiological Imaging in Head and Neck and relevant anatomy
Radiological Imaging in Head and Neck and relevant anatomyVibhay Pareek
 
Atmosphere and climate science - MYP Year 4
Atmosphere and climate science - MYP Year 4Atmosphere and climate science - MYP Year 4
Atmosphere and climate science - MYP Year 4Brad Kremer
 
Makalah Evaluasi Program Kerja OSIS/PK VIP SMAN 68 Jakarta
Makalah Evaluasi Program Kerja OSIS/PK VIP SMAN 68 JakartaMakalah Evaluasi Program Kerja OSIS/PK VIP SMAN 68 Jakarta
Makalah Evaluasi Program Kerja OSIS/PK VIP SMAN 68 Jakartawisnuwms
 

Viewers also liked (15)

Gerencia de proyectos de tecnologia educativa
Gerencia de proyectos de tecnologia educativaGerencia de proyectos de tecnologia educativa
Gerencia de proyectos de tecnologia educativa
 
Trabajo musica-tdah1
Trabajo musica-tdah1Trabajo musica-tdah1
Trabajo musica-tdah1
 
Actividad 3 jesse
Actividad 3 jesseActividad 3 jesse
Actividad 3 jesse
 
Presentation1
Presentation1Presentation1
Presentation1
 
Script for question 7 video
Script for question 7 videoScript for question 7 video
Script for question 7 video
 
216 elastography using ivus
216 elastography using ivus216 elastography using ivus
216 elastography using ivus
 
TrakFit
TrakFitTrakFit
TrakFit
 
CV Amine Saadouni Fr 2015
CV Amine Saadouni Fr 2015CV Amine Saadouni Fr 2015
CV Amine Saadouni Fr 2015
 
Sejarah pengukuhan ambalan
Sejarah pengukuhan ambalanSejarah pengukuhan ambalan
Sejarah pengukuhan ambalan
 
Papan nama gugus depan
Papan nama gugus depanPapan nama gugus depan
Papan nama gugus depan
 
Toma de decisiones para adolescentes
Toma de decisiones para adolescentesToma de decisiones para adolescentes
Toma de decisiones para adolescentes
 
Radiological Imaging in Head and Neck and relevant anatomy
Radiological Imaging in Head and Neck and relevant anatomyRadiological Imaging in Head and Neck and relevant anatomy
Radiological Imaging in Head and Neck and relevant anatomy
 
Tax loss expiration
Tax loss expirationTax loss expiration
Tax loss expiration
 
Atmosphere and climate science - MYP Year 4
Atmosphere and climate science - MYP Year 4Atmosphere and climate science - MYP Year 4
Atmosphere and climate science - MYP Year 4
 
Makalah Evaluasi Program Kerja OSIS/PK VIP SMAN 68 Jakarta
Makalah Evaluasi Program Kerja OSIS/PK VIP SMAN 68 JakartaMakalah Evaluasi Program Kerja OSIS/PK VIP SMAN 68 Jakarta
Makalah Evaluasi Program Kerja OSIS/PK VIP SMAN 68 Jakarta
 

Similar to Moving to the Cloud with ny times.com

Lessons learned migrating 100+ services to Kubernetes
Lessons learned migrating 100+ services to KubernetesLessons learned migrating 100+ services to Kubernetes
Lessons learned migrating 100+ services to KubernetesJose Galarza
 
PowerPoint Presentation
PowerPoint PresentationPowerPoint Presentation
PowerPoint Presentationlalitjangra9
 
ChinaNetCloud - Cloud Operations for Gaming - Tencent July 2014
ChinaNetCloud - Cloud Operations for Gaming - Tencent July 2014ChinaNetCloud - Cloud Operations for Gaming - Tencent July 2014
ChinaNetCloud - Cloud Operations for Gaming - Tencent July 2014ChinaNetCloud
 
Practical Cloud & Workflow Orchestration
Practical Cloud & Workflow OrchestrationPractical Cloud & Workflow Orchestration
Practical Cloud & Workflow OrchestrationChris Dagdigian
 
Virtualization and Cloud Computing with Elastic Server On Demand
Virtualization and Cloud Computing with Elastic Server On DemandVirtualization and Cloud Computing with Elastic Server On Demand
Virtualization and Cloud Computing with Elastic Server On DemandYan Pritzker
 
Containerizing your Security Operations Center
Containerizing your Security Operations CenterContainerizing your Security Operations Center
Containerizing your Security Operations CenterJimmy Mesta
 
Hypervisor Security - OpenStack Summit Hong Kong
Hypervisor Security - OpenStack Summit Hong KongHypervisor Security - OpenStack Summit Hong Kong
Hypervisor Security - OpenStack Summit Hong KongRobert Clark
 
KubeVirt, its networking, and how we brought it to the next level
KubeVirt, its networking, and how we brought it to the next levelKubeVirt, its networking, and how we brought it to the next level
KubeVirt, its networking, and how we brought it to the next levelAndrei Kvapil
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaAmazon Web Services
 
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaSAutoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaSShixiong Shang
 
Java Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the CloudJava Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the CloudMongoDB
 
Rohit yadav cloud stack internals
Rohit yadav   cloud stack internalsRohit yadav   cloud stack internals
Rohit yadav cloud stack internalsShapeBlue
 
There is No Server: Immutable Infrastructure and Serverless Architecture
There is No Server: Immutable Infrastructure and Serverless ArchitectureThere is No Server: Immutable Infrastructure and Serverless Architecture
There is No Server: Immutable Infrastructure and Serverless ArchitectureSonatype
 
Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...
Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...
Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...Arthur Berezin
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...Amazon Web Services
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Emerson Eduardo Rodrigues Von Staffen
 
Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401Amazon Web Services
 

Similar to Moving to the Cloud with ny times.com (20)

Lessons learned migrating 100+ services to Kubernetes
Lessons learned migrating 100+ services to KubernetesLessons learned migrating 100+ services to Kubernetes
Lessons learned migrating 100+ services to Kubernetes
 
PowerPoint Presentation
PowerPoint PresentationPowerPoint Presentation
PowerPoint Presentation
 
ChinaNetCloud - Cloud Operations for Gaming - Tencent July 2014
ChinaNetCloud - Cloud Operations for Gaming - Tencent July 2014ChinaNetCloud - Cloud Operations for Gaming - Tencent July 2014
ChinaNetCloud - Cloud Operations for Gaming - Tencent July 2014
 
Practical Cloud & Workflow Orchestration
Practical Cloud & Workflow OrchestrationPractical Cloud & Workflow Orchestration
Practical Cloud & Workflow Orchestration
 
Elatt Presentation
Elatt PresentationElatt Presentation
Elatt Presentation
 
Virtualization and Cloud Computing with Elastic Server On Demand
Virtualization and Cloud Computing with Elastic Server On DemandVirtualization and Cloud Computing with Elastic Server On Demand
Virtualization and Cloud Computing with Elastic Server On Demand
 
Containerizing your Security Operations Center
Containerizing your Security Operations CenterContainerizing your Security Operations Center
Containerizing your Security Operations Center
 
Hypervisor Security - OpenStack Summit Hong Kong
Hypervisor Security - OpenStack Summit Hong KongHypervisor Security - OpenStack Summit Hong Kong
Hypervisor Security - OpenStack Summit Hong Kong
 
KubeVirt, its networking, and how we brought it to the next level
KubeVirt, its networking, and how we brought it to the next levelKubeVirt, its networking, and how we brought it to the next level
KubeVirt, its networking, and how we brought it to the next level
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
 
Node js introduction
Node js introductionNode js introduction
Node js introduction
 
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaSAutoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
 
Java Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the CloudJava Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the Cloud
 
Rohit yadav cloud stack internals
Rohit yadav   cloud stack internalsRohit yadav   cloud stack internals
Rohit yadav cloud stack internals
 
There is No Server: Immutable Infrastructure and Serverless Architecture
There is No Server: Immutable Infrastructure and Serverless ArchitectureThere is No Server: Immutable Infrastructure and Serverless Architecture
There is No Server: Immutable Infrastructure and Serverless Architecture
 
Application Delivery Patterns
Application Delivery PatternsApplication Delivery Patterns
Application Delivery Patterns
 
Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...
Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...
Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
 
Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401
 

Moving to the Cloud with ny times.com

Editor's Notes

  1. a quick introduction
  2. comments on articles and blogs - we get about 130K comments per month and 1.5 million reader recommendations.
  3. rate and review for movies, theater, dining and travel destinations
  4. going back about 2 years now - comments on articles had been live for a year. we (the ugc platform team at the times) were in the process of standardizing the entire platform and adding features like reporter replies and the community open api. We had ramped up our internal community hardware for the presidential elections, adding a few servers to handle the extra traffic we were expecting. One friday around 6pm I get a call from systems saying we were having trouble with our api servers, the load was off the charts.
  5. I immediately dig in and go into the controlled panic that settles in when you get a call like this from systems. Soon enough the alerts started rolling in for the front end machines as well. With some log checks we quickly realized our friends at yahoo were linking to a story that had comments turned on. We were seeing around 600 requests per second which was too much for our current architecture to handle. Unfortunately we had no choice but to turn comments off on the story as it was affecting the rest of the platform.
  6. This brings to light a couple of things. One, we needed to rethink the architecture a bit, figure out a way to scale dynamically. Quickly scaling hardware for us currently meant scrambling to get a request in and then actually acquiring it and getting it all set up we were looking at a month (if it was quick.)
  7. So, what do we do? We had 2 options. Another round of capacity planning, getting a few more machines to be able to handle the spikes. Boring.
  8. Another, much more sexy option was moving out to the cloud. At the time some of our colleagues had been playing with applications on amazon&apos;s ec2 infrastructure with much success. Thinking about it, this could be the answer to all of our worldly problems. It was also an intimidating proposition as no one had moved an entire platform out there yet but the upside was a never ending source of amazon instances to scale up and down as we please.
  9. The key here we thought was not only scaling up for spikes but perhaps scaling down at night when not as many of you were commenting.
  10. Back in 2007/2008, this was our setup which utilized 6 frontend zones, 2 api zones, 6 backend zones and then we had one master db and 3 slaves. memcached was running on the backend zones. You can tell how long ago it was from this ancient looking diagram.
  11. So as we closed in on the architecture we came up with a similar set up in the cloud with front end, api, memcache and mysql instances filling out the platform. We didn&apos;t change much in the way the platform looked except to split out the caching but we definitely had some gaps to fill.
  12. We had lots of questions that were fun to answer. How would the front ends know which api instance to request? Or where exactly is that database the api instance is supposed to query? Better yet, how are we going to manage all of these instances? How exactly will it scale? How will we request internal api&amp;#x2019;s that live back in our data center?
  13. For load balancing we set up an instance with only nginx and assigned an elastic ip to it. We did the same for proxying requests back to internal api&amp;#x2019;s.
  14. when we have to scale up or back, we have a shared host file that is automatically changed to add or remove the instances. This host file is then pushed to each instance. monit is watching that file and bounces the load balancer when it changes.
  15. For security we simplified the use of amazon security groups to make it easy to assign groups to specific server types. For instance, if I am a community front-end instance in production I would grab the production security group as well as the general community group and then the specific cmty-fe group.
  16. we went with a couple of different options set up in the cloud for monitoring and alerts. we use nagios for monitoring and alerts. we&amp;#x2019;ve set up munin for the pretty pictures.
  17. one of my personal favorite nice to haves to come out of this project was individual development instances. we created a condensed version of the entire platform on a small ec2 instance with a recent snapshot of our staging database and all of our code. With our cloudsource deployment system that Vadim will cover in a few minutes, we can grab any version of our code to deploy on these instances.