Tôi là kỹ sư DevOps và là kỹ sư phần mềm trong một nhóm, vài tháng trước, các nhà phát triển đã chuyển từ có DB trung tâm sang DB trên máy ảo CentOS trên máy tính xách tay cá nhân của họ. Động thái từ một DB trung tâm là để giảm sự phụ thuộc vào các DBA và cũng để loại bỏ các vấn đề xuất phát từ dữ liệu không nhất quán.
Kế hoạch chia sẻ và đảm bảo đồng bộ hóa Cơ sở dữ liệu với mọi người trong nhóm là mỗi người sẽ chia sẻ các tập lệnh thay đổi với mọi người. Vấn đề là chúng tôi sử dụng Skype để liên lạc (chúng tôi chỉ thiết lập chùng nhưng vẫn chưa bắt đầu sử dụng đầy đủ) và mặc dù đôi khi mọi người đăng văn bản của các kịch bản thay đổi DB, một số có thể bị bỏ qua. Vấn đề khác là một số nhà phát triển bỏ lỡ việc đăng các thay đổi. Hơn nữa, các bản phát hành mới được triển khai trong Sản xuất mà không được triển khai trên môi trường Thử nghiệm và Thử nghiệm.
Điều này đã đặt ra một thách thức nghiêm trọng đối với chúng tôi, đặc biệt là bản thân tôi, người gần đây, đã chịu trách nhiệm đảm bảo rằng các triển khai Demo của chúng tôi đồng bộ với các triển khai Sản xuất. Hầu hết các vấn đề đồng bộ hóa biên giới về việc thiếu đồng bộ hóa Cơ sở dữ liệu do thiếu các tập lệnh thay đổi hoặc thiếu các đối tượng DB. Oracle là DB ưu tiên của chúng tôi.
Việc triển khai điển hình trong môi trường Demo là một quá trình rất khó khăn liên quan đến việc kiểm tra một ứng dụng và khi xảy ra sự cố do thiếu các cột trong bảng DB, các hàm, các procs được lưu trữ, chúng ta phải tìm kiếm các đối tượng DB bị thiếu, áp dụng chúng cho DB và sau đó tiếp tục cho đến khi mọi vấn đề được giải quyết
Làm thế nào tôi có thể giải quyết vấn đề này để đảm bảo triển khai trơn tru, không đau và ít tốn thời gian? Việc di chuyển các ứng dụng của chúng tôi sang Docker có thể giúp giải quyết các vấn đề đồng bộ hóa DB và sự thiếu kỷ luật liên quan của các nhà phát triển không? Quá trình nào chúng ta có thể đưa vào để cải thiện trong lĩnh vực này?