
Tuyển tập Hội nghị Khoa học thường niên năm 2024. ISBN: 978-604-82-8175-5
110
XÂY DỰNG GIẢI PHÁP TÍCH HỢP VÀ TRIỂN KHAI
LIÊN TỤC CHO ỨNG DỤNG MICROSERVICES
Đỗ Trường Xuân, Phạm Thanh Bình
Trường Đại học Thủy lợi, email: {xuandt, binhpt}@tlu.edu.vn
1. GIỚI THIỆU CHUNG
Microservices là một xu hướng trong phát
triển phần mềm mang lại tính linh hoạt và
khả năng mở rộng cho ứng dụng phần mềm.
Microservices chia phần mềm thành những
dịch vụ nhỏ hơn có thể chạy độc lập và riêng
biệt. Mỗi dịch vụ nhỏ thực hiện một chức
năng riêng biệt ví dụ như quản lý đơn hàng
hoặc quản lý khách hàng. Việc chia nhỏ này
sẽ đem lại những lợi ích trong việc bảo trì
cũng như phát triển thêm những tính năng
mới một cách linh hoạt hơn, và khi xảy ra lỗi
thì chỉ dịch vụ đó bị ảnh hưởng thay vì toàn
bộ ứng dụng. Đặc biệt là hiện nay rất nhiều
các công cụ cho phép hỗ trợ triển khai và
quản lý các dịch vụ nhỏ này như công cụ
triển khai và quản lý container Kubernetes
[1]. Kubernetes cho phép triển khai các dịch
thành các container trên một cụm các nốt
phần cứng. Công cụ quản lý microservices
như service mesh Istio [2]. Công cụ này cho
phép tăng cường bảo mật giao tiếp giữa các
dịch vụ, cân bằng tải, cũng như giám sát
thông số của dịch vụ khi chạy.
Tích hợp liên tục (continuous integration)
và triển khai liên tục (continuous delivery)
[3] là phương pháp tự động hóa quy trình
phát triển phần mềm bao gồm tất cả các khâu
trong việc phát triển và triển khai ứng dụng.
Tích hợp liên tục đề cập đến việc liên tục tích
hợp các thay đổi vào mã nguồn của ứng
dụng. Khi một nhóm phát triển làm việc cùng
nhau, CI đảm bảo rằng các phiên bản mới
nhất của mã nguồn được tích hợp vào một
kho lưu trữ chung một cách tự động. Việc
này giúp phát hiện sớm các lỗi hợp nhất và
xung đột giữa các thành viên trong nhóm,
đồng thời đảm bảo mã nguồn luôn ổn định.
Triển khai liên tục liên quan đến việc triển
khai tự động các phiên bản mới nhất của ứng
dụng vào môi trường sản phẩm hoặc môi
trường thử nghiệm, giúp giảm thời gian và
công sức cần thiết để triển khai ứng dụng,
đồng thời tăng tính nhất quán và độ tin cậy
của quy trình triển khai. Hình 1 miêu tả quá
trình tích hợp liên tục và triển khai liên tục.
Hình 1. Quá trình tích hợp
và triển khai liên tục
Quá trình tích hợp bao gồm: cập nhật mã
nguồn mới (commit code), biên dịch mã
nguồn (build), kiểm thử đơn vị (unit tests), và
kiểm thử tích hợp (integration tests). Quá
trình triển khai bao gồm: đánh giá mã nguồn
(review), triển khai trong môi trường staging
(môi trường cho các kiểm thử viên) và môi
trường thực tế (production). Bài viết trình
bày một giải pháp cụ thể để xây dựng một
giải pháp tích hợp và triển khai liên tục cho
ứng dụng microservices.
2. SO SÁNH CÁC GIẢI PHÁP
Một số công cụ tích hợp liên tục và triển
khai liên tục phổ biến: