Môi trường dàn dựng cơ sở dữ liệu cho nhân viên không CNTT


10

Tôi đang trong quá trình đề xuất môi trường dàn dựng cơ sở dữ liệu cho bộ phận CNTT của mình. Ý tưởng là một người không phải CNTT như tôi (nhà phân tích dữ liệu công trình công cộng) sẽ có một nơi để thử nghiệm các giải pháp và sau đó tự mình thực hiện chúng trong môi trường sống hoặc yêu cầu CNTT triển khai chúng nếu cần. Có một vài lý do / kịch bản mà môi trường này sẽ có lợi:

  1. Tôi có một số đặc quyền cơ sở dữ liệu cơ bản trong môi trường cơ sở dữ liệu trực tiếp của chúng tôi ( create table, create view, vv). Tôi thực hiện các thay đổi lược đồ khoảng một lần một tuần, nhưng dường như điên rồ khi tôi kiểm tra và thực hiện những thay đổi này trong môi trường sống. Có vô số sự phụ thuộc vào cơ sở dữ liệu, vì vậy nếu có sự cố xảy ra, nó có thể là thảm họa. Tôi muốn kiểm tra mọi thứ trước thời hạn trong một môi trường riêng biệt.
  2. Tôi không có một số đặc quyền nâng cao hơn như create triggerhoặc create functiontrong cơ sở dữ liệu trực tiếp. Điều này là tốt, nhưng tôi có một vài vấn đề có thể được giải quyết bằng các kích hoạt và / hoặc chức năng. Tôi dự định đề xuất rằng tôi được cấp các quyền này trong môi trường dàn dựng để tôi có thể phát triển và thử nghiệm một số ý tưởng, và nếu chúng hoạt động, hãy đề xuất CNTT triển khai chúng trong môi trường sống.
  3. Nói chung, bộ phận CNTT của tôi không có thời gian hoặc nguồn lực để phát triển các giải pháp cho tôi. Nó thực sự đơn giản. Vì vậy, nếu tôi có thể tự mình làm việc đó, thì vấn đề của tôi có nhiều khả năng sẽ được giải quyết hơn.

"Môi trường dàn dựng cho nhân viên phi CNTT" có vẻ như là một cách tiếp cận hợp lý với tôi, nhưng thành thật mà nói, tôi chỉ thực hiện ý tưởng này. Tôi không biết làm thế nào điều này thường được thực hiện trong thế giới cơ sở dữ liệu / CNTT.

Có loại thực hành CNTT / Cơ sở dữ liệu nào được thiết lập phù hợp với kịch bản này không? (Tôi có đang đi đúng hướng khi đề xuất môi trường dàn dựng cơ sở dữ liệu cho nhân viên không thuộc CNTT không?)


1
Có dữ liệu siêu nhạy cảm nào trong cơ sở dữ liệu bạn không nên truy cập không? Có vẻ như một công việc dễ dàng là để họ gửi cho bạn bản sao lưu của DB để khôi phục trên máy tính cá nhân của bạn mà bạn có thể chơi mà không sợ phá vỡ sản xuất. Điều này sẽ không yêu cầu bất kỳ tài nguyên bổ sung nào và tất cả những gì họ cần làm là gửi cho bạn bản sao lưu. Điều này phụ thuộc nhiều vào nhu cầu bảo mật của môi trường của bạn.
Shaulinator

1
Sau đó, tôi nghĩ rằng một bản sao lưu và khôi phục để sử dụng trong môi trường của riêng bạn là một giải pháp dễ dàng và chi phí thấp. Mặc dù vậy, lý tưởng nhất là bạn nên có nhiều môi trường trong phạm vi sức mạnh xử lý bắt chước lẫn nhau và khi bạn thực hiện các thay đổi, bạn từ từ tiến hành chúng trong các môi trường. Chúng tôi có một nhà phát triển và thay đổi, quảng bá để kiểm tra xem mọi thứ có QA'd, sau đó là một môi trường khác gần như là 1: 1 của Prod cho phần cứng và sau đó là Prod nơi mọi thứ hoạt động. Điều này rõ ràng là tốn kém. Có một cơ sở dữ liệu khác trên máy chủ tương tự là một ý tưởng khác.
Shaulinator

1
Tôi thích giữ các môi trường hoàn toàn riêng biệt, giữ cho cơ hội gây ra sự cố ở mức tối thiểu trong trường hợp bạn có một truy vấn bỏ chạy.
Shaulinator

1
Phiên bản cơ sở dữ liệu Oracle express có lẽ là sự lựa chọn dễ dàng của bạn. Cài đặt nó trên máy của bạn, thiết lập các bảng như trên db chính của bạn. Tải với dữ liệu đại diện và bạn có thể phát triển / kiểm tra bao nhiêu tùy ý. Khi bạn đã sẵn sàng, bạn có thể gửi cho họ các thay đổi để kiểm tra / đánh giá.
Raj

1
@Raj, vấn đề với Express Edition là hầu như không có bất kỳ chức năng có thể sử dụng nào trong đó. Wilson, bởi vì bất kỳ tính năng thực sự nào của Oracle chỉ đi kèm với Phiên bản doanh nghiệp, việc cấp phép Oracle có thể là một trong những trở ngại lớn nhất của bạn mà tôi chưa từng xem xét, mặc dù Shaulinator đã chạm vào nó ở một mức độ nào đó. Oracle không cung cấp giấy phép rẻ hơn cho tùy chọn môi trường phi sản xuất mà tôi biết, vì vậy bạn có một trở ngại khá tốn kém với việc cấp phép một mình. Đám mây có thể là một lựa chọn tốt cho bạn hoàn toàn do vấn đề ngân sách.
John Eisbrener

