-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
173 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,147 @@ | ||
# Architecture | ||
|
||
Un schéma d'implémentation détaillé sera établi pour décrire l'architecture globale de l'infrastructure, y compris les différents composants, leur interaction et leur déploiement. | ||
|
||
|
||
## Application | ||
|
||
|
||
### Proxy: Traefik | ||
|
||
* Application router | ||
* High-availability by fault tolerance | ||
* Load-balancing by requests distribution | ||
ALB ? | ||
* Helm chart | ||
* Version | ||
|
||
|
||
### Application: FastAPI | ||
|
||
* Python | ||
* Version: | ||
* Packaging | ||
* Project management? Poetry? | ||
|
||
|
||
### Databases: PostgreSQL | ||
|
||
* Helm chart | ||
* Version | ||
* Master/slave for high availability and read load balancing | ||
* Master failover | ||
|
||
|
||
## Infrastructure | ||
|
||
|
||
### Network | ||
|
||
|
||
#### Application Load Balancer (ALB) | ||
|
||
|
||
#### Virtual Private Cloud (VPC) | ||
|
||
* VPC subnet | ||
|
||
|
||
#### Internet Gateways (IGW) | ||
|
||
* Global egress | ||
|
||
|
||
#### Availability Zones (AZ) | ||
|
||
* 2 availability zones for high availability | ||
|
||
|
||
#### NAT Gateways (NGW) | ||
|
||
* Per AZ egress | ||
* In public subnet | ||
|
||
|
||
#### Subnets | ||
|
||
|
||
##### Public subnets | ||
|
||
* Application access | ||
* Bastion access | ||
* NAT gateways ? | ||
|
||
|
||
##### Private subnets | ||
|
||
* Database | ||
* Admin | ||
|
||
|
||
### Compute | ||
|
||
#### Nodes | ||
|
||
* EC2 compute nodes | ||
* Application nodes | ||
* Database nodes | ||
* Bastion node | ||
* Auto-scaling groups | ||
|
||
|
||
#### Orchestration: Kubernetes | ||
|
||
#### Pods | ||
|
||
##### ReplicaSets | ||
|
||
* Traefik | ||
* Application | ||
* Database | ||
* cert-manager | ||
* Metrics server | ||
* bastion | ||
|
||
##### DaemonSets | ||
|
||
* Any ? | ||
|
||
|
||
### Storage | ||
|
||
#### CSI | ||
|
||
##### EBS | ||
|
||
* FIXME | ||
|
||
|
||
## CI/CD | ||
|
||
### GitHub Actions | ||
|
||
|
||
#### Actions | ||
|
||
#### Workflows | ||
|
||
* Application | ||
* Infrastructure | ||
|
||
|
||
## Observability | ||
|
||
### Log management (ELK/EFK) | ||
|
||
### Metrics (Prometheus/Grafana) | ||
|
||
### Event and alerting | ||
|
||
|
||
## Business continuity & Disaster Recovery | ||
|
||
### TODO Recap HA features | ||
|
||
### Backup | ||
|
||
### Disaster Recovery |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# Architecture principles | ||
|
||
|
||
## Microservices | ||
|
||
Each functionality of the application has been broken down into autonomous, independent and specialized services. | ||
Each microservice is responsible for a specific part of the application, making it easy to maintain, deploy and scale each component individually. | ||
|
||
Microservices communicate with each other via REST APIs, enabling flexible and decentralized communication. | ||
This architecture allows the application to benefit from greater scalability, resilience and ease of deployment of new features. | ||
|
||
## The Twelve-Factor app methodology | ||
|
||
|
||
## Well-architected frameworks and industry best practices |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Specifications |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters