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..." |
|||
| (2 intermediate revisions by the same user not shown) | |||
| 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 | |||
* 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. Each account will be about $8 per month until the nonprofit has been formed and we can apply for a grant from Google for free accounts. | |||
=== Smart Phone Apps === | |||
The GoalStriving project uses MediaWiki as the application platform. I intend to do some customizations to the UI and the application, but previously I was thinking that would be done in PHP, but I had not begun planning. Once the web version is stable, I would like to create an iPhone and Android version. Would Flutter/Dart be useful on this project? I want to remain aligned with the MediaWiki community, because I think that community would all be potential users or supporters of the project. [[Flutter Dart|View Response]] | |||
Latest revision as of 19:40, 14 July 2026
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)
- Storage: xx GB (storage can be increased without any downtime)
Upload Storage
- Platform: AWS S3
Web and Application
- Platform: AWS Fargate / ECS
- Container image: MediaWiki Docker
- Instance class:
- Storage: 50 GB
- Multi-AZ: not at first
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. Each account will be about $8 per month until the nonprofit has been formed and we can apply for a grant from Google for free accounts.
Smart Phone Apps
The GoalStriving project uses MediaWiki as the application platform. I intend to do some customizations to the UI and the application, but previously I was thinking that would be done in PHP, but I had not begun planning. Once the web version is stable, I would like to create an iPhone and Android version. Would Flutter/Dart be useful on this project? I want to remain aligned with the MediaWiki community, because I think that community would all be potential users or supporters of the project. View Response