Triển khai hệ thống TayJava.com lên AWS

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.

DevOps
Tiếng Việt
Self-paced
Coming soon
Free trial
Tây Lương
5.0/5 · 0 reviews
What will you learn?

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đư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á học này khác gì khoá AWS thông thường?

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.

Bạn sẽ làm được gì sau khoá

Sau khi hoàn thành, bạn có thể tự tay:

  1. Đọc và giải thích kiến trúc deploy production-like của một hệ thống monolith 2 repo.

  2. Đóng gói backend Java 21 / Spring Boot và frontend Next.js thành Docker image đa giai đoạn.

  3. Version + đẩy image lên Amazon ECR (tag bất biến, digest, release manifest — không phụ thuộc latest).

  4. Dựng hạ tầng tối thiểu: IAM, VPC, Security Group, EC2, RDS, S3, CloudFront, Secrets Manager.

  5. Deploy bằng Docker Compose trên EC2, materialize .env từ Secrets Manager.

  6. Đưa hệ thống ra Internet qua Nginx + HTTPS + WebSocket (SockJS/STOMP).

  7. Quản lý cấu hình theo local / test / production; phân biệt build-time, runtime và secret.

  8. 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”.


Đối tượng phù hợp

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.


Kiến trúc bạn sẽ dựng

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.


Lộ trình 18 topic · 4 khối

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.

Khối A — Nền tả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

Khối B — Đóng gói & dữ liệu

#

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 .env an toàn (mode 600)

Khối C — Đưa hệ thống lên server

#

Topic

Bạn nhận được

10

EC2 + Docker Compose deploy

Stack chạy trên EC2

11

Frontend build & NEXT_PUBLIC_*

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

Khối D — Tích hợp & vận hành

#

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


Những “điểm đau” khoá cố tình dạy kỹ

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:

  1. Ma trận cấu hình — lẫn domain test/prod, cookie Secure, CORS, callback OAuth.

  2. 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).

  3. HTTPS + WebSocket — REST chạy nhưng SockJS/STOMP upgrade sai.

  4. CDN chỉ cho media — hiểu đúng phạm vi CloudFront trong baseline.

  5. Rollback — release có version/digest; không phụ thuộc latest.

  6. Secret hygiene — Secrets Manager → .env, không commit, không log.

  7. 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.


Tiêu chí hoàn thành (bạn “xong khoá” khi…)

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.


Bạn nhận gì khi đăng ký

  • 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.


Cách học khuyến nghị

  1. Xem lý thuyết ngắn (8–15 phút/video).

  2. Làm theo demo.

  3. Tự làm lab trên môi trường test riêng.

  4. Đối chiếu checkpoint trước khi sang topic tiếp theo.

  5. 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.


Chi phí AWS khi học (ước lượng minh bạch)

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.


FAQ nhanh

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.

Comments
Sort by:

Sign in to comment.

No comments yet.

Coming soon

Course content is being prepared. Sign up and start the free trial to peek inside now!

Course content18 sections, 101 sessions
1. Kiến trúc TayJava & kế hoạch deploy
  • 1. Giới thiệu khoá học và kiến trúc modular monolith của TayJava
    Preview
  • 2. Giải thích luồng request qua Nginx, frontend, backend và CDN
    Preview
  • 3. Chọn dịch vụ AWS cho baseline và tách local/test/prod
  • 4. Đánh giá baseline hạ tầng và hướng mở rộng
2. Linux, Docker, AWS CLI trên EC2
Content is being updated.
3. AWS account, IAM và kiểm soát chi phí
Content is being updated.
4. VPC, Security Group và DNS
Content is being updated.
5. Container hoá TayJava và chạy local
Content is being updated.
6. Build, version và lưu image trên Amazon ECR
Content is being updated.
7. RDS PostgreSQL, schema, migration và clone data
Content is being updated.
8. Ma trận cấu hình đa môi trường
Content is being updated.
9. Secrets Manager và materialize .env
Content is being updated.
10. EC2 và Docker Compose deploy
Content is being updated.
11. Frontend build/deploy và NEXT_PUBLIC_*
Content is being updated.
12. Nginx, domain, HTTPS và WebSocket
Content is being updated.
13. Nginx cache, rate-limit và spam/DDoS
Content is being updated.
14. S3, CloudFront & ACM
Content is being updated.
15. Tích hợp bên thứ ba
Content is being updated.
16. Jobs, ShedLock & GeoIP
Content is being updated.
17. Observability, backup/restore & security
Content is being updated.
18. Capstone: release, rollback & cleanup
Content is being updated.

Share course

Start learning Java Web today

Learn with a practical path: OOP, Spring Boot, REST API, JPA/Hibernate, Security, Microservices, Docker and code review to master the skills.

Register now