SlideShare una empresa de Scribd logo
1 de 46
Architecting an Highly Available
 and Scalable WordPress Site in
              AWS

     Harish11g.aws@gmail.com
    http://harish11g.blogspot.com
Why this presentation ?

• WordPress is used by over 14.7% of Alexa Internet's
  "top 1 million" websites
• As of August 2011 WordPress powers 22% of all
  new websites
• As of December 2011, version 3.0 had been
  downloaded over 65 million times
• Provide some architectural insights to build Highly
  Scalable and Available WordPress sites in AWS
• Help startups and companies who are new to AWS-
  WordPress with some blueprints
WordPress Architecture Requirements in
                  AWS
• Ability to Serve millions of Pages per day
• Ability to scale out/down dynamically depending
  upon traffic
• Ability to perform well even with scaling demands
• Should be Highly available without Single Points of
  Failure
• Automated Operations – Backup and Monitoring
• Cost effective
Why AWS is better for WordPress Scaling?

• AWS provides flexibility to Scale up and Scale out
• AWS provides Building block services which is
  inherently robust and fault tolerant
• AWS provides full range of options from CDN , OS
  flavors , Storage Pool , Database , Load Balancers ,
  Monitoring etc
• Pay as you go – Save cost by leveraging Auto Scaled
  WordPress EC2 instances
• We can start small and grow big in AWS
AWS Building Blocks used in this WordPress
               Architecture
Some AWS building blocks

 Amazon            Amazon Route53 for managing and answering DNS queries
 Route 53


                   Amazon Elastic Load Balancer for load balancing HTTP/S
                   requests to WordPress Instances

                   RDS MySQL Database Server for storing the WordPress content

                   Simple Storage Service (S3) for storing the WordPress
    S3
                   application assets , snapshots and log files


 Amazon
                   Amazon CloudFront CDN for delivering the application static
CloudFront         assets from nearest edge locations

  Amazon           Amazon CloudWatch for monitoring and sending SNS alerts
CloudWatch
Highly Scalable Architecture for WordPress
                 application
Admin
                                                                                             Amazon
AZ : Amazon                                 Amazon                                          CloudFront
Availability Zones                          Route 53


                             AWS Region 1                                                             Static Data

                             SSH/SFTP                                  Elastic
                                                                        Load         S3
                                                                      Balancer
   Amazon
 CloudWatch
                                                         Az-1                Az-2
   Alarms                                                                                  Auto Scaled
                                                                                          WordPress EC2
                               WordPress                                                    instances
                            Management Server

 Amazon SNS
 Notifications
                                                                    Az-1                       Az-2

                     Az-1           Az-2                                                  Standby



                                                                RDS Master
                                                                                      Read Replica

 Backups and
   Log files                File Storage Pool          Database Layer            Database Layer
Brief about the Architecture

• Multi- Tiered Architecture
  • Load balancing tier
  • Separate WordPress Management and Instance nodes
  • Auto Scaled WordPress EC2 instance nodes
  • MySQL M-S database with additional Read Slaves
  • S3 + CDN for content delivery
  • Monitoring , Backups , Sys alerts
Architectural Tiers Explanation




 Now let us see the tiers in detail !!
Load Balancing Tier
Admin
                                                                                             Amazon
AZ : Amazon                                 Amazon                                          CloudFront
Availability Zones                          Route 53


                             AWS Region 1                                                             Static Data

                             SSH/SFTP                                  Elastic
                                                                        Load         S3
                                                                      Balancer
   Amazon
 CloudWatch
                                                         Az-1                Az-2
   Alarms                                                                                  Auto Scaled
                                                                                          WordPress EC2
                               WordPress                                                    instances
                            Management Server

 Amazon SNS
 Notifications
                                                                    Az-1                       Az-2

                     Az-1           Az-2                                                  Standby



                                                                RDS Master
                                                                                      Read Replica

 Backups and
   Log files                File Storage Pool          Database Layer            Database Layer
Load Balancing with Amazon ELB

• Amazon Elastic Load Balancing will Load balance the
  http requests to WordPress EC2 instances
• ELB will direct the requests to WordPress EC2 across
  Multiple Availability Zones ( for HA)
• Health check , LB algorithms and SSL termination
  will be done by the Load Balancer
• Amazon Elastic Load Balancing can keep expanding
  its capacity automatically depending upon the
  traffic
Load Balancing with Amazon ELB

• Amazon ELB works with Route 53 and Auto Scaling
  seamlessly
• Amazon ELB is priced @“ Pay for use” model
• Amazon ELB is a managed service , so
  • NO Maintenance headaches
  • NO SW/HW upgrades
  • NO Capacity planning
  • NO manual intervention for expansion
How scalable is this architecture ?
Admin
                                                                                             Amazon
AZ : Amazon                                 Amazon                                          CloudFront
Availability Zones                          Route 53


                             AWS Region 1                                                             Static Data

                             SSH/SFTP                                  Elastic
                                                                        Load         S3
                                                                      Balancer
   Amazon
 CloudWatch
                                                         Az-1                Az-2
   Alarms                                                                                  Auto Scaled
                                                                                          WordPress EC2
                               WordPress                                                    instances
                            Management Server

 Amazon SNS
 Notifications
                                                                    Az-1                       Az-2

                     Az-1           Az-2                                                  Standby



                                                                RDS Master
                                                                                      Read Replica

 Backups and
   Log files                File Storage Pool          Database Layer            Database Layer
Scalability and Elasticity

• Scalability and Elasticity is built in most of the layers
  in this architecture
• WordPress EC2 instances can be scaled out and
  down depending upon the traffic
  • We can expand the number of WordPress EC2 instances from 1 to
    100+ automatically during load peaks
  • We can reduce the number of WordPress EC2 instances from 100+
    to 1 automatically during valleys
  • Can serve millions of pages with ease
  • Pay only for the EC2 instance hours used
Scalability and Elasticity

• Read Scalability is built in the Database layer with
  RDS Read Replicas
• New RDS Read Replicas can be added / removed
  with ease
  • Tips:
     • During Campaigns alone we can run more RDS Read Replicas
     • Not more than max 5 RDS Read replicas are recommended
     • Keep Read Replica’s and RDS Master same EC2 size for better
       performance
Scalability and Elasticity

• Clustered + Distributed File System of the Storage
  pool layer can be manually scaled in case needed
  • Minimum 2 EC2 Large instances should be used for
    Storage Pool Layer ( for HA and better IO)
  • Design the Storage Pool Layer with HA (very critical)
• AWS building blocks like S3 , CloudFront ,
  CloudWatch , SNS used in this architecture are
  inherently designed for scalability
How High Availability and Fault tolerance is
        built in this Architecture ?
High Availability

• HA @ WordPress Layer
  • Multiple WordPress EC2 instances avoid single point of
    failure
  • WordPress EC2 instances are launched across multiple –
    AZ’s inside a region for High Availability
• HA @ DB Layer
  • RDS MySQL Master and Standby are launched in 2
    different availability zones for High Availability
  • RDS Read Replicas are created in Multiple –AZ’s
High Availability

• HA @ Storage Pool Layer
  • Two EC2 instances used for Storage Pool Layer
  • Storage Pool is setup in replicated mode for High
    Availability
• AWS building blocks like S3 , Cloud Front ,
  CloudWatch , ELB , SNS ,EBS used in this
  architecture are inherently designed for Fault
  tolerance and HA
How the Database Tier is Architected ?
Admin
                                                                                             Amazon
AZ : Amazon                                 Amazon                                          CloudFront
Availability Zones                          Route 53


                             AWS Region 1                                                             Static Data

                             SSH/SFTP                                  Elastic
                                                                        Load         S3
                                                                      Balancer
   Amazon
 CloudWatch
                                                         Az-1                Az-2
   Alarms                                                                                  Auto Scaled
                                                                                          WordPress EC2
                               WordPress                                                    instances
                            Management Server

 Amazon SNS
 Notifications
                                                                    Az-1                       Az-2

                     Az-1           Az-2                                                  Standby



                                                                RDS Master
                                                                                      Read Replica

 Backups and
   Log files                File Storage Pool          Database Layer            Database Layer
Database layer

• RDS Master and Standby provide High availability
• RDS Read Replicas provide Read performance
• HyperDB plugin is configured to use multiple
  endpoints like RDS master and RDS read replicas in
  this architecture
• DB security groups will allow DB access only to
  WordPress EC2 instances
• Periodic Dumps , Snapshots and Point in time
  recovery is possible in this architecture
What performance aspects are taken care in
            this Architecture ?
Performance

• APC (or) Xcache plugin can be used for PHP opscode
  caching
• W3TotalCache+CloudFront (or)
  BatCache+Memcached can be used for Page
  caching
• Multiple RDS Read Replicas for Read performance
• RDS Master and Read Replicas are separated to get
  independent write and read performance
• Amazon ELB + Auto Scaling improves the overall Site
  performance when the load increases
Content Delivery Network
Admin
                                                                                             Amazon
AZ : Amazon                                 Amazon                                          CloudFront
Availability Zones                          Route 53


                             AWS Region 1                                                             Static Data

                             SSH/SFTP                                  Elastic
                                                                        Load         S3
                                                                      Balancer
   Amazon
 CloudWatch
                                                         Az-1                Az-2
   Alarms                                                                                  Auto Scaled
                                                                                          WordPress EC2
                               WordPress                                                    instances
                            Management Server

 Amazon SNS
 Notifications
                                                                    Az-1                       Az-2

                     Az-1           Az-2                                                  Standby



                                                                RDS Master
                                                                                      Read Replica

 Backups and
   Log files                File Storage Pool          Database Layer            Database Layer
Content Delivery

• Amazon CloudFront will be the Content Delivery
  Network (CDN)
• W3TotalCache plugin will be configured to use
  Amazon CloudFront for enhanced performance and
  reduced latency
• Static assets , templates , themes , images etc will
  delivered from the nearest edge locations of the
  CDN
Deployment

• Distributed File Storage Pool is configured between
  WordPress Management and Content instances
• WordPress Management and Content instances
  share the common storage pool for files and plugins
• Deployment of files and plugins will happen
  through the WordPress management node
• Files and plugins will be immediately available for
  use in the auto scaled WordPress EC2 instances
Monitoring and Alerts
Admin
                                                                                             Amazon
AZ : Amazon                                 Amazon                                          CloudFront
Availability Zones                          Route 53


                             AWS Region 1                                                             Static Data

                             SSH/SFTP                                  Elastic
                                                                        Load         S3
                                                                      Balancer
   Amazon
 CloudWatch
                                                         Az-1                Az-2
   Alarms                                                                                  Auto Scaled
                                                                                          WordPress EC2
                               WordPress                                                    instances
                            Management Server

 Amazon SNS
 Notifications
                                                                    Az-1                       Az-2

                     Az-1           Az-2                                                  Standby



                                                                RDS Master
                                                                                      Read Replica

 Backups and
   Log files                File Storage Pool          Database Layer            Database Layer
Monitoring

• Amazon CloudWatch will monitor the CPU and
  Network utilization of the entire setup
• Amazon CloudWatch alarms configured with
  Amazon SNS provides Email/SMS alerts to System
  Administrators
Backups
Admin
                                                                                             Amazon
AZ : Amazon                                 Amazon                                          CloudFront
Availability Zones                          Route 53


                             AWS Region 1                                                             Static Data

                             SSH/SFTP                                  Elastic
                                                                        Load         S3
                                                                      Balancer
   Amazon
 CloudWatch
                                                         Az-1                Az-2
   Alarms                                                                                  Auto Scaled
                                                                                          WordPress EC2
                               WordPress                                                    instances
                            Management Server

 Amazon SNS
 Notifications
                                                                    Az-1                       Az-2

                     Az-1           Az-2                                                  Standby



                                                                RDS Master
                                                                                      Read Replica

 Backups and
   Log files                File Storage Pool          Database Layer            Database Layer
Backup

• Custom ops scripts will backup the necessary files
  from Storage pool to S3 periodically
