CI/CD GitOps thực tiễn với Jenkins và ArgoCD
Vượt ra ngoài CI/CD truyền thống dựa trên Jenkins, khóa học còn bao quát cả việc triển khai GitOps bằng ArgoCD. Bạn sẽ trực tiếp thiết kế và triển khai chiến lược CI/CD·GitOps cho từng môi trường dev·staging·production bằng cách kết hợp Jenkins và ArgoCD. Bạn sẽ làm việc với Jenkins theo mô hình Push và ArgoCD theo mô hình Pull, trực tiếp so sánh hai phương thức trên cùng một cluster để hoàn thiện pipeline triển khai hybrid mang tính thực tiễn. Thực hành các kỹ thuật triển khai cốt lõi cần thiết cho vận hành, bao gồm Canary, Blue-Green, RBAC, quy trình phê duyệt, ứng phó sự cố và tự động rollback.
301 học viên
Độ khó Cơ bản
Thời gian Không giới hạn
Tin tức
3 bài viết
Xin chào, tôi là Lee Do-won (Kenneth).
Tôi đã mở khóa học miễn phí 「Giám sát chi phí Spring AI LLM — Tạo dashboard token chỉ với một dòng Actuator」.
Tại sao tôi tạo khóa học này?
Câu hỏi tôi nhận được nhiều nhất khi tư vấn các dự án AI cho doanh nghiệp là câu hỏi này.
"Đã tạo chatbot rồi, nhưng mỗi tháng tốn bao nhiêu tiền?"
Chi phí của dịch vụ LLM khác nhau theo từng yêu cầu, thời gian phản hồi có thể mất vài giây, và nguyên nhân thất bại nằm ngoài mã nguồn của chúng ta. Thế nhưng nhiều nhóm lại giám sát như đối với dịch vụ web thông thường, đến khi nhận được hóa đơn mới phát hiện ra vấn đề.
0 lỗi, Health UP, HTTP 200. Mọi thứ trông có vẻ bình thường, nhưng sự cố khiến số token đầu vào tăng gấp nhiều lần lại không thể bị phát hiện bằng hệ thống giám sát hiện có.
Bạn sẽ làm gì trong khóa học này
Chỉ với một dòng Actuator, trích xuất các chỉ số về token, độ trễ và lỗi mà Spring AI đã ghi lại.
Chỉ với một lần chạy docker compose, bạn có thể khởi chạy bảng điều khiển token Prometheus + Grafana.
Thay vì giá trị trung bình, dùng p95 để tìm ra “các yêu cầu đôi khi chậm”.
topK 4 → 20 Chỉ với một cài đặt, bạn sẽ trực tiếp tái hiện “sự cố trông có vẻ bình thường” khiến số token đầu vào tăng khoảng 4 lần và phát hiện nó bằng dashboard.
Không cần sửa mã nghiệp vụ. Chỉ cần thêm một dòng dependency và vài dòng cấu hình là được.
Thông tin khóa học
Thời lượng: khoảng 1 giờ (bao gồm thực hành)
Môi trường thực hành: JDK 21 trở lên, Docker Desktop, khóa API OpenAI hoặc Ollama (miễn phí)
Tài liệu cung cấp: dự án thực hành, docker-compose, JSON bảng điều khiển Grafana, tập lệnh tạo tải (bash · PowerShell), giáo trình theo từng bước
Tên metric tuân theo tiêu chuẩn Spring AI, nên bạn có thể gắn nguyên dashboard thực hành vào dự án của mình. Ngay cả khi không có API key, bạn vẫn có thể theo học đến cuối bằng Ollama.
Khóa học này phù hợp với những người
Các nhà phát triển backend đang xây dựng PoC hoặc chatbot nội bộ bằng Spring AI và chuẩn bị đưa vào vận hành
Dành cho những ai đã từng sử dụng Actuator và Prometheus nhưng không biết cần theo dõi điều gì trong dịch vụ LLM
Trưởng nhóm/kiến trúc sư cần báo cáo chi phí triển khai LLM bằng các con số
Nếu muốn đi sâu hơn
Số token được chuyển đổi thành chi phí tính bằng won, cảnh báo chi phí tăng đột biến và truy vết phân tán (Jaeger) để xem từng bước của một yêu cầu sẽ được tiếp tục trình bày trong Phần 16 của 『Phát triển dịch vụ LLM thực chiến dành cho lập trình viên Spring』.
👉 Phát triển dịch vụ LLM thực chiến dành cho lập trình viên Spring
Nếu gặp phần nào vướng mắc trong quá trình học, hãy để lại câu hỏi trên bảng hỏi đáp. Chúng tôi hoan nghênh cả những câu hỏi như "Tôi đã làm theo nhưng biểu đồ lại trống".
Những ý kiến bạn để lại trong phần đánh giá khóa học sẽ là nguồn động lực lớn khi chúng tôi xây dựng các bài giảng tiếp theo.
Xin cảm ơn.
Trân trọng, Lee Do-wonXin chào. Chúng tôi đã bổ sung một bài giảng bổ sung mới vào khóa học Phát triển dịch vụ LLM thực tế dành cho lập trình viên Spring (Phần 1). Nội dung hướng dẫn tích hợp mô hình ra quyết định Jev của TypeSafe AI mới được công bố vào ứng dụng Spring Boot, với thời lượng khoảng 1 giờ.
Tại sao thêm nội dung này
Trong Section 4, chúng ta đã tìm hiểu cách nhận phản hồi của LLM dưới dạng đối tượng Java bằngentity(), cũng như cạm bẫy trong thực tế khi mô hình bọc JSON trong code fence khiến việc phân tích cú pháp bị lỗi. Dù yêu cầu bằng prompt hay tự động hóa bằngentity(), vẫn còn một hạn chế: cuối cùng, đó vẫn là cách "nhờ" LLM trả về đúng định dạng.
Jev có cách tiếp cận khác. Thay vì viết câu trả lời, nó chọn một đáp án trong số các lựa chọn được định trước và trả về cùng với xác suất. Nói cách khác, định dạng được đảm bảo một cách có cấu trúc. Khi xử lý cùng một đầu vào theo hai cách, chúng ta sẽ hiểu rõ hơn nhiều về những điều cần cân nhắc khi thiết kế "đầu ra có cấu trúc". Vì vậy, tôi đã tổng hợp nội dung này như phần tiếp nối của Section 4.Bạn sẽ học gì
Khái niệm về các mô hình Jev và System One: ý nghĩa của việc trả về "quyết định có kiểu dữ liệu được xác định" thay vì văn bản
Sự khác biệt giữa LLM và Jev: câu trả lời tự luận và câu trả lời trắc nghiệm, những việc mỗi bên làm tốt và không làm tốt
Ba loại câu hỏi (choice · score · noul) và cấu trúc yêu cầu
/v1/systemoneGọi từ Spring: gọi API Jev bằng
RestClientvà tạo các lựa chọn bằng enum Java để chuyển đổi phản hồi một cách an toàn về kiểu dữ liệuTrình diễn so sánh: phân tích cùng một bài đánh giá phim lần lượt bằng
entity()và Jev để so sánh tốc độ, lỗi định dạng, độ tin cậy và tính nhất quán
Tài liệu được cập nhật cùng nhau
Mã ví dụ Phần 4 (ch4): thêm 2 API phân tích bài đánh giá (
/api/movies/review/llm,/api/movies/review/jev) vàJevClientSlide bài giảng bổ sung và tài liệu giảng dạy
Kịch bản kiểm thử so sánh:
review-compare.shdành cho macOS,review-compare.ps1dành cho Windows
Điểm cần biết trước
Jev không phải là một tính năng của Spring AI mà là một dịch vụ bên ngoài riêng biệt do TypeSafe AI cung cấp. Trong bài giảng, chúng ta cũng gọi trực tiếp bằng
RestClient, chứ không phảiChatClientcủa Spring AI.Hiện tại Jev đang ở giai đoạn truy cập sớm, vì vậy việc cấp khóa API có thể phải chờ. Trong mã ví dụ, tính năng Jev mặc định bị tắt (
jev.enabled=false), nên ngay cả khi không có khóa, bạn vẫn có thể tiếp tục các bài thực hành như bình thường. Nếu chưa có khóa, hãy xem phần trình diễn trong video và tập trung theo dõi các khái niệm cùng mã nguồn.Vì đây là dịch vụ mới ra mắt nên giá cả hoặc API có thể thay đổi sau này. Nếu có thay đổi, chúng tôi sẽ thông báo lại qua tin tức mới.
📌 Truy cập khóa học ngay: https://inf.run/VVpnV
Nếu trong quá trình học các bài giảng được bổ sung, bạn có bất kỳ thắc mắc nào hoặc gặp khó khăn khi thực hành, hãy thoải mái để lại bình luận. Chúng tôi sẽ tiếp tục bổ sung những nội dung có thể áp dụng ngay vào công việc thực tế.
Xin chào, tôi là Lee Do-won.
"Tôi đã thử tạo pipeline Jenkins, nhưng mới chỉ nghe nói về các khái niệm như ArgoCD hay GitOps."
"Tôi thấy bối rối không biết nên thiết kế việc triển khai như thế nào cho từng môi trường dev, staging và production."
Dành cho những ai đang trăn trở về những vấn đề này, chúng tôi đã mở khóa học 「Học GitOps CI/CD thực chiến với Jenkins và ArgoCD」 trên Inflearn.
Khóa học này khác biệt ở những điểm sau
• Cùng tìm hiểu cả GitOps dựa trên ArgoCD, vượt xa CI/CD truyền thống dựa trên Jenkins.
• Trực tiếp so sánh phương thức Push (Jenkins) và Pull (ArgoCD) trên cùng một cụm. Khi ai đó thay đổi thủ công bằng kubectl, bạn sẽ tận mắt thấy một bên giữ nguyên thay đổi còn bên kia tự động khôi phục, đồng thời trực tiếp cảm nhận sự khác biệt trong cách rollback và kiểm tra lịch sử triển khai.
• Kết hợp hai phương thức để xây dựng từ đầu đến cuối một pipeline triển khai kết hợp, trong đó dev·staging sử dụng Jenkins Push, còn production sử dụng ArgoCD Pull (phê duyệt Sync thủ công).
• Thực hành các kỹ thuật triển khai cốt lõi cần thiết cho vận hành, từ Canary, Blue-Green, RBAC, quy trình phê duyệt, ứng phó sự cố đến tự động rollback.
Môi trường thực hành
Chỉ cần Docker Desktop là có thể thực hiện. Có thể sử dụng trên cả Windows và macOS, không cần tài khoản đám mây như AWS hay phát sinh thêm chi phí.
Khóa học này phù hợp với những người sau
• Kỹ sư backend và hạ tầng đã từng sử dụng Jenkins nhưng mới làm quen với ArgoCD/GitOps
• Những người muốn chuyển việc triển khai Kubernetes từ thao tác thủ công bằng kubectl apply sang tự động hóa
• Những người phụ trách DevOps·SRE đang cân nhắc các yêu cầu vận hành như phê duyệt triển khai, rollback và theo dõi kiểm toán
Tổng thời lượng học khoảng 10~11 giờ, đồng thời cung cấp tài liệu thực hành và hướng dẫn khắc phục sự cố.
👉 Xem khóa học: https://inf.run/dEjZE
Nếu có điều gì thắc mắc, hãy thoải mái để lại bình luận hoặc đăng trong mục Q&A của khóa học nhé!

