Khoá Deploy TayJava lên AWS: Spring Boot + Next.js, Docker, ECR, EC2, RDS, Nginx HTTPS, S3/CloudFront, Secrets Manager. 18 topic · ~20 giờ video · lab có đầu ra kiểm chứng.
Bạn đã viết được backend Spring Boot.
Bạn đã dựng được frontend Next.js.
App chạy ngon trên máy local.
Rồi đến ngày “đưa lên server”…
Domain gắn chưa được.
HTTPS xong thì WebSocket gãy.
Đổi .env frontend nhưng trình duyệt vẫn gọi URL cũ.
Secret nằm trong Git “tạm thời”.
Deploy bằng tag latest, rollback thì… không biết quay về đâu.
RDS public vì “cho nhanh”.
Upload S3 chạy bằng access key hard-code.
Đó không phải chuyện hiếm. Đó là khoảng trống giữa biết code và đưa hệ thống thật lên AWS một cách có kiểm soát.
Khoá Deploy hệ thống TayJava lên AWS được thiết kế để lấp đúng khoảng trống đó — bằng một hệ thống thật (không phải Hello World), theo đúng kiến trúc TayJava đang vận hành: modular monolith trên EC2 + Docker Compose.
Khoá AWS phổ biến | Khoá này |
|---|---|
Demo 1 service / Hello World | Hệ thống 2 repo: Spring Boot + Next.js |
Bấm console theo checklist | Hiểu vì sao từng quyết định kiến trúc |
Chỉ “cho chạy được” | Có version, smoke test, rollback, cleanup |
Secret / domain demo chung | Mỗi học viên lab trên môi trường test riêng |
Nhảy thẳng ECS / K8s / Terraform | Baseline EC2 + Compose trước — đúng thực tế nhiều team SME |
Bạn sẽ không chỉ “làm cho container chạy được”.
Bạn sẽ xây được một quy trình deploy có thể kiểm tra, vận hành và rollback.
Sau khi hoàn thành, bạn có thể tự tay:
Đọc và giải thích kiến trúc deploy production-like của một hệ thống monolith 2 repo.
Đóng gói backend Java 21 / Spring Boot và frontend Next.js thành Docker image đa giai đoạn.
Version + đẩy image lên Amazon ECR (tag bất biến, digest, release manifest — không phụ thuộc latest).
Dựng hạ tầng tối thiểu: IAM, VPC, Security Group, EC2, RDS, S3, CloudFront, Secrets Manager.
Deploy bằng Docker Compose trên EC2, materialize .env từ Secrets Manager.
Đưa hệ thống ra Internet qua Nginx + HTTPS + WebSocket (SockJS/STOMP).
Quản lý cấu hình theo local / test / production; phân biệt build-time, runtime và secret.
Vận hành cơ bản: health check, rate-limit, backup/restore, hardening Actuator/IAM, rollback có runbook.
Đây là kỹ năng bạn mang đi được cho project riêng, freelance, hoặc team đang “code xong nhưng chưa deploy được sạch”.
Nên học nếu bạn là:
Java / Full-stack developer từ mức junior trở lên.
Đã biết Linux CLI, Git, HTTP và SQL cơ bản.
Đã từng viết Spring Boot và/hoặc Next.js (không cần đã deploy AWS).
Muốn hiểu deploy “giống production” thay vì chỉ theo tutorial lẻ.
Sẵn sàng thực hành trên AWS account lab
Chưa phù hợp nếu bạn:
Chưa từng viết API / frontend cơ bản.
Đang tìm khoá chuyên sâu Kubernetes / EKS / Terraform / multi-region HA.
Muốn “học lý thuyết AWS certificate” thuần (khoá này thiên về thực chiến deploy hệ thống).
Không yêu cầu đã biết Kubernetes, EKS hay Terraform.
Baseline của khoá là modular monolith trên EC2 + Docker Compose — đúng với cách nhiều sản phẩm SME đang chạy, rồi mới nói hướng scale sau.
Internet
→ DNS (web + api + cdn)
→ EC2 + Nginx (HTTPS)
→ Frontend (Next.js)
→ Backend (Spring Boot API)
→ Redis
→ RDS PostgreSQL (private)
→ S3 + CloudFront (media)
→ Secrets Manager → .env trên EC2
Những điểm then chốt bạn sẽ nắm chắc từ đầu:
Website và API đi qua Nginx trên EC2.
CDN phục vụ media, không mặc định bọc toàn bộ HTML.
PostgreSQL là nguồn dữ liệu chính; Redis cho cache / rate-limit.
Secret không nằm trong Git.
Image deploy theo version/digest — rollback được.
Khoá gồm 18 topic, ~101 video, ước lượng 19–24 giờ video (chưa kể thời gian tự làm lab).
Mỗi topic đi theo vòng: Lý thuyết → Demo → Lab có đầu ra kiểm chứng.
# | Topic | Bạn nhận được |
|---|---|---|
01 | Kiến trúc TayJava & kế hoạch deploy | Sơ đồ deployment + ma trận môi trường |
02 | Linux, Docker, AWS CLI trên EC2 | Host lab sẵn sàng deploy |
03 | AWS account, IAM & kiểm soát chi phí | Role, budget, guardrail chi phí |
04 | VPC, Security Group & DNS | Network tối thiểu, traffic matrix |
# | Topic | Bạn nhận được |
|---|---|---|
05 | Container hoá & chạy local | Stack local: Docker Compose chạy được |
06 | Amazon ECR | Image versioned + release manifest |
07 | RDS PostgreSQL | RDS private, schema, dump/restore drill |
08 | Ma trận cấu hình đa môi trường | Phân biệt build-time / runtime / secret |
09 | Secrets Manager | Materialize |
# | Topic | Bạn nhận được |
|---|---|---|
10 | EC2 + Docker Compose deploy | Stack chạy trên EC2 |
11 | Frontend build & | FE đúng domain lab (biết vì sao phải rebuild) |
12 | Nginx, HTTPS & WebSocket | HTTPS live + WS proxy đúng |
13 | Cache, rate-limit & chống spam/DDoS | Nginx + Redis rate-limit có bằng chứng |
14 | S3, CloudFront & ACM | Media qua CDN custom domain |
# | Topic | Bạn nhận được |
|---|---|---|
15 | Tích hợp bên thứ ba | OAuth, SMTP, Turnstile, VAPID (lab-safe) |
16 | Jobs, ShedLock & GeoIP | Job có khóa, mount host đúng |
17 | Observability, backup & security | Health, restore drill, hardening |
18 | Capstone: release, rollback & cleanup | Go/no-go + rollback + dọn tài nguyên lab |
Không phải khoá chỉ dạy bấm console. Đây là các chỗ học viên thường fail khi tự deploy:
Ma trận cấu hình — lẫn domain test/prod, cookie Secure, CORS, callback OAuth.
NEXT_PUBLIC_* — sửa .env rồi restart vẫn không đổi URL trên trình duyệt (vì bake lúc build).
HTTPS + WebSocket — REST chạy nhưng SockJS/STOMP upgrade sai.
CDN chỉ cho media — hiểu đúng phạm vi CloudFront trong baseline.
Rollback — release có version/digest; không phụ thuộc latest.
Secret hygiene — Secrets Manager → .env, không commit, không log.
Actuator / bề mặt công khai — health cho LB, không mở lung tung.
Mỗi điểm đều có demo + lab + checklist Definition of Done.
Môi trường lab của bạn đạt các mốc:
[ ] Website + API chạy qua HTTPS
[ ] Frontend gọi đúng backend; OAuth và WebSocket đi đúng route
[ ] Backend kết nối RDS, Redis, S3
[ ] Media phục vụ qua CDN domain
[ ] Có bằng chứng backup/restore thử
[ ] Có runbook deploy + rollback cơ bản
[ ] Secret không nằm trong Git / log / bài nộp
[ ] Đã cleanup tài nguyên lab (tránh đốt tiền vô ích)
Đây không phải “xem hết video là xong”.
Đây là môi trường lab bạn tự dựng được và chứng minh được.
Toàn bộ lộ trình 18 topic / ~101 video (lý thuyết + demo + lab).
Lab source backend/frontend dành cho học viên (scrubbed, education-only — không phải bản production).
Checklist, mẫu bài lab, Definition of Done theo từng topic.
Runbook deploy / rollback / troubleshooting ở mức vận hành cơ bản.
Hướng dẫn dùng AWS account lab an toàn (budget, tag, cleanup).
Chi tiết quyền truy cập repo, thời hạn, và hình thức hỗ trợ sẽ ghi rõ trên trang bán hàng / Classroom invite.
Xem lý thuyết ngắn (8–15 phút/video).
Làm theo demo.
Tự làm lab trên môi trường test riêng.
Đối chiếu checkpoint trước khi sang topic tiếp theo.
Không thao tác production trong lúc học.
Domain minh hoạ: lab.example.com / api.lab.example.com / cdn.lab.example.com.
Không dùng secret, account ID hay dữ liệu người dùng thật trong bài nộp.
Học viên tự dùng AWS account của mình. Chi phí lab phụ thuộc thời gian bật tài nguyên; khuyến nghị:
Region: ap-southeast-1
Bật Budget alert ngay từ đầu (topic IAM).
Tắt / cleanup EC2, RDS, NAT (nếu có), Elastic IP không dùng sau mỗi buổi lab dài.
Capstone có lab cleanup riêng — đừng bỏ qua.
Khoá dạy kiểm soát chi phí như một kỹ năng, không phải phụ lục.
Có cần biết Docker trước không?
Biết cơ bản là lợi thế. Topic 02–05 sẽ dựng lại từ host → image → Compose.
Có dạy Kubernetes không?
Không trong baseline. Mục tiêu là EC2 + Compose production-like. Hướng ECS/K8s là bước tiếp theo sau khoá.
Lab có đụng production TayJava không?
Không. Học viên làm trên môi trường test/lab riêng với source đã scrub.
Mình chỉ biết Java, chưa biết Next.js?
Vẫn học được phần deploy FE (build-time config, image, Nginx). Không yêu cầu thành thạo React.
Sau khoá có thể apply vào project riêng không?
Được — và đó là mục tiêu. Quy trình ECR → Secrets → Compose → Nginx → CDN → rollback mang đi được.
Course content is being prepared. Sign up and start the free trial to peek inside now!
Learn with a practical path: OOP, Spring Boot, REST API, JPA/Hibernate, Security, Microservices, Docker and code review to master the skills.
Register now