• S3 can be configured to remove old backups
  automatically
• RDS MySQL is configured to take periodic data
  dumps and DB snapshots
• RDS layer can be recovered point in time from the
  backups
Security

• Suitably hardened OS for WordPress Mgmt and
  WordPress instances
• Firewall (or) AWS security groups configured
  between all the layers in the architecture
• SFTP/FTP access only to the WordPress
  management node
• AWS IAM policies to manage user account access
• Install WordPress Security plugins
Advantages

• Highly Available and Scalable architecture
• Can elastically scale out to serve millions of hits in
  a day
• Can grow with load demands in future
• Usage of inherently fault tolerant AWS building
  blocks adds Stability
• High performance using CDN and suitable cache
  plugins
• Monitoring , Backup and Recovery is built in
• Pay for use
Disadvantages

• Complex to setup and maintain
• Will not be ideal for smaller sites that do not need
  scale
• Will not be cost efficient for sites that have less
  traffic
Key Points to Remember

• Log files generated in WordPress EC2 instances have
  to rotated
• Use Amazon EBS for Storage Pool and WordPress
  EC2 instances
• Start with EC2 m1.Large Instances for the storage
  pool and WordPress instances
• More Memory – Better Performance for DB
  • Start with RDS Large for Master
  • Keep RDS Master and RDS Read Replica’s in same size to
    improve read performance
Key Points to Remember

• RDS MySQL supports only Innodb engine
• Separate the WordPress Management and
  WordPress Content instances for scalability
• Do not Scale out/down rapidly in a hour, it will cost
  more in AWS
• Combine AWS On-Demand and Reserved Instance
  pricing to get more savings per month
Key Points to Remember

• Amazon Availability Zones(AZ’s) are distinct physical
  locations with Independent power , cooling
  ,network and security having Low latency network
  connectivity between them inside the same region
  • Leverage them in WordPress , Storage Pool and DB layers
    for HA as mentioned in the architecture
How do I setup Scalable WordPress
architecture on AWS?
Leave it to the experts , we will
handle this



Cloud Architecture Consulting
Cloud Application Development
Cloud Migration & Implementation
Cloud Adoption Strategy


                                   “Let's get the job done”
Contact


Harish11g.aws@gmail.com
http://in.linkedin.com/in/harishganesan
www.twitter.com/harish11g
http://harish11g.blogspot.com

Más contenido relacionado

La actualidad más candente

Getting Started with AWS Lambda Serverless Computing
Getting Started with AWS Lambda Serverless ComputingGetting Started with AWS Lambda Serverless Computing
Getting Started with AWS Lambda Serverless ComputingAmazon Web Services
 
Introduction to Amazon Elastic File System (EFS)
Introduction to Amazon Elastic File System (EFS)Introduction to Amazon Elastic File System (EFS)
Introduction to Amazon Elastic File System (EFS)Amazon Web Services
 
Amazon Elastic Compute Cloud (EC2) - Module 2 Part 1 - AWSome Day 2017
Amazon Elastic Compute Cloud (EC2) - Module 2 Part 1 - AWSome Day 2017Amazon Elastic Compute Cloud (EC2) - Module 2 Part 1 - AWSome Day 2017
Amazon Elastic Compute Cloud (EC2) - Module 2 Part 1 - AWSome Day 2017Amazon Web Services
 
Elastic Load Balancing Deep Dive - AWS Online Tech Talk
Elastic  Load Balancing Deep Dive - AWS Online Tech TalkElastic  Load Balancing Deep Dive - AWS Online Tech Talk
Elastic Load Balancing Deep Dive - AWS Online Tech TalkAmazon Web Services
 
Introduction to AWS Cloud Computing
Introduction to AWS Cloud ComputingIntroduction to AWS Cloud Computing
Introduction to AWS Cloud ComputingAmazon Web Services
 
Intro to AWS: EC2 & Compute Services
Intro to AWS: EC2 & Compute ServicesIntro to AWS: EC2 & Compute Services
Intro to AWS: EC2 & Compute ServicesAmazon Web Services
 
Running Microsoft SharePoint On AWS - Smartronix and AWS - Webinar
Running Microsoft SharePoint On AWS - Smartronix and AWS - WebinarRunning Microsoft SharePoint On AWS - Smartronix and AWS - Webinar
Running Microsoft SharePoint On AWS - Smartronix and AWS - WebinarAmazon Web Services
 
Best Practices for Architecting in the Cloud - Jeff Barr
Best Practices for Architecting in the Cloud - Jeff BarrBest Practices for Architecting in the Cloud - Jeff Barr
Best Practices for Architecting in the Cloud - Jeff BarrAmazon Web Services
 
Introduction to AWS Lambda and Serverless Applications
Introduction to AWS Lambda and Serverless ApplicationsIntroduction to AWS Lambda and Serverless Applications
Introduction to AWS Lambda and Serverless ApplicationsAmazon Web Services
 
Webinar aws 101 a walk through the aws cloud- introduction to cloud computi...
Webinar aws 101   a walk through the aws cloud- introduction to cloud computi...Webinar aws 101   a walk through the aws cloud- introduction to cloud computi...
Webinar aws 101 a walk through the aws cloud- introduction to cloud computi...Amazon Web Services
 
Identity and Access Management: The First Step in AWS Security
Identity and Access Management: The First Step in AWS SecurityIdentity and Access Management: The First Step in AWS Security
Identity and Access Management: The First Step in AWS SecurityAmazon Web Services
 
All you need to know about Auto scaling - Pop-up Loft
All you need to know about Auto scaling - Pop-up LoftAll you need to know about Auto scaling - Pop-up Loft
All you need to know about Auto scaling - Pop-up LoftAmazon Web Services
 

La actualidad más candente (20)

Getting Started with AWS Lambda Serverless Computing
Getting Started with AWS Lambda Serverless ComputingGetting Started with AWS Lambda Serverless Computing
Getting Started with AWS Lambda Serverless Computing
 
Introduction to Amazon Elastic File System (EFS)
Introduction to Amazon Elastic File System (EFS)Introduction to Amazon Elastic File System (EFS)
Introduction to Amazon Elastic File System (EFS)
 