Câu trả lời:


2

Tôi đồng ý với câu trả lời của @Marcin Gminiski rằng bạn lý tưởng muốn có một môi trường bắt chước chức năng có sẵn trong môi trường sản xuất của bạn. Mặc dù tất cả 2 xu của tôi về vấn đề này đều xuất hiện, "Bạn có thể đủ khả năng gì?" Hạn chế về ngân sách thường là kẻ giết chết quá trình tốt, vì vậy thực sự những gì bạn có thể đủ khả năng sẽ quyết định sự phức tạp / thanh lịch của giải pháp cuối cùng của bạn.

Bởi vì bạn đề cập đến bộ phận CNTT của bạn đang thiếu thời gian và nhân viên để tạo môi trường cho bạn, bạn (hay đúng hơn là bộ phận / người quản lý của bạn) có thể mang lại bất kỳ khoản tài trợ nào cho bàn không? Mua một lượng nhỏ tài trợ hàng năm sẽ mở ra khả năng nhìn vào đám mây. Các nhà cung cấp đám mây cung cấp mọi thứ bạn cần và một số giải pháp thậm chí bao gồm các giấy phép phù hợp thường là chi phí lớn nhất của bạn vì nó liên quan đến Oracle. Nếu bạn không ném dữ liệu nhạy cảm vào môi trường này, đám mây sẽ trở nên hấp dẫn hơn nữa.

Có tất cả các loại tùy chọn đám mây có sẵn ngoài đó, nhưng tôi sẽ hướng bạn đến các phiên bản Oracle RDS trên AWS chỉ vì họ cung cấp tùy chọn Bao gồm giấy phép và bạn có thể tắt nó khi bạn không sử dụng nó để giảm thiểu chi phí. Một tương đương có thể tồn tại trên các nhà cung cấp đám mây khác, nhưng nhiều nhà cung cấp đám mây mà tôi quen thuộc yêu cầu bạn Mang theo Giấy phép của riêng bạn (BYOL) cho các giải pháp dựa trên Oracle thay vì cung cấp giấy phép bao gồm.

Lưu ý cuối cùng ở đây, một phiên bản AWS RDS CHỈ là cơ sở dữ liệu, do đó, bất kỳ cơ sở hạ tầng máy chủ ứng dụng nào bạn cũng cần phải được tính toán thêm. Đám mây là một lựa chọn tuyệt vời nếu bạn cần một môi trường nhanh chóng để kiểm tra chức năng, tất cả trong khi là một phương pháp hiệu quả về chi phí; chỉ cần đảm bảo rằng bạn giữ trên đầu trang và tắt mọi thứ để bạn không trả tiền cho các máy chủ nhàn rỗi.


3

Thông thường, một môi trường tốt sẽ được tạo ra ít nhất là DEV -> TEST -> PRE-PROD -> SẢN XUẤT. Phát triển thường có quyền truy cập để phát triển trong DEV, thử nghiệm chấp nhận trong TEST và CNTT để phát hành trong PRE và SẢN XUẤT. Nếu bạn sử dụng kiểm soát nguồn, bạn sẽ tránh được các vấn đề xung quanh việc chỉnh sửa cùng một đoạn mã bởi các nhà phát triển khác nhau cùng một lúc.

Về mặt kỹ thuật, bạn chỉ cần lược đồ giống như trong prod và không cần dữ liệu sản xuất dưới pre-prod nhưng nếu bạn ổn với việc có dữ liệu prod bên ngoài môi trường prod, bạn có thể tự động khôi phục vào dev / test. Tôi đã thực hiện công việc tương tự với Visual Cron và nó hoạt động rất tuyệt vời.

Có khả năng để duy trì nhân viên CNTT tuân thủ sẽ phải phát hành các thay đổi thành pre và prod để làm cho việc này dễ dàng và linh hoạt hơn, bạn có thể đi theo lộ trình triển khai tự động.


2

Đây là kinh nghiệm của tôi:

Ban đầu, chúng tôi đã có một môi trường phát triển trung tâm được gọi là simserver. Các nhà phát triển sẽ kiểm tra mọi thứ đồng thời và nó trở nên lộn xộn .

Bây giờ, mỗi nhà phát triển có một địa phương simservermà họ triển khai để thử nghiệm. Một khi họ nói rằng nó đã sẵn sàng, nó sẽ được đẩy đến quality assurance (QA) environment. Chúng tôi có jiracác trường hợp kiểm tra cho bất kỳ điều gì cần kiểm tra, cộng với chúng tôi kiểm tra các bổ sung mới một lần nữa (chúng tôi có đội ngũ nhân viên QA chuyên dụng không phát triển; chỉ cần QA).

Sau đó, nó được đẩy trực tiếp.

Làm một địa phương simserverlà hợp lý và dễ dàng. Khi bạn VMđã sẵn sàng các mẫu, các nhà phát triển chỉ cần triển khai chúng trên máy tính cá nhân của họ (không có quyền truy cập vào phần còn lại của mạng - chỉ máy tính cục bộ của họ).


1
Tôi nghĩ, đối với máy chủ sim, anh ta có nghĩa là một môi trường SQL được lưu trữ cục bộ có một số mức độ phản chiếu (khôi phục sao lưu đơn giản?) Của môi trường prod ... Bạn thực hiện các nhiệm vụ phát triển trên môi trường cục bộ đó. Jira là một nền tảng theo dõi vấn đề và quản lý dự án cho phép các nhà phát triển và QA theo dõi các thay đổi. Tôi nghĩ rằng anh ta đang nói rằng một thay đổi được đề xuất được thực hiện trên một cá thể địa phương sẽ được đăng lên jira cho dev. ôn tập. VM là máy ảo.
Wes
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.