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

Webinar | Introduction to Amazon DynamoDB
Webinar | Introduction to Amazon DynamoDBWebinar | Introduction to Amazon DynamoDB
Webinar | Introduction to Amazon DynamoDBAmazon Web Services
 
Azure Introduction
Azure IntroductionAzure Introduction
Azure Introductionbrunoterkaly
 
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 )Harish Ganesan
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesAmazon Web Services
 
オンプレミスRDBMSをAWSへ移行する手法
オンプレミスRDBMSをAWSへ移行する手法オンプレミスRDBMSをAWSへ移行する手法
オンプレミスRDBMSをAWSへ移行する手法Amazon Web Services Japan
 
Best Practices for Running PostgreSQL on AWS - DAT314 - re:Invent 2017
Best Practices for Running PostgreSQL on AWS - DAT314 - re:Invent 2017Best Practices for Running PostgreSQL on AWS - DAT314 - re:Invent 2017
Best Practices for Running PostgreSQL on AWS - DAT314 - re:Invent 2017Amazon Web Services
 
Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Aurora Deep Dive (db tech showcase 2016)Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Aurora Deep Dive (db tech showcase 2016)Amazon Web Services Japan
 
Architecting-for-the-cloud-Best-Practices
Architecting-for-the-cloud-Best-PracticesArchitecting-for-the-cloud-Best-Practices
Architecting-for-the-cloud-Best-PracticesAmazon Web Services
 
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...HostedbyConfluent
 
Introducing AWS Elastic Beanstalk
Introducing AWS Elastic BeanstalkIntroducing AWS Elastic Beanstalk
Introducing AWS Elastic BeanstalkAmazon Web Services
 
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayDatadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayC4Media
 
AWS Black Belt Online Seminar 2017 AWS Shield
AWS Black Belt Online Seminar 2017 AWS ShieldAWS Black Belt Online Seminar 2017 AWS Shield
AWS Black Belt Online Seminar 2017 AWS ShieldAmazon Web Services Japan
 
실시간 스트리밍 분석 Kinesis Data Analytics Deep Dive
실시간 스트리밍 분석  Kinesis Data Analytics Deep Dive실시간 스트리밍 분석  Kinesis Data Analytics Deep Dive
실시간 스트리밍 분석 Kinesis Data Analytics Deep DiveAmazon Web Services Korea
 
Optimizing Apache Spark SQL Joins
Optimizing Apache Spark SQL JoinsOptimizing Apache Spark SQL Joins
Optimizing Apache Spark SQL JoinsDatabricks
 
Parquetはカラムナなのか?
Parquetはカラムナなのか?Parquetはカラムナなのか?
Parquetはカラムナなのか?Yohei Azekatsu
 
20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理
20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理
20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理Amazon Web Services Japan
 

What's hot (20)

Webinar | Introduction to Amazon DynamoDB
Webinar | Introduction to Amazon DynamoDBWebinar | Introduction to Amazon DynamoDB
Webinar | Introduction to Amazon DynamoDB
 
Azure Introduction
Azure IntroductionAzure Introduction
Azure Introduction
 
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 )
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
オンプレミスRDBMSをAWSへ移行する手法
オンプレミスRDBMSをAWSへ移行する手法オンプレミスRDBMSをAWSへ移行する手法
オンプレミスRDBMSをAWSへ移行する手法
 
Best Practices for Running PostgreSQL on AWS - DAT314 - re:Invent 2017
Best Practices for Running PostgreSQL on AWS - DAT314 - re:Invent 2017Best Practices for Running PostgreSQL on AWS - DAT314 - re:Invent 2017
Best Practices for Running PostgreSQL on AWS - DAT314 - re:Invent 2017
 
Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Aurora Deep Dive (db tech showcase 2016)Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Aurora Deep Dive (db tech showcase 2016)
 
Architecting-for-the-cloud-Best-Practices
Architecting-for-the-cloud-Best-PracticesArchitecting-for-the-cloud-Best-Practices
Architecting-for-the-cloud-Best-Practices
 
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...
 
Introducing AWS Elastic Beanstalk
Introducing AWS Elastic BeanstalkIntroducing AWS Elastic Beanstalk
Introducing AWS Elastic Beanstalk
 
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayDatadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
 
AWS Lambda
AWS LambdaAWS Lambda
AWS Lambda
 
AWS Black Belt Online Seminar 2017 AWS Shield
AWS Black Belt Online Seminar 2017 AWS ShieldAWS Black Belt Online Seminar 2017 AWS Shield
AWS Black Belt Online Seminar 2017 AWS Shield
 
실시간 스트리밍 분석 Kinesis Data Analytics Deep Dive
실시간 스트리밍 분석  Kinesis Data Analytics Deep Dive실시간 스트리밍 분석  Kinesis Data Analytics Deep Dive
실시간 스트리밍 분석 Kinesis Data Analytics Deep Dive
 
Introduction to Amazon Aurora
Introduction to Amazon AuroraIntroduction to Amazon Aurora
Introduction to Amazon Aurora
 
Optimizing Apache Spark SQL Joins
Optimizing Apache Spark SQL JoinsOptimizing Apache Spark SQL Joins
Optimizing Apache Spark SQL Joins
 
Parquetはカラムナなのか?
Parquetはカラムナなのか?Parquetはカラムナなのか?
Parquetはカラムナなのか?
 
12-Factor Apps
12-Factor Apps12-Factor Apps
12-Factor Apps
 
20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理
20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理
20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理
 
AWS Lambda
AWS LambdaAWS Lambda
AWS Lambda
 

Viewers also liked

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
 

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 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
 

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
 
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
 
Overview of Amazon Web Services
Overview of Amazon Web ServicesOverview of Amazon Web Services
Overview of Amazon Web Services
 
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...
 

Recently uploaded

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

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”