Amazon Elastic Compute Cloud (EC2) - Module 2 Part 1 - AWSome Day 2017
Amazon Elastic Compute Cloud (EC2) - Module 2 Part 1 - AWSome Day 2017Amazon Elastic Compute Cloud (EC2) - Module 2 Part 1 - AWSome Day 2017
Amazon Elastic Compute Cloud (EC2) - Module 2 Part 1 - AWSome Day 2017
 
Elastic Load Balancing Deep Dive - AWS Online Tech Talk
Elastic  Load Balancing Deep Dive - AWS Online Tech TalkElastic  Load Balancing Deep Dive - AWS Online Tech Talk
Elastic Load Balancing Deep Dive - AWS Online Tech Talk
 
Introduction to AWS Cloud Computing
Introduction to AWS Cloud ComputingIntroduction to AWS Cloud Computing
Introduction to AWS Cloud Computing
 
Intro to AWS: EC2 & Compute Services
Intro to AWS: EC2 & Compute ServicesIntro to AWS: EC2 & Compute Services
Intro to AWS: EC2 & Compute Services
 
What is AWS?
What is AWS?What is AWS?
What is AWS?
 
Running Microsoft SharePoint On AWS - Smartronix and AWS - Webinar
Running Microsoft SharePoint On AWS - Smartronix and AWS - WebinarRunning Microsoft SharePoint On AWS - Smartronix and AWS - Webinar
Running Microsoft SharePoint On AWS - Smartronix and AWS - Webinar
 
Compute Services con AWS
Compute Services con AWSCompute Services con AWS
Compute Services con AWS
 
Best Practices for Architecting in the Cloud - Jeff Barr
Best Practices for Architecting in the Cloud - Jeff BarrBest Practices for Architecting in the Cloud - Jeff Barr
Best Practices for Architecting in the Cloud - Jeff Barr
 
Introduction to AWS Lambda and Serverless Applications
Introduction to AWS Lambda and Serverless ApplicationsIntroduction to AWS Lambda and Serverless Applications
Introduction to AWS Lambda and Serverless Applications
 
Webinar aws 101 a walk through the aws cloud- introduction to cloud computi...
Webinar aws 101   a walk through the aws cloud- introduction to cloud computi...Webinar aws 101   a walk through the aws cloud- introduction to cloud computi...
Webinar aws 101 a walk through the aws cloud- introduction to cloud computi...
 
Intro to AWS Lambda
Intro to AWS Lambda Intro to AWS Lambda
Intro to AWS Lambda
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Amazon S3 Masterclass
Amazon S3 MasterclassAmazon S3 Masterclass
Amazon S3 Masterclass
 
AWS
AWSAWS
AWS
 
Deep dive into AWS IAM
Deep dive into AWS IAMDeep dive into AWS IAM
Deep dive into AWS IAM
 
Identity and Access Management: The First Step in AWS Security
Identity and Access Management: The First Step in AWS SecurityIdentity and Access Management: The First Step in AWS Security
Identity and Access Management: The First Step in AWS Security
 
All you need to know about Auto scaling - Pop-up Loft
All you need to know about Auto scaling - Pop-up LoftAll you need to know about Auto scaling - Pop-up Loft
All you need to know about Auto scaling - Pop-up Loft
 
Microservices and Amazon ECS
Microservices and Amazon ECSMicroservices and Amazon ECS
Microservices and Amazon ECS
 

Destacado

MySQL Fabric Tutorial, October 2014
MySQL Fabric Tutorial, October 2014MySQL Fabric Tutorial, October 2014
MySQL Fabric Tutorial, October 2014Lars Thalmann
 
Choosing the Right EC2 Instance and Applicable Use Cases - AWS June 2016 Webi...
Choosing the Right EC2 Instance and Applicable Use Cases - AWS June 2016 Webi...Choosing the Right EC2 Instance and Applicable Use Cases - AWS June 2016 Webi...
Choosing the Right EC2 Instance and Applicable Use Cases - AWS June 2016 Webi...Amazon Web Services
 
Scaling MySQL using Fabric
Scaling MySQL using FabricScaling MySQL using Fabric
Scaling MySQL using FabricKarthik .P.R
 
High-Availability using MySQL Fabric
High-Availability using MySQL FabricHigh-Availability using MySQL Fabric
High-Availability using MySQL FabricMats Kindahl
 
Mysql User Camp : 20-June-14 : Mysql Fabric
Mysql User Camp : 20-June-14 : Mysql FabricMysql User Camp : 20-June-14 : Mysql Fabric
Mysql User Camp : 20-June-14 : Mysql FabricMysql User Camp
 
Prepare your IT Infrastructure for Thanksgiving
Prepare your IT Infrastructure for ThanksgivingPrepare your IT Infrastructure for Thanksgiving
Prepare your IT Infrastructure for ThanksgivingHarish Ganesan
 
Cloud Developer Conference May 2011 SiliconIndia : Design for Failure - High ...
Cloud Developer Conference May 2011 SiliconIndia : Design for Failure - High ...Cloud Developer Conference May 2011 SiliconIndia : Design for Failure - High ...
Cloud Developer Conference May 2011 SiliconIndia : Design for Failure - High ...Harish Ganesan
 
Scale new business peaks with Amazon auto scaling
Scale new business peaks with Amazon auto scalingScale new business peaks with Amazon auto scaling
Scale new business peaks with Amazon auto scalingHarish Ganesan
 
Aws 201:Advanced Breakout Track on HA and DR
Aws 201:Advanced Breakout Track on HA and DRAws 201:Advanced Breakout Track on HA and DR
Aws 201:Advanced Breakout Track on HA and DRHarish Ganesan
 
The art of infrastructure elasticity
The art of infrastructure elasticityThe art of infrastructure elasticity
The art of infrastructure elasticityHarish Ganesan
 

Destacado (10)

MySQL Fabric Tutorial, October 2014
MySQL Fabric Tutorial, October 2014MySQL Fabric Tutorial, October 2014
MySQL Fabric Tutorial, October 2014
 
