Hiện tại tôi có một quy trình triển khai truyền thống hoạt động như sau:
- Có nhiều "chức năng" khác nhau. Mỗi chức năng hoạt động trên một môi trường khác nhau, nhưng vẫn tồn tại giao tiếp giữa các chức năng.
- Có một máy chủ "Triển khai" kéo các kho git vào nó và triển khai mã/nội dung cho các máy ECS khác nhau
- "Triển khai" sẽ triển khai các chức năng khác nhau trên các máy khác nhau thông qua tập lệnh bash tự động
- Tập lệnh bash "Triển khai" có thể chỉ định số lượng máy và máy nào sẽ được triển khai cho từng chức năng
- Có một tệp cấu hình môi trường cho từng chức năng và mã chức năng trên máy thực tế sẽ đề cập đến nó. Tập lệnh bash "Triển khai" triển khai cùng một tệp cấu hình vào các máy chủ có cùng chức năng (cùng môi trường)
- Đối với mỗi chức năng, bộ cân bằng tải sẽ phân phối các yêu cầu đến các máy tương ứng trong cùng một môi trường theo quy tắc cân bằng
- Mọi máy đều chạy cùng một HĐH, CentOS7 và có tài liệu thủ công để thiết lập các tiện ích cần thiết (như httpd, PHP, NodeJs, MySQL và các tệp cấu hình của chúng .etc) cho từng môi trường. Việc thiết lập chỉ cần được thực hiện một lần và có thể được thực hiện trong vài giờ
Giờ đây, sự cường điệu về việc triển khai trong vùng chứa đang ngày càng phổ biến, tôi đang cân nhắc xem liệu mình có nên chuyển quy trình của mình sang Kubernetes (hoặc các giải pháp thay thế khác hay không).
Dựa trên sự hiểu biết của tôi, những lợi ích chính của việc triển khai trong container và những cân nhắc hiện tại của tôi là
Khả năng triển khai mã trên các đám mây của nhà cung cấp chéo.
Suy nghĩ hiện tại của tôi: vì mọi đám mây đều hỗ trợ CentOS7, nên tài liệu thiết lập và tệp cấu hình sẽ hoạt động cho mọi đám mây, phải không? (Tôi đang ở giai đoạn phát triển và chưa thực sự thử nghiệm với các nhà cung cấp đám mây thực và đây có thể là điểm khiến tôi hiểu lầm, nhưng về mặt lý thuyết, tôi không thể thấy nó không hoạt động như thế nào)
Dễ dàng mở rộng quy mô số lượng máy
Suy nghĩ hiện tại của tôi: tập lệnh bash "Triển khai" có thể chỉ định số lượng máy sẽ triển khai và kích hoạt tự động cho từng chức năng.Tôi không thể nghĩ ra cách tăng/giảm quy mô có thể dễ dàng hơn khi sử dụng vùng chứa
Triển khai nhanh hơn
Suy nghĩ hiện tại của tôi: Chi phí chính trong tập lệnh "Triển khai" của tôi là sao chép các tệp nội dung lớn qua mạng. Tôi không thể thấy làm thế nào điều này có thể giảm đáng kể khi sử dụng các thùng chứa.
Phát triển địa phương tích hợp hơn
Suy nghĩ hiện tại của tôi: Quá trình phát triển cục bộ hiện tại được thực hiện bằng cách sử dụng các máy ảo lang thang (tất cả đều có CentOS7) thay vì các vùng chứa và tôi không thấy điều đó rất bất tiện.
Mặt khác, tôi biết được rằng các lỗi có thể rất khó giải quyết khi các vùng chứa được sử dụng và các tệp nhật ký có thể rất khó quản lý, đây là những vấn đề nghiêm trọng.
Tôi còn khá mới với các vùng chứa và tôi thừa nhận rằng tôi là một trong những người xem xét sự cường điệu và cân nhắc chuyển đổi từ quy trình phát triển/triển khai mà tôi quen thuộc. Tuy nhiên, những cân nhắc hiện tại của tôi dường như gợi ý rằng tôi không nên chạy theo sự cường điệu, có thể do tôi thiếu kiến thức. Có điều gì tôi đã bỏ lỡ, điều đó thực sự có lợi nếu tôi chuyển sang sử dụng vùng chứa không?