Scope
A scenario to solve a business problem for AWS, draw architectural diagram, implement using terraform, take screenshots of key outputs, upload it the repo.
Problem Statement
For the past two years, our Travel platform – a Java web application named Dream Destinations, has been running smoothly on AWS. The application utilizes Amazon S3 to host static content and relies on a single web server with a MySQL database running on the same server to handle dynamic content.
Currently, under normal traffic conditions, CPU usage remains at 60%, and memory usage at 65%, indicating a well-managed system. However, due to our company's growing customer base with acquisition, driven by substantial reference bonuses, and with plans to announce a significant billion-dollar sale in the coming months, we anticipate a surge in traffic and demand.
Key challenges
Scalability: The platform's current architecture struggles to dynamically adjust to varying user loads, leading to reduced response times and potential downtime during traffic spikes.
Performance Bottlenecks: Certain components of the application experience performance bottlenecks, affecting overall user experience and leading to lower conversion rates.
Cost Optimization: The infrastructure's inefficiencies result in increased operational costs, which need to be addressed while ensuring optimal performance.
High Availability: The platform's resiliency needs improvement to minimize downtime and ensure continuous availability for our global customer base.
Objective
To prepare for this imminent expansion and ensure optimal performance, we are proactively reviewing and enhancing our infrastructure. The goal is to accommodate the upcoming influx of users while maintaining the high availability, peak performance and reliability that our customers expect.
Deliverables
Detailed architecture design with AWS services and configuration recommendations. You may use draw.io or any tool of your choice
Write terraform code, execute to create the required resources
Upload the terraform code
Upload the following Screen shots
Resources created from respective resource dashboard
plan.out file
tf.state file
Success Criteria
The project will be considered successful if the following criteria are met:
The new platform demonstrates improved scalability and can handle increased user traffic during peak periods without performance degradation or downtime.
The response times and load handling capacity of critical components show significant improvement.
The platform's availability and resilience improve, minimizing the impact of potential failures or disruptions.
Enhanced security measures are implemented, ensuring compliance with relevant data protection standards.
This project aims to transform our Travel platform into a robust, scalable, and high-performing solution on AWS, empowering us to deliver an exceptional shopping experience to our customers, while also achieving cost-efficiency and maintaining top-notch security.
Tools needed
Install these tools before the start of the event
IDE ( VS Code, Intellj, Atom) – as per your preference
GIT CLI
Terraform CLI7
Github Repo: https://github.com/intuitivetp/itp-aug-2023
Folder Structure
Ecommerce-<FirstName>-<SecondName>
TerraformCode
[Please add meaningful commit messages]
Output
Screenshots as detailed above
Architecture
<*draw.io file> or equivalent file
Result
Detailed architecture design with AWS services and configuration recommendations. You may use draw.io or any tool of your choice
Write terraform code, execute to create the required resources
Upload the terraform code
Upload the following Screen shots
Resources created from respective resource dashboard
plan.out file
tf.state file
Write the terraform code for all the pieces
Have a gitignore file to ignore .tfstate files and .terraform directory
Run the Terraform code to provision resources in the AWS Account
Execute the terraform code and take screenshots of key services / outputs.
Take full browser screenshot with SSO Login / email on the top right corner of AWS Console.
FAQs
Duration
3 hours once they start.
Lab should be taken in office.
No comments:
Post a Comment