Production Architecture: Difference between revisions
Created page with "This page contains notes on the architecture that will one day support hundreds of thousands of users in a wiki community. Register Domain Once we decide on a name. DNS Hosting I will host in my personal AWS account and transfer to the nonprofit once it exists. Database * Platform: AWS RDS * Engine: MariaDB (MySQL) Upload Storage * Platform: AWS S3 Web and Application * Platform: AWS Fargate / ECS * Container image: MediaWiki Docker * Instance class: * Storage..." |
No edit summary |
||
| Line 1: | Line 1: | ||
This page contains notes on the architecture that will one day support hundreds of thousands of users in a wiki community. | This page contains notes on the architecture that will one day support hundreds of thousands of users in a wiki community. | ||
Register Domain | === Register Domain === | ||
Once we decide on a name. | Once we decide on a name. | ||
DNS Hosting | === DNS Hosting === | ||
I will host in my personal AWS account and transfer to the nonprofit once it exists. | I will host in my personal AWS account and transfer to the nonprofit once it exists. | ||
Database | === Database === | ||
* Platform: AWS RDS | * Platform: AWS RDS | ||
* Engine: MariaDB (MySQL) | * Engine: MariaDB (MySQL) | ||
* Storage: xx GB (storage can be increased without any downtime) | |||
Upload Storage | === Upload Storage === | ||
* Platform: AWS S3 | * Platform: AWS S3 | ||
Web and Application | === Web and Application === | ||
* Platform: AWS Fargate / ECS | * Platform: AWS Fargate / ECS | ||
* Container image: MediaWiki Docker | * Container image: MediaWiki Docker | ||
| Line 26: | Line 22: | ||
* Multi-AZ: not at first | * Multi-AZ: not at first | ||
Load Balancer | === Load Balancer === | ||
* AWS | |||
=== Secrets Manager === | |||
* Whenever possible, passwords and secret keys will be kept in AWS Secrets Manager. | |||
=== Environments === | |||
The following environments will be built. | |||
* Development | |||
** All new enhancements will be added to the development environment | |||
* Testing | |||
** Completed features will be deployed to the test environment | |||
** A series of test scripts and procedures will be developed to be performed following each new deployment | |||
* Production | |||
** Once a release has passed all tests, it will be deployed to production | |||
=== CI/CD Pipeline === | |||
This procedure will allow multiple developers to author and commit code. Automated procedures will move releases from Dev to Test, and then to Production. | |||
=== Email and Productivity Suite === | |||
We will use Google G-Suite (~$8 per user per month) | |||