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:
- 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. - Saya tidak memiliki beberapa keistimewaan yang lebih maju seperti
create trigger
ataucreate function
dalam 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. - 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?)
sumber
Jawaban:
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.
sumber
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.
sumber
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
simserver
yang mereka gunakan untuk pengujian. Begitu mereka mengatakan sudah siap, itu akan didorong ke Internetquality assurance (QA) environment
. Kami memilikijira
uji 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
simserver
itu logis dan mudah. Setelah Anda menyiapkanVM
templat, pengembang hanya menempatkannya di komputer pribadi mereka (tanpa akses ke seluruh jaringan - hanya komputer lokal mereka).sumber