Choosing the Right EC2 Instance and Applicable Use Cases - AWS June 2016 Webi...
Choosing the Right EC2 Instance and Applicable Use Cases - AWS June 2016 Webi...Choosing the Right EC2 Instance and Applicable Use Cases - AWS June 2016 Webi...
Choosing the Right EC2 Instance and Applicable Use Cases - AWS June 2016 Webi...
 
Scaling MySQL using Fabric
Scaling MySQL using FabricScaling MySQL using Fabric
Scaling MySQL using Fabric
 
High-Availability using MySQL Fabric
High-Availability using MySQL FabricHigh-Availability using MySQL Fabric
High-Availability using MySQL Fabric
 
Mysql User Camp : 20-June-14 : Mysql Fabric
Mysql User Camp : 20-June-14 : Mysql FabricMysql User Camp : 20-June-14 : Mysql Fabric
Mysql User Camp : 20-June-14 : Mysql Fabric
 
Prepare your IT Infrastructure for Thanksgiving
Prepare your IT Infrastructure for ThanksgivingPrepare your IT Infrastructure for Thanksgiving
Prepare your IT Infrastructure for Thanksgiving
 
Cloud Developer Conference May 2011 SiliconIndia : Design for Failure - High ...
Cloud Developer Conference May 2011 SiliconIndia : Design for Failure - High ...Cloud Developer Conference May 2011 SiliconIndia : Design for Failure - High ...
Cloud Developer Conference May 2011 SiliconIndia : Design for Failure - High ...
 
Scale new business peaks with Amazon auto scaling
Scale new business peaks with Amazon auto scalingScale new business peaks with Amazon auto scaling
Scale new business peaks with Amazon auto scaling
 
Aws 201:Advanced Breakout Track on HA and DR
Aws 201:Advanced Breakout Track on HA and DRAws 201:Advanced Breakout Track on HA and DR
Aws 201:Advanced Breakout Track on HA and DR
 
The art of infrastructure elasticity
The art of infrastructure elasticityThe art of infrastructure elasticity
The art of infrastructure elasticity
 

Similar a Architecting an Highly Available and Scalable WordPress Site in AWS

Deploy PHP Apps on AWS Beanstalk & Deploy with Git
Deploy PHP Apps on AWS Beanstalk & Deploy with GitDeploy PHP Apps on AWS Beanstalk & Deploy with Git
Deploy PHP Apps on AWS Beanstalk & Deploy with GitAmazon Web Services
 
Building Fault Tolerant Applications in the cloud - AWS Summit 2012 - NYC
Building Fault Tolerant Applications in the cloud - AWS Summit 2012 - NYC Building Fault Tolerant Applications in the cloud - AWS Summit 2012 - NYC
Building Fault Tolerant Applications in the cloud - AWS Summit 2012 - NYC Amazon Web Services
 
13h00 aws 2012-fault_tolerant_applications
13h00   aws 2012-fault_tolerant_applications13h00   aws 2012-fault_tolerant_applications
13h00 aws 2012-fault_tolerant_applicationsinfolive
 
Disaster Recovery with the AWS Cloud
Disaster Recovery with the AWS CloudDisaster Recovery with the AWS Cloud
Disaster Recovery with the AWS CloudAmazon Web Services
 
Designing Fault Tolerant Applications on AWS - Janakiram MSV
Designing Fault Tolerant Applications on AWS - Janakiram MSVDesigning Fault Tolerant Applications on AWS - Janakiram MSV
Designing Fault Tolerant Applications on AWS - Janakiram MSVAmazon Web Services
 
Plenary Talk at ACAT 2010
Plenary Talk at ACAT 2010Plenary Talk at ACAT 2010
Plenary Talk at ACAT 2010Deepak Singh
 
Getting Started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting Started in the AWS Cloud, Glen Robinson, Solutions Architect, AWSGetting Started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting Started in the AWS Cloud, Glen Robinson, Solutions Architect, AWSAmazon Web Services
 
Getting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWSGetting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWSAmazon Web Services
 
Talk at Microsoft Cloud Futures 2010
Talk at Microsoft Cloud Futures 2010Talk at Microsoft Cloud Futures 2010
Talk at Microsoft Cloud Futures 2010Deepak Singh
 
Masterworks talk on Big Data and the implications of petascale science
Masterworks talk on Big Data and the implications of petascale scienceMasterworks talk on Big Data and the implications of petascale science
Masterworks talk on Big Data and the implications of petascale scienceDeepak Singh
 
Bio-IT World 2010 - Keynote talk
Bio-IT World 2010 - Keynote talkBio-IT World 2010 - Keynote talk
Bio-IT World 2010 - Keynote talkDeepak Singh
 
How to Extend your Datacenter into the Cloud - 2nd Watch - Webinar
How to Extend your Datacenter into the Cloud - 2nd Watch - WebinarHow to Extend your Datacenter into the Cloud - 2nd Watch - Webinar
How to Extend your Datacenter into the Cloud - 2nd Watch - WebinarAmazon Web Services
 
Talk given at "Cloud Computing for Systems Biology" workshop
Talk given at "Cloud Computing for Systems Biology" workshopTalk given at "Cloud Computing for Systems Biology" workshop
Talk given at "Cloud Computing for Systems Biology" workshopDeepak Singh
 
Best Practices in Architecting for the Cloud Webinar - Jinesh Varia
Best Practices in Architecting for the Cloud Webinar - Jinesh VariaBest Practices in Architecting for the Cloud Webinar - Jinesh Varia
Best Practices in Architecting for the Cloud Webinar - Jinesh VariaAmazon Web Services
 
AWS Summit 2011: Application Security Best Practices
AWS Summit 2011: Application Security Best PracticesAWS Summit 2011: Application Security Best Practices
AWS Summit 2011: Application Security Best PracticesAmazon Web Services
 
(BDT308) Using Amazon Elastic MapReduce as Your Scalable Data Warehouse | AWS...
(BDT308) Using Amazon Elastic MapReduce as Your Scalable Data Warehouse | AWS...(BDT308) Using Amazon Elastic MapReduce as Your Scalable Data Warehouse | AWS...
(BDT308) Using Amazon Elastic MapReduce as Your Scalable Data Warehouse | AWS...Amazon Web Services
 
NHGRI Cloud Computing talk
NHGRI Cloud Computing talkNHGRI Cloud Computing talk
NHGRI Cloud Computing talkDeepak Singh
 

Similar a Architecting an Highly Available and Scalable WordPress Site in AWS (20)

Deploy PHP Apps on AWS Beanstalk & Deploy with Git
Deploy PHP Apps on AWS Beanstalk & Deploy with GitDeploy PHP Apps on AWS Beanstalk & Deploy with Git
Deploy PHP Apps on AWS Beanstalk & Deploy with Git
 
Building Fault Tolerant Applications in the cloud - AWS Summit 2012 - NYC
Building Fault Tolerant Applications in the cloud - AWS Summit 2012 - NYC Building Fault Tolerant Applications in the cloud - AWS Summit 2012 - NYC
Building Fault Tolerant Applications in the cloud - AWS Summit 2012 - NYC
 
13h00 aws 2012-fault_tolerant_applications
13h00   aws 2012-fault_tolerant_applications13h00   aws 2012-fault_tolerant_applications
13h00 aws 2012-fault_tolerant_applications
 
Fault Tolerant Applications on AWS
Fault Tolerant Applications on AWSFault Tolerant Applications on AWS
Fault Tolerant Applications on AWS
 
Disaster Recovery with the AWS Cloud
Disaster Recovery with the AWS CloudDisaster Recovery with the AWS Cloud
Disaster Recovery with the AWS Cloud
 
Designing Fault Tolerant Applications on AWS - Janakiram MSV
Designing Fault Tolerant Applications on AWS - Janakiram MSVDesigning Fault Tolerant Applications on AWS - Janakiram MSV
Designing Fault Tolerant Applications on AWS - Janakiram MSV
 
Plenary Talk at ACAT 2010
Plenary Talk at ACAT 2010Plenary Talk at ACAT 2010
Plenary Talk at ACAT 2010
 
Getting Started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting Started in the AWS Cloud, Glen Robinson, Solutions Architect, AWSGetting Started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting Started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
 
Getting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWSGetting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
 
Talk at Microsoft Cloud Futures 2010
Talk at Microsoft Cloud Futures 2010Talk at Microsoft Cloud Futures 2010
Talk at Microsoft Cloud Futures 2010
 
Masterworks talk on Big Data and the implications of petascale science
Masterworks talk on Big Data and the implications of petascale scienceMasterworks talk on Big Data and the implications of petascale science
Masterworks talk on Big Data and the implications of petascale science
 
Bio-IT World 2010 - Keynote talk
Bio-IT World 2010 - Keynote talkBio-IT World 2010 - Keynote talk
Bio-IT World 2010 - Keynote talk
 
How to Extend your Datacenter into the Cloud - 2nd Watch - Webinar
How to Extend your Datacenter into the Cloud - 2nd Watch - WebinarHow to Extend your Datacenter into the Cloud - 2nd Watch - Webinar
How to Extend your Datacenter into the Cloud - 2nd Watch - Webinar
 
Amazon aws 20110611
Amazon aws 20110611Amazon aws 20110611
Amazon aws 20110611
 
Talk given at "Cloud Computing for Systems Biology" workshop
Talk given at "Cloud Computing for Systems Biology" workshopTalk given at "Cloud Computing for Systems Biology" workshop
Talk given at "Cloud Computing for Systems Biology" workshop
 
Best Practices in Architecting for the Cloud Webinar - Jinesh Varia
Best Practices in Architecting for the Cloud Webinar - Jinesh VariaBest Practices in Architecting for the Cloud Webinar - Jinesh Varia
Best Practices in Architecting for the Cloud Webinar - Jinesh Varia
 
AWS Summit 2011: Application Security Best Practices
AWS Summit 2011: Application Security Best PracticesAWS Summit 2011: Application Security Best Practices
AWS Summit 2011: Application Security Best Practices
 
AWS Services Overview - Ryland
AWS Services Overview - RylandAWS Services Overview - Ryland
AWS Services Overview - Ryland
 
(BDT308) Using Amazon Elastic MapReduce as Your Scalable Data Warehouse | AWS...
(BDT308) Using Amazon Elastic MapReduce as Your Scalable Data Warehouse | AWS...(BDT308) Using Amazon Elastic MapReduce as Your Scalable Data Warehouse | AWS...
(BDT308) Using Amazon Elastic MapReduce as Your Scalable Data Warehouse | AWS...
 
NHGRI Cloud Computing talk
NHGRI Cloud Computing talkNHGRI Cloud Computing talk
NHGRI Cloud Computing talk
 

Último

LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0DanBrown980551
 
Extra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdfExtra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdfInfopole1
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxNeo4j
 
March Patch Tuesday
March Patch TuesdayMarch Patch Tuesday
March Patch TuesdayIvanti
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNeo4j
 
The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)IES VE
 
Patch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 updatePatch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 updateadam112203
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingMAGNIntelligence
 
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - TechWebinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - TechProduct School
 
Introduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its applicationIntroduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its applicationKnoldus Inc.
 
Top 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTop 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTopCSSGallery
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1DianaGray10
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kitJamie (Taka) Wang
 
EMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarEMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarThousandEyes
 
Scenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosScenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosErol GIRAUDY
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)codyslingerland1
 
2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdfThe Good Food Institute
 
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTSIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTxtailishbaloch
 

Último (20)

LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0
 
Extra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdfExtra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdf
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
 
March Patch Tuesday
March Patch TuesdayMarch Patch Tuesday
March Patch Tuesday
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4j
 
The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)
 
Patch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 updatePatch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 update
 
SheDev 2024
SheDev 2024SheDev 2024
SheDev 2024
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced Computing
 
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - TechWebinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
 
Introduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its applicationIntroduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its application
 
Top 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTop 10 Squarespace Development Companies
Top 10 Squarespace Development Companies
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kit
 
EMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarEMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? Webinar
 
Scenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosScenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenarios
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)
 
2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf
 
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTSIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
 

Architecting an Highly Available and Scalable WordPress Site in AWS

  • 1. Architecting an Highly Available and Scalable WordPress Site in AWS Harish11g.aws@gmail.com http://harish11g.blogspot.com
  • 2. Why this presentation ? • WordPress is used by over 14.7% of Alexa Internet's "top 1 million" websites • As of August 2011 WordPress powers 22% of all new websites • As of December 2011, version 3.0 had been downloaded over 65 million times • Provide some architectural insights to build Highly Scalable and Available WordPress sites in AWS • Help startups and companies who are new to AWS- WordPress with some blueprints
  • 3. WordPress Architecture Requirements in AWS • Ability to Serve millions of Pages per day • Ability to scale out/down dynamically depending upon traffic • Ability to perform well even with scaling demands • Should be Highly available without Single Points of Failure • Automated Operations – Backup and Monitoring • Cost effective
  • 4. Why AWS is better for WordPress Scaling? • AWS provides flexibility to Scale up and Scale out • AWS provides Building block services which is inherently robust and fault tolerant • AWS provides full range of options from CDN , OS flavors , Storage Pool , Database , Load Balancers , Monitoring etc • Pay as you go – Save cost by leveraging Auto Scaled WordPress EC2 instances • We can start small and grow big in AWS
  • 5. AWS Building Blocks used in this WordPress Architecture
  • 6. Some AWS building blocks Amazon Amazon Route53 for managing and answering DNS queries Route 53 Amazon Elastic Load Balancer for load balancing HTTP/S requests to WordPress Instances RDS MySQL Database Server for storing the WordPress content Simple Storage Service (S3) for storing the WordPress S3 application assets , snapshots and log files Amazon Amazon CloudFront CDN for delivering the application static CloudFront assets from nearest edge locations Amazon Amazon CloudWatch for monitoring and sending SNS alerts CloudWatch
  • 7. Highly Scalable Architecture for WordPress application
  • 8. Admin Amazon AZ : Amazon Amazon CloudFront Availability Zones Route 53 AWS Region 1 Static Data SSH/SFTP Elastic Load S3 Balancer Amazon CloudWatch Az-1 Az-2 Alarms Auto Scaled WordPress EC2 WordPress instances Management Server Amazon SNS Notifications Az-1 Az-2 Az-1 Az-2 Standby RDS Master Read Replica Backups and Log files File Storage Pool Database Layer Database Layer
  • 9. Brief about the Architecture • Multi- Tiered Architecture • Load balancing tier • Separate WordPress Management and Instance nodes • Auto Scaled WordPress EC2 instance nodes • MySQL M-S database with additional Read Slaves • S3 + CDN for content delivery • Monitoring , Backups , Sys alerts
  • 10. Architectural Tiers Explanation Now let us see the tiers in detail !!
  • 12. Admin Amazon AZ : Amazon Amazon CloudFront Availability Zones Route 53 AWS Region 1 Static Data SSH/SFTP Elastic Load S3 Balancer Amazon CloudWatch Az-1 Az-2 Alarms Auto Scaled WordPress EC2 WordPress instances Management Server Amazon SNS Notifications Az-1 Az-2 Az-1 Az-2 Standby RDS Master Read Replica Backups and Log files File Storage Pool Database Layer Database Layer
  • 13. Load Balancing with Amazon ELB • Amazon Elastic Load Balancing will Load balance the http requests to WordPress EC2 instances • ELB will direct the requests to WordPress EC2 across Multiple Availability Zones ( for HA) • Health check , LB algorithms and SSL termination will be done by the Load Balancer • Amazon Elastic Load Balancing can keep expanding its capacity automatically depending upon the traffic
  • 14. Load Balancing with Amazon ELB • Amazon ELB works with Route 53 and Auto Scaling seamlessly • Amazon ELB is priced @“ Pay for use” model • Amazon ELB is a managed service , so • NO Maintenance headaches • NO SW/HW upgrades • NO Capacity planning • NO manual intervention for expansion
  • 15. How scalable is this architecture ?
  • 16. Admin Amazon AZ : Amazon Amazon CloudFront Availability Zones Route 53 AWS Region 1 Static Data SSH/SFTP Elastic Load S3 Balancer Amazon CloudWatch Az-1 Az-2 Alarms Auto Scaled WordPress EC2 WordPress instances Management Server Amazon SNS Notifications Az-1 Az-2 Az-1 Az-2 Standby RDS Master Read Replica Backups and Log files File Storage Pool Database Layer Database Layer
  • 17. Scalability and Elasticity • Scalability and Elasticity is built in most of the layers in this architecture • WordPress EC2 instances can be scaled out and down depending upon the traffic • We can expand the number of WordPress EC2 instances from 1 to 100+ automatically during load peaks • We can reduce the number of WordPress EC2 instances from 100+ to 1 automatically during valleys • Can serve millions of pages with ease • Pay only for the EC2 instance hours used
  • 18. Scalability and Elasticity • Read Scalability is built in the Database layer with RDS Read Replicas • New RDS Read Replicas can be added / removed with ease • Tips: • During Campaigns alone we can run more RDS Read Replicas • Not more than max 5 RDS Read replicas are recommended • Keep Read Replica’s and RDS Master same EC2 size for better performance
  • 19. Scalability and Elasticity • Clustered + Distributed File System of the Storage pool layer can be manually scaled in case needed • Minimum 2 EC2 Large instances should be used for Storage Pool Layer ( for HA and better IO) • Design the Storage Pool Layer with HA (very critical) • AWS building blocks like S3 , CloudFront , CloudWatch , SNS used in this architecture are inherently designed for scalability
  • 20. How High Availability and Fault tolerance is built in this Architecture ?
  • 21. High Availability • HA @ WordPress Layer • Multiple WordPress EC2 instances avoid single point of failure • WordPress EC2 instances are launched across multiple – AZ’s inside a region for High Availability • HA @ DB Layer • RDS MySQL Master and Standby are launched in 2 different availability zones for High Availability • RDS Read Replicas are created in Multiple –AZ’s
  • 22. High Availability • HA @ Storage Pool Layer • Two EC2 instances used for Storage Pool Layer • Storage Pool is setup in replicated mode for High Availability • AWS building blocks like S3 , Cloud Front , CloudWatch , ELB , SNS ,EBS used in this architecture are inherently designed for Fault tolerance and HA
  • 23. How the Database Tier is Architected ?
  • 24. Admin Amazon AZ : Amazon Amazon CloudFront Availability Zones Route 53 AWS Region 1 Static Data SSH/SFTP Elastic Load S3 Balancer Amazon CloudWatch Az-1 Az-2 Alarms Auto Scaled WordPress EC2 WordPress instances Management Server Amazon SNS Notifications Az-1 Az-2 Az-1 Az-2 Standby RDS Master Read Replica Backups and Log files File Storage Pool Database Layer Database Layer
  • 25. Database layer • RDS Master and Standby provide High availability • RDS Read Replicas provide Read performance • HyperDB plugin is configured to use multiple endpoints like RDS master and RDS read replicas in this architecture • DB security groups will allow DB access only to WordPress EC2 instances • Periodic Dumps , Snapshots and Point in time recovery is possible in this architecture
  • 26. What performance aspects are taken care in this Architecture ?
  • 27. Performance • APC (or) Xcache plugin can be used for PHP opscode caching • W3TotalCache+CloudFront (or) BatCache+Memcached can be used for Page caching • Multiple RDS Read Replicas for Read performance • RDS Master and Read Replicas are separated to get independent write and read performance • Amazon ELB + Auto Scaling improves the overall Site performance when the load increases
  • 29. Admin Amazon AZ : Amazon Amazon CloudFront Availability Zones Route 53 AWS Region 1 Static Data SSH/SFTP Elastic Load S3 Balancer Amazon CloudWatch Az-1 Az-2 Alarms Auto Scaled WordPress EC2 WordPress instances Management Server Amazon SNS Notifications Az-1 Az-2 Az-1 Az-2 Standby RDS Master Read Replica Backups and Log files File Storage Pool Database Layer Database Layer
  • 30. Content Delivery • Amazon CloudFront will be the Content Delivery Network (CDN) • W3TotalCache plugin will be configured to use Amazon CloudFront for enhanced performance and reduced latency • Static assets , templates , themes , images etc will delivered from the nearest edge locations of the CDN
  • 31. Deployment • Distributed File Storage Pool is configured between WordPress Management and Content instances • WordPress Management and Content instances share the common storage pool for files and plugins • Deployment of files and plugins will happen through the WordPress management node • Files and plugins will be immediately available for use in the auto scaled WordPress EC2 instances
  • 33. Admin Amazon AZ : Amazon Amazon CloudFront Availability Zones Route 53 AWS Region 1 Static Data SSH/SFTP Elastic Load S3 Balancer Amazon CloudWatch Az-1 Az-2 Alarms Auto Scaled WordPress EC2 WordPress instances Management Server Amazon SNS Notifications Az-1 Az-2 Az-1 Az-2 Standby RDS Master Read Replica Backups and Log files File Storage Pool Database Layer Database Layer
  • 34. Monitoring • Amazon CloudWatch will monitor the CPU and Network utilization of the entire setup • Amazon CloudWatch alarms configured with Amazon SNS provides Email/SMS alerts to System Administrators
  • 36. Admin Amazon AZ : Amazon Amazon CloudFront Availability Zones Route 53 AWS Region 1 Static Data SSH/SFTP Elastic Load S3 Balancer Amazon CloudWatch Az-1 Az-2 Alarms Auto Scaled WordPress EC2 WordPress instances Management Server Amazon SNS Notifications Az-1 Az-2 Az-1 Az-2 Standby RDS Master Read Replica Backups and Log files File Storage Pool Database Layer Database Layer
  • 37. Backup • Custom ops scripts will backup the necessary files from Storage pool to S3 periodically • S3 can be configured to remove old backups automatically • RDS MySQL is configured to take periodic data dumps and DB snapshots • RDS layer can be recovered point in time from the backups
  • 38. Security • Suitably hardened OS for WordPress Mgmt and WordPress instances • Firewall (or) AWS security groups configured between all the layers in the architecture • SFTP/FTP access only to the WordPress management node • AWS IAM policies to manage user account access • Install WordPress Security plugins
  • 39. Advantages • Highly Available and Scalable architecture • Can elastically scale out to serve millions of hits in a day • Can grow with load demands in future • Usage of inherently fault tolerant AWS building blocks adds Stability • High performance using CDN and suitable cache plugins • Monitoring , Backup and Recovery is built in • Pay for use
  • 40. Disadvantages • Complex to setup and maintain • Will not be ideal for smaller sites that do not need scale • Will not be cost efficient for sites that have less traffic
  • 41. Key Points to Remember • Log files generated in WordPress EC2 instances have to rotated • Use Amazon EBS for Storage Pool and WordPress EC2 instances • Start with EC2 m1.Large Instances for the storage pool and WordPress instances • More Memory – Better Performance for DB • Start with RDS Large for Master • Keep RDS Master and RDS Read Replica’s in same size to improve read performance
  • 42. Key Points to Remember • RDS MySQL supports only Innodb engine • Separate the WordPress Management and WordPress Content instances for scalability • Do not Scale out/down rapidly in a hour, it will cost more in AWS • Combine AWS On-Demand and Reserved Instance pricing to get more savings per month
  • 43. Key Points to Remember • Amazon Availability Zones(AZ’s) are distinct physical locations with Independent power , cooling ,network and security having Low latency network connectivity between them inside the same region • Leverage them in WordPress , Storage Pool and DB layers for HA as mentioned in the architecture
  • 44. How do I setup Scalable WordPress architecture on AWS?
  • 45. Leave it to the experts , we will handle this Cloud Architecture Consulting Cloud Application Development Cloud Migration & Implementation Cloud Adoption Strategy “Let's get the job done”