This post provides an overview of a design proposal to Deploy a WordPress Website on AWS
chosen from AWS Cloud Projects.
Purpose
This document provides an overview of how to Deploy a WordPress Website on AWS
.
Functional Requirements
The task is to design and document the deployment of a system that meets the following requirements
- Use a common and simple architectural pattern in AWS
a. EC2, RDS, Route 53, ASG and VPC
b. Dont use abstractions like Elastic Beanstalk - The Wordpress website is
a. Highly available
b. Hosted on Amazon EC2
c. Connected with Amazon RDS database
d. Publicly accessible over the internet
Implementation
This would not be present in a proposal but this is my blog post and my inner nerd needs to know how to do things! :D This is actually doing the work so would be out of scope for a proposal. This is however like I said its my blog and I’ll do what I like :D
- Implementation
a. Deployment must describe how
None-Functional Requirements
TBA
Component Design
Reference architecture diagram
3 Tier AWS Network VPC
- Tier 1: Public subnets, resources like NAT Gateway, Load Balancer and Bastian host
- Tier 2: Private subnets, resources like web servers (EC2 instance)
- Tier 3: Another private subnet, database
Component(s) | Comments |
---|---|
1. VPC & Avalibility Zones | VPC with public and private subnets in 2 avalibility zones |
2. Internet Gateway | An Internet Gateway is used to allow communication between instances in the VPC and the public internet |
3. Avalibility Zones | We are using 2 Avalibility Zones for high avalibility and fault tolerance |
4. Public Subnets | Resources such as NAT Gateway, Bastion Host and Application Load Balancer use Public Subnets |
5. Private Subnets | . |
6. Public Route Table | . |
6. Main Route Table | . |
Duplicate subnets over multiple availability zones provides High Availability and Fault Tolerance
Data Model
Here we would traditionally talk about the tables and present a UML diagram for each. As this is a Wordpress database with predefined table I will just link to resources abalible on the internet.
Functional Requirements Covered
TBA
Estimations
Business want all the things, yesterday! As we know this is not always possible so the next best option is to provide esitmations.
Below are rough estimations of the implementatation, assumptions on team size is 5 Engineers, no test analysts or designers as we will use an off the shelf template for the proposal.
Scenario | Estimation | Assumptions & Comments |
---|---|---|
Total rough estimation is x sprints with the assumption of all risks raised, no external team dependancies.