Đây là một câu hỏi rất rộng về các phương pháp và lời khuyên liên quan đến các biến / cấu trúc môi trường. Nhưng cuối cùng tôi đang tìm kiếm câu trả lời cho câu hỏi rất cụ thể về 'Tôi nên lưu trữ các biến môi trường của mình như thế nào?'
Trước hết là một số làm rõ:
- Một môi trường với tôi có thể từ 3 đến 10 máy chủ và là cách chứa cơ sở hạ tầng cụ thể của khách hàng.
- Bên trong mỗi môi trường có một vài biến chủ yếu được tạo tự động từ một vài đầu vào chính (tên, kích thước, v.v.).
Vì hiện tại chúng tôi đang lưu trữ tất cả các biến môi trường của chúng tôi trong một cấu trúc như vậy:
<playbook>.yml # Various playbooks for deployment
roles/windows # Ansible role for Ubuntu
roles/ubuntu # Ansible role for Ubuntu
config/hosts/<name>.yml # Ansible inventory
config/hosts/vars/<name>.json # Environment specific variables
Ngay bây giờ cấu hình được khởi tạo như một mô hình con trong kho git ở trên. Vì tệp biến thay đổi khá thường xuyên, điều này đã gây ra sự cố với dữ liệu thay đổi, một lần, hai lần hoặc thậm chí ba lần giữa các lần xác nhận, việc thay đổi ngày càng khó theo dõi.
Theo cá nhân tôi thấy nó sẽ phát triển về phía trước, chúng ta nên tìm cách lưu trữ tất cả các biến khách hàng của mình theo cách tập trung / có thể mở rộng và sau đó móc vào đó với một kho lưu trữ động với khả năng hiển thị .
Tôi hiểu rằng có một vài công nghệ dường như là một phần của những gì có thể được yêu cầu như Lãnh sự nhưng chúng dường như hoạt động tốt nhất trong môi trường phục vụ một ứng dụng lớn thay vì nhiều ứng dụng khác nhau nhỏ hơn một chút.
Về cơ bản, tôi thấy chúng tôi phải viết một kịch bản kiểm kê và sau đó chuyển tất cả dữ liệu của chúng tôi vào một số cơ sở dữ liệu được xây dựng không nhằm mục đích và sau đó tiếp tục như thể không có gì thay đổi. Tôi thấy điều này có thể hình dung như một cách để có khả năng cắt giảm rất nhiều dữ liệu chúng ta hiện đang lưu trữ và có lẽ xem xét các cách lưu trữ dữ liệu khác nhau thay vì chỉ mở rộng những gì phục vụ lại.
Tôi hy vọng ai đó có một số loại kinh nghiệm trong việc triển khai cơ sở hạ tầng dưới dạng mã khi phải xử lý nhiều môi trường nhỏ hơn so với một, hai hoặc ba môi trường lớn.
Bất kỳ đề xuất?