Lingkungan pementasan basis data untuk personel non-TI

10

Saya sedang dalam proses mengusulkan lingkungan pementasan basis data ke departemen TI saya. Idenya adalah bahwa orang non-IT seperti saya (analis data pekerjaan umum) akan memiliki tempat untuk menguji solusi, dan kemudian mengimplementasikannya di lingkungan langsung, atau meminta IT untuk mengimplementasikannya jika diperlukan. Ada beberapa alasan / skenario di mana lingkungan ini akan bermanfaat:

  1. Saya punya beberapa hak istimewa database dasar di lingkungan database hidup kita ( create table, create view, dll). Saya membuat perubahan skema sekali seminggu, tetapi tampaknya gila bagi saya untuk menguji dan menerapkan perubahan ini dalam lingkungan hidup. Ada banyak ketergantungan pada basis data, jadi jika terjadi kesalahan, itu bisa menjadi bencana. Saya lebih suka menguji hal-hal sebelumnya di lingkungan yang terpisah.
  2. Saya tidak memiliki beberapa keistimewaan yang lebih maju seperti create triggeratau create functiondalam database langsung. Ini baik-baik saja, tapi saya punya beberapa masalah yang bisa diselesaikan oleh pemicu dan / atau fungsi. Saya berencana untuk mengusulkan agar saya diberikan izin ini di lingkungan pementasan sehingga saya dapat mengembangkan dan menguji beberapa ide, dan jika itu berhasil, usulkan agar TI menerapkannya di lingkungan langsung.
  3. Secara umum, departemen TI saya tidak punya waktu atau sumber daya untuk mengembangkan solusi bagi saya. Sangat sederhana. Jadi jika saya bisa melakukan kerja keras sendiri, maka masalah saya lebih mungkin untuk diselesaikan.

'Lingkungan pementasan untuk personel non-TI' sepertinya pendekatan yang cukup masuk akal bagi saya, tetapi jujur ​​saja, saya hanya mengada-ada. Saya tidak tahu bagaimana ini biasanya dilakukan di dunia IT / database.

Apakah ada praktik IT / Database yang sesuai dengan skenario ini? (Apakah saya di jalur yang benar ketika mengusulkan lingkungan pementasan basis data untuk personel non-TI?)

Wilson
sumber
1
Apakah ada data super sensitif dalam database yang tidak boleh Anda akses? Tampaknya pekerjaan yang mudah adalah meminta mereka mengirimi Anda cadangan DB untuk dipulihkan di komputer pribadi Anda yang dapat Anda mainkan tanpa takut merusak produksi. Ini tidak memerlukan sumber daya tambahan dan yang perlu mereka lakukan hanyalah mengirimi Anda cadangan. Ini sangat tergantung pada kebutuhan keamanan lingkungan Anda.
Shaulinator
1
Maka saya pikir cadangan dan pemulihan untuk digunakan di lingkungan Anda sendiri adalah solusi yang murah dan mudah. Namun, idealnya, Anda harus memiliki beberapa lingkungan dengan tingkat kekuatan pemrosesan yang meniru satu sama lain dan saat Anda membuat perubahan, Anda perlahan-lahan memindahkannya ke seluruh lingkungan. Kami memiliki dev untuk bermain dan berubah, mempromosikan untuk menguji di mana hal mendapatkan QA, lalu lingkungan lain yang hampir 1: 1 dari Prod untuk perangkat keras, dan kemudian Prod di mana hal-hal ditayangkan. Ini jelas mahal. Memiliki database lain di server yang serupa adalah ide lain.
Shaulinator
1
Saya lebih suka menjaga lingkungan yang benar-benar terpisah, menjaga kemungkinan menyebabkan masalah seminimal mungkin jika Anda memiliki kueri pelarian.
Shaulinator
1
Edisi database Oracle express mungkin adalah pilihan mudah Anda. Instal di mesin Anda, atur tabel seperti pada db utama Anda. Muat dengan data yang representatif dan Anda dapat mengembangkan / menguji sebanyak yang Anda inginkan. Setelah siap, Anda dapat mengirim perubahan untuk diuji / dievaluasi.
Raj
1
@Raj, masalah dengan Edisi Express adalah hampir tidak ada fungsi yang dapat digunakan di dalamnya. Wilson, karena fitur nyata apa pun untuk Oracle hanya datang dengan Enterprise Edition, perizinan Oracle kemungkinan merupakan salah satu kendala terbesar Anda yang belum pernah saya lihat, meskipun Shaulinator menyentuhnya sampai tingkat tertentu. Oracle tidak menawarkan lisensi yang lebih murah untuk opsi lingkungan non-produksi yang saya ketahui, sehingga Anda memiliki rintangan yang cukup mahal dengan lisensi saja. Cloud mungkin merupakan opsi yang baik untuk Anda semata-mata karena masalah anggaran.
John Eisbrener

Jawaban:

2

Saya setuju dengan jawaban @Marcin Gminiski bahwa Anda secara ideal ingin memiliki lingkungan yang meniru fungsi yang tersedia di lingkungan produksi Anda. Meskipun 2 sen saya pada masalah ini semua bermuara pada, "Apa yang Anda mampu?" Kendala anggaran seringkali merupakan pembunuh proses yang baik, jadi apa yang Anda mampu akan menentukan kompleksitas / keanggunan solusi akhir Anda.

Karena Anda menyebutkan departemen TI Anda kekurangan waktu dan staf untuk membuat lingkungan bagi Anda, apakah Anda (atau lebih tepatnya departemen / manajer Anda) dapat membawa dana ke meja? Pengadaan sejumlah kecil dana tahunan akan membuka kemungkinan untuk melihat cloud. Penyedia cloud menawarkan semua yang Anda butuhkan, dan beberapa solusi bahkan menyertakan lisensi yang sesuai yang seringkali merupakan biaya terbesar Anda terkait dengan Oracle. Jika Anda tidak membuang data sensitif ke lingkungan ini, cloud menjadi semakin menarik.

Ada segala macam opsi cloud yang tersedia di luar sana, tetapi saya akan mengarahkan Anda ke contoh Oracle RDS di AWS semata-mata karena mereka menawarkan opsi Termasuk Lisensi , dan Anda dapat mematikannya ketika Anda tidak menggunakannya untuk meminimalkan biaya. Setara mungkin ada pada penyedia cloud lainnya, tetapi banyak penyedia cloud yang saya kenal mengharuskan Anda Membawa Lisensi Anda Sendiri (BYOL) untuk solusi berbasis Oracle alih-alih menawarkan lisensi inklusif.

Catatan terakhir di sini, turunan AWS RDS HANYA merupakan basis data, sehingga infrastruktur server aplikasi yang Anda perlukan juga harus diperhitungkan. Cloud adalah opsi yang bagus jika Anda membutuhkan lingkungan yang cepat untuk menguji fungsionalitas, semuanya dengan pendekatan yang hemat biaya; hanya pastikan Anda tetap di atasnya dan mematikannya sehingga Anda tidak membayar untuk server idle.

John Eisbrener
sumber
3

Biasanya lingkungan yang layak akan dibuat dari setidaknya DEV -> TEST -> PRE-PROD -> PROD. Pengembangan biasanya memiliki akses untuk berkembang dalam DEV, pengujian penerimaan di TEST dan IT untuk dirilis dalam PRE dan PROD. Jika Anda menggunakan kontrol sumber, Anda akan menghindari masalah saat mengedit bagian kode yang sama oleh pengembang yang berbeda pada saat yang sama.

Secara teknis Anda hanya perlu skema untuk menjadi sama seperti di prod dan tidak perlu data produksi di bawah pra-prod tetapi jika Anda ok dengan memiliki data prod di luar lingkungan prod t Anda bisa memiliki otomatis mengembalikan ke dev / test. Saya telah melakukan pekerjaan serupa dengan Visual Cron dan bekerja dengan sangat baik.

Agar tetap patuh, staf TI harus merilis perubahan menjadi pra dan produksi sehingga untuk membuat ini lebih mudah dan lebih tangguh, Anda bisa menempuh rute penyebaran otomatis.

Marcin Gminski
sumber
2

Inilah pengalaman saya:

Awalnya, kami memiliki lingkungan pengembangan pusat yang disebut simserver. Pengembang akan menguji berbagai hal secara bersamaan dan itu menjadi berantakan .

Sekarang, setiap pengembang memiliki lokal simserveryang mereka gunakan untuk pengujian. Begitu mereka mengatakan sudah siap, itu akan didorong ke Internet quality assurance (QA) environment. Kami memiliki jirauji kasus untuk apa pun yang perlu diperiksa, ditambah lagi kami menguji penambahan baru (kami telah mendedikasikan staf QA yang tidak melakukan pengembangan; hanya QA).

Maka itu akan didorong hidup.

Membuat lokal simserveritu logis dan mudah. Setelah Anda menyiapkan VMtemplat, pengembang hanya menempatkannya di komputer pribadi mereka (tanpa akses ke seluruh jaringan - hanya komputer lokal mereka).

FreeSoftwareServers
sumber
1
Saya pikir, untuk simserver, maksudnya adalah lingkungan SQL yang dihosting secara lokal yang memiliki beberapa tingkat mirroring (pemulihan cadangan sederhana?) Dari lingkungan prod ... Anda melakukan tugas pengembangan pada lingkungan lokal itu. Jira adalah manajemen proyek dan platform pelacakan masalah yang memungkinkan pengembang dan QA untuk melacak perubahan. Saya pikir dia menyatakan bahwa perubahan yang diusulkan yang dilakukan pada contoh lokal akan diposting ke jira untuk dev. ulasan. VM adalah mesin virtual.
Wes