ETX Center / ASU
AWS Infrastructure
My AWS work for the ETX Center, in Arizona State University’s School of Earth and Space Exploration, covered infrastructure consolidation, educational web application deployments, and database migrations.
I led these efforts and handled most of the AWS implementation myself, reducing infrastructure costs by 66%, launching web applications, and migrating databases with one hour of downtime.
Where the savings came from
A large part of the savings came from consolidating duplicate PostgreSQL databases holding user and application data. That reduced RDS overhead and the need for multiple NAT gateways.
I also removed stale EC2 instances and their associated NAT gateways, and consolidated Auto Scaling groups. I reviewed where data was replicated and which availability zones we used, choosing locations based on user density.
Together, the infrastructure changes reduced costs by 66%. The cleanup also included consolidating IAM access and revising security group rules.
Reducing duplicate infrastructure
Database migrations
What moved where
- Records
- DynamoDB
- Accounts
- Cognito
- Hosting
- Amplify
Rebuilding PostgreSQL in RDS
For the PostgreSQL move, I used a generated SQL script to rebuild the database in Amazon RDS in the consolidated AWS account.
This brought databases from separate accounts into the consolidated setup. It reduced the duplicate database infrastructure and allowed us to use fewer NAT gateways.
Moving a DigitalOcean application to AWS
A separate application used a simple PostgreSQL database on DigitalOcean. I moved its application records to DynamoDB, used Cognito for user accounts, and moved the site to Amplify.
DynamoDB and Cognito covered the application’s data and account needs at a much lower running cost.
We did not carry over password hashes. Users needed to reset their passwords on their first login after the move.
Checking the migration
We notified users about the maintenance work. The cutover involved one hour of downtime.
We wrote tests for the migrated records, and the team ran Playwright tests and manual QA to check application behavior. I handled most of the AWS implementation, with the team contributing to verification.
Deploying educational web applications
I also deployed educational web applications using AWS Amplify and Fargate, with a target audience of tens of thousands of students.
I configured the Fargate deployments in the AWS console. My work included adjusting CPU and memory settings, networking and public access, load balancing, and scaling thresholds.