This document summarizes a discussion between Andreas Chatzakis and Chris Pitchford about optimizing WordPress websites on AWS. Some key points include:
- Using AWS services like S3, CloudFront, Route 53, and EC2 with auto scaling to host WordPress sites for high performance and availability.
- Configuring CloudFront caching rules for static, dynamic admin, and dynamic front-end content.
- Leveraging RDS for the database with read replicas and ElastiCache for caching to improve database performance.
- Monitoring with CloudWatch and auto scaling EC2 instances when CPU usage is high.
- Implementing best practices like separating databases and web servers, using IAM roles
9. WordPress Server
(Apache, MySQL)
Elastic IP
WordPress server
image (AMI)
www.example.com
Amazon Route 53
DNS service
EBS volume
EBS snapshot
/var/www/html/wp-config.php
/var/www/html/wp-content/
/var/lib/mysql/
10.
11. WEB401 - Optimizing Your Web Server on AWS
Thursday, Nov 13, 11:00 AM - 11:45 AM
Level 4 - Lando 4301A
12.
13.
14. S3 bucket for
static assets
http://<bucketname>.s3.amazonaws.com/wp-content/uploads/2014/10/aws.jpg
25. WordPress web
server
1. If data in cache,
return result
2. If not in cache,
read from DB
RDS database
Amazon ElastiCache
3. And store
in cache
26.
27. Availability Zone a
RDS DB
instance
ElastiCache
node 1
Availability Zone b
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
Web
server
Web
server
28.
29. Availability Zone a
RDS DB
instance
ElastiCache
node 1
Availability Zone b
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
Web
server
Web
server
RDS DB
standby
ElastiCache
node 2
30.
31. CPU>60%
CloudWatch
Availability Zone a
RDS DB
instance
ElastiCache
Node 1
Availability Zone b
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
RDS DB
standby
ElastiCache
Node 2
Web
server
Web
server
34. Web
server
Web
server
Web
server
Web
server
Availability Zone a
RDS DB
instance
ElastiCache
node 1
Availability Zone b
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
RDS DB
standby
ElastiCache
node 2
RDS read
replica
RDS read
replica
39. November 12, 2014 | Las Vegas, NV
Chris Pitchford, Lead Platform Owner, News UK
40.
41.
42.
43.
44.
45. • Base application containing all plugins
– Let website pick from menu
• Plugins adhere to WordPress VIP standards
– Automated testing and code review
46. • Config in DB, EC2 User Data or CloudFormation
– No hard coded values
• AWS credentials: IAM roles and session tokens
– No IAM user credentials