Platform & Architecture
Infrastructure and deployment patterns used to ship and operate multi-service backend systems, with emphasis on secure configuration, repeatable releases, and operational clarity.
How it ships
AWS EC2 (Ubuntu) · Nginx reverse proxy (TLS via Let's Encrypt) · Dockerized Next.js (portfolio) on 127.0.0.1:3000 · GitHub Actions CI/CD (SSH deploy)
Blue/green deployments use Nginx upstream snippet (ports 3000/3001) for low-downtime releases and quick rollback. See repo docs: NGINX_BLUE_GREEN.md, CI_CD.md.
System Map
Source: DIAGRAMS.md §3 — Platform Service Map.
Infra Map
Source: DIAGRAMS.md §4 — Infra Map (Terraform, Secrets, Helm, K8s).
Deployment Flow
Source: DIAGRAMS.md §2 — CI/CD (GitHub Actions → EC2).
Security Boundaries
Public: 80/443 via Nginx. App container bound to 127.0.0.1.
Secrets & Configuration
Centralized secrets and safe configuration injection to avoid leaking sensitive data into repos or images.
- Prefer managed secrets (AWS Secrets Manager / secure env patterns)
- Avoid committing secrets; keep production env separate
- Promote rotatable credentials and auditable changes
Reverse Proxy & TLS
Nginx terminates TLS and exposes only HTTPS to the public, keeping app services private on localhost.
- HTTP → HTTPS redirect
- Let's Encrypt certificates with automatic renewal
- Only ports 80/443 public; app binds to 127.0.0.1
Reliability Patterns
Operational Readiness
Production mindset: health, debugging, and visibility matter as much as features.
- Service health and graceful failure handling
- Logging and monitoring patterns (CloudWatch / Prometheus/Grafana style)
- Incident-oriented debugging habits
CI/CD
Automated delivery pipelines with tight feedback loops and predictable deployments.
- GitHub Actions / GitLab CI/CD / Jenkins experience
- Build → test/lint → deploy via SSH (for EC2-hosted portfolio)
- Container-based deployment to reduce host drift
Infrastructure patterns
Terraform as a Control Plane
Terraform is used not only for provisioning but also to standardize configuration patterns across services.
- Provision and standardize AWS resources as infrastructure code
- Maintain repeatable environment configuration patterns
- Support multi-service deployments with consistent inputs/outputs
Related Projects
- Contract Listener (Blockchain Event Ingestion Service)
- Chat Backend (Realtime Service)
- LLM-Based Subjective Answer Evaluation (DRF)