SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

What's hot (20)

Auto scaling using Amazon Web Services ( AWS )
Auto scaling using Amazon Web Services ( AWS )Auto scaling using Amazon Web Services ( AWS )
Auto scaling using Amazon Web Services ( AWS )
 
AWS core services
AWS core servicesAWS core services
AWS core services
 
AWS 101
AWS 101AWS 101
AWS 101
 
데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, AWS 개발 전문 솔루션즈 아키텍트 / 김현민, 메가존클라우드 솔루션즈 아키텍트 :...
데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, AWS 개발 전문 솔루션즈 아키텍트 / 김현민, 메가존클라우드 솔루션즈 아키텍트 :...데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, AWS 개발 전문 솔루션즈 아키텍트 / 김현민, 메가존클라우드 솔루션즈 아키텍트 :...
데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, AWS 개발 전문 솔루션즈 아키텍트 / 김현민, 메가존클라우드 솔루션즈 아키텍트 :...
 
Amazon EC2 Masterclass
Amazon EC2 MasterclassAmazon EC2 Masterclass
Amazon EC2 Masterclass
 
Serverless Architecture on AWS
Serverless Architecture on AWSServerless Architecture on AWS
Serverless Architecture on AWS
 
AWS 101: Introduction to AWS
AWS 101: Introduction to AWSAWS 101: Introduction to AWS
AWS 101: Introduction to AWS
 
What is Cloud Computing with Amazon Web Services?
What is Cloud Computing with Amazon Web Services?What is Cloud Computing with Amazon Web Services?
What is Cloud Computing with Amazon Web Services?
 
AWS SQS SNS
AWS SQS SNSAWS SQS SNS
AWS SQS SNS
 
[오픈소스컨설팅] EFK Stack 소개와 설치 방법
[오픈소스컨설팅] EFK Stack 소개와 설치 방법[오픈소스컨설팅] EFK Stack 소개와 설치 방법
[오픈소스컨설팅] EFK Stack 소개와 설치 방법
 
Introduction to Azure SQL DB
Introduction to Azure SQL DBIntroduction to Azure SQL DB
Introduction to Azure SQL DB
 
Wordpress optimization
Wordpress optimizationWordpress optimization
Wordpress optimization
 
50 tips su Web  Performance Optimization per siti ad alto traffico @ WpCamp B...
50 tips su Web  Performance Optimization per siti ad alto traffico @ WpCamp B...50 tips su Web  Performance Optimization per siti ad alto traffico @ WpCamp B...
50 tips su Web  Performance Optimization per siti ad alto traffico @ WpCamp B...
 
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
 
A Walk in the Cloud with AWS Lambda
A Walk in the Cloud with AWS LambdaA Walk in the Cloud with AWS Lambda
A Walk in the Cloud with AWS Lambda
 
Introduction to Amazon EC2
Introduction to Amazon EC2Introduction to Amazon EC2
Introduction to Amazon EC2
 
Intro to AWS: Amazon EC2 and Compute Services
Intro to AWS: Amazon EC2 and Compute ServicesIntro to AWS: Amazon EC2 and Compute Services
Intro to AWS: Amazon EC2 and Compute Services
 
Serverless Architectures.pdf
Serverless Architectures.pdfServerless Architectures.pdf
Serverless Architectures.pdf
 
AWS Black Belt Techシリーズ AWS Directory Service
AWS Black Belt Techシリーズ AWS Directory ServiceAWS Black Belt Techシリーズ AWS Directory Service
AWS Black Belt Techシリーズ AWS Directory Service
 
Introduction to Cloud Computing with Amazon Web Services
Introduction to Cloud Computing with Amazon Web Services Introduction to Cloud Computing with Amazon Web Services
Introduction to Cloud Computing with Amazon Web Services
 

Viewers also liked

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
Mysql User Camp
 
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
Harish Ganesan
 

Viewers also liked (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 to 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 Git
Amazon 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_applications
infolive
 
Disaster Recovery with the AWS Cloud
Disaster Recovery with the AWS CloudDisaster Recovery with the AWS Cloud
Disaster Recovery with the AWS Cloud
Amazon 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 MSV
Amazon Web Services
 
Plenary Talk at ACAT 2010
Plenary Talk at ACAT 2010Plenary Talk at ACAT 2010
Plenary Talk at ACAT 2010
Deepak 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, AWS
Amazon 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, AWS
Amazon Web Services
 
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
Deepak 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 - Webinar
Amazon 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" workshop
Deepak Singh
 
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
Amazon Web Services
 

Similar to 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
 
Fault Tolerant Applications on AWS
Fault Tolerant Applications on AWSFault Tolerant Applications on AWS
Fault Tolerant Applications on AWS
 
13h00 aws 2012-fault_tolerant_applications
13h00   aws 2012-fault_tolerant_applications13h00   aws 2012-fault_tolerant_applications
13h00 aws 2012-fault_tolerant_applications
 
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
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 

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”