Bạn đã chọn MongoDB làm cơ sở dữ liệu ứng dụng của mình và có thể đã có rất nhiều dữ liệu sản xuất trong cơ sở dữ liệu của bạn. Bây giờ, bạn cần thực hiện một thay đổi lớn đối với ứng dụng của mình. Bạn bắt đầu thử nghiệm như thế nào để đảm bảo phiên bản mới của ứng dụng hoạt động tốt với dữ liệu sản xuất của bạn?
Dữ liệu sản xuất luôn đa dạng hơn dữ liệu thử nghiệm của bạn và thực hiện nhiều trường hợp phức tạp hơn, do đó dẫn đến nhiều lỗi hơn. Bạn không nên xuất dữ liệu sản xuất vào môi trường thử nghiệm của mình do các vấn đề về chính sách, quyền riêng tư và bảo mật. Mặt khác, việc xác định và kiểm tra lỗi trong quá trình sản xuất khá khó khăn và tốn kém. Vì vậy, làm thế nào để bạn đảm bảo rằng phiên bản mới của ứng dụng của bạn hoạt động tốt với dữ liệu sản xuất? Đây là những gì chúng tôi đề xuất tại ScaleGrid:
4 Bước nâng cấp MongoDB lên Sản xuất
-
An toàn là trên hết
Mối quan tâm đầu tiên của chúng tôi là sự an toàn và bảo mật của dữ liệu sản xuất. Vì vậy, chúng tôi không bao giờ xuất bất kỳ dữ liệu sản xuất nào sang môi trường thử nghiệm hoặc dàn dựng của chúng tôi. Những gì chúng tôi có là “sản xuất giả” - đây là một môi trường giống hệt với sản xuất - cùng quy mô, cùng các hạn chế bảo mật như sản xuất. Tuy nhiên, nó là phù du và chỉ tồn tại trong thời gian thử nghiệm.
-
Sao chép Cụm MongoDB Sản xuất của bạn
Chúng tôi sử dụng tính năng ‘Nhân bản’ của ScaleGrid để tạo bản sao tại thời điểm của cơ sở dữ liệu sản xuất. Trên các đám mây như AWS, tính năng Nhân bản sử dụng ảnh chụp nhanh EBS, do đó, hoạt động nhân bản có ít hoặc không ảnh hưởng đến cơ sở dữ liệu sản xuất. Điều này cung cấp cho chúng tôi một môi trường cơ sở dữ liệu “sản xuất giả” có tất cả các tính năng giống như sản xuất - cùng dữ liệu, cùng kích thước máy, cùng bảo mật, cùng cấu hình cụm, v.v.
-
Chạy thử nghiệm mở rộng
Chúng tôi chạy một loạt các thử nghiệm để đảm bảo rằng phiên bản mới của ứng dụng không gây ra sự cố với dữ liệu. Khi chúng tôi hài lòng, chúng tôi loại bỏ môi trường “sản xuất rởm”.
-
Nâng cấp môi trường sản xuất của bạn
Sau khi hài lòng với thử nghiệm của mình, chúng tôi tiếp tục và nâng cấp ứng dụng của mình trong phiên bản sản xuất. Tùy thuộc vào tính năng, bạn cũng có thể muốn nâng cấp tính năng đó chỉ cho một số khách hàng của mình, còn gọi là thử nghiệm A / B.
Vậy bạn gặp vấn đề gì khác khi thử nghiệm nâng cấp ứng dụng với MongoDB? Bạn có công cụ, kỹ thuật hoặc đề xuất nào muốn chia sẻ không? Chúng tôi rất muốn nghe ý kiến của bạn!