Breakdown of requirements stated in https://gist.github.com/houdinisparks/b8dcd1d2b5b1179b45b0afe68351e027 and the Well Architected Framework.
VPC requirements
- Entire infrastructure in a private isolated network.
- Web application is available over the Internet via HTTP.
- Database tier should have restricted access (not open to HTTP) and allow traffic only through the web tier.
- Database tier should allow outbound requests via NAT.
Database requirements
- Requires a managed SQL database which is highly available.
- Daily generation of numerous reports which incur heavy read operations on the database. Need to mitigate impact on the performance of the web application.
- No requirement at this point to balance the load on the database tier.
Elastic Beanstalk requirements
- Enable automatic scaling based on traffic for cost-effectiveness.
- L4/L7 load balancer which directs traffic to healthy instances only.
- Set up CI/CD workflow
Well-architected framework
Operational Excellence
Ability to run and monitor systems to deliver value and to continually improve supporting processes and procedures.
- Perform operations as code - Infrastructure as code.
- Monitor operations.
Security
Ability to protect information, systems, and assets while delivering value through risk assessments and mitigation strategies.
- Apply security at all layers
- Data security at rest
Reliability
Ability of a system to recover from disruptions, dynamically acquire computing resources to meet demand, and mitigate disruptions.
- Automatically recover from failure
- Scale horizontally to increase aggregate system availability
- Use auto-scaling
Performance efficiency
Ability to use computing resources efficiently to meet requirements, and to maintain that efficiency.
Cost-optimisation
Ability to run systems to deliver business value at the lowest price point.
- Adopt a consumption mode; only pay for what you need/use
- Stop spending money on data centre operations
Breakdown of requirements stated in https://gist.github.com/houdinisparks/b8dcd1d2b5b1179b45b0afe68351e027 and the Well Architected Framework.
VPC requirements
Database requirements
Elastic Beanstalk requirements
Well-architected framework
Operational Excellence
Ability to run and monitor systems to deliver value and to continually improve supporting processes and procedures.
Security
Ability to protect information, systems, and assets while delivering value through risk assessments and mitigation strategies.
Reliability
Ability of a system to recover from disruptions, dynamically acquire computing resources to meet demand, and mitigate disruptions.
Performance efficiency
Ability to use computing resources efficiently to meet requirements, and to maintain that efficiency.
Cost-optimisation
Ability to run systems to deliver business value at the lowest price point.