BT personeli olmayanlar için veritabanı hazırlama ortamı


10

BT departmanım için bir veritabanı hazırlama ortamı önermeye devam ediyorum. Fikir, benim gibi BT dışı bir kişinin (bayındırlık işleri analisti) çözümleri test etmek ve daha sonra bunları canlı ortamda kendim uygulamak ya da gerekirse BT'den bunları uygulamasını istemek. Bu ortamın faydalı olacağı birkaç neden / senaryo vardır:

  1. Bizim canlı veritabanı ortamında (bazı temel veritabanı ayrıcalıklarına sahip create table, create viewvs.). Haftada bir kez şema değişiklikleri yapıyorum, ancak bu değişiklikleri canlı bir ortamda test etmek ve uygulamak benim için çılgınca görünüyor . Veritabanında sayısız bağımlılık vardır, bu nedenle bir şeyler ters giderse felaket olabilir. Ayrı bir ortamda işleri önceden test etmeyi tercih ederim.
  2. Canlı veritabanı gibi create triggerveya daha gelişmiş ayrıcalıklara sahip değilim create function. Bu iyi, ama tetikleyiciler ve / veya fonksiyonlar ile çözülebilecek birkaç sorun var. Bazı fikirleri geliştirip test edebilmem için hazırlık ortamında bu izinleri almamı öneriyorum ve eğer işe yararsa BT'nin bunları canlı ortamda uygulamasını öneriyoruz.
  3. Genel olarak, BT departmanımın bana çözüm geliştirmek için zamanı veya kaynağı yok. Gerçekten bu kadar basit. Eğer bu işi kendi başımıza yapabilirsem, problemlerimin çözülmesi daha olasıdır.

'BT personeli olmayanlar için hazırlık ortamı' bana yeterince sağlam bir yaklaşım gibi gözüküyor, ama dürüst olmak gerekirse, bu fikre uydum. Bunun BT / veritabanı dünyasında nasıl yapıldığına dair hiçbir fikrim yok.

Bu senaryoya uyan herhangi bir yerleşik BT / Veritabanı uygulaması var mı? (BT personeli olmayanlar için bir veritabanı hazırlama ortamı önerirken doğru yolda mıyım?)


1
Veritabanında erişmemeniz gereken herhangi bir süper hassas veri var mı? Etrafında kolay bir çalışma, üretiminizi bozma korkusu olmadan oynayabileceğiniz kişisel bilgisayarınıza geri yüklemek için DB'lerin bir yedeğini göndermelerini sağlamak gibi görünüyor. Bu herhangi bir ek kaynak gerektirmez ve tek yapmaları gereken size yedekleri göndermektir. Ancak bu, ortamınızın güvenlik ihtiyaçlarına oldukça bağlıdır.
Shaulinator

1
Sonra kendi ortamınızda kullanmak için bir yedekleme ve geri yükleme düşük maliyetli ve kolay bir çözüm olduğunu düşünüyorum. İdeal olarak, birbirini taklit eden işlem gücü kademesinde değişen birden fazla ortamınız olmalı ve değişiklikler yaparken ortamlar boyunca yavaşça mezun olmalısınız. Oynamak ve değiştirmek, şeylerin nerede QA'd aldığını test etmek için bir geliştiricimiz, daha sonra donanım için Prod'un neredeyse 1: 1'i olan başka bir ortam ve daha sonra şeylerin yaşandığı Prod. Bu elbette maliyetli. Sunucuda benzer başka bir veritabanı olması başka bir fikirdir.
Shaulinator

1
Ortamları tamamen ayrı tutmayı tercih ederim, kaçan bir sorgunuz olması durumunda bir soruna en az neden olma şansını korur.
Shaulinator

1
Oracle veritabanı hızlı sürümü muhtemelen kolay seçimdir. Makinenize kurun, ana db'nizdeki gibi tabloları ayarlayın. Temsili verilerle yükleyin ve istediğiniz kadar geliştirebilir / test edebilirsiniz. Hazır olduğunuzda, bunları test etmek / değerlendirmek için değişiklikler gönderebilirsiniz.
Raj

1
@Raj, Express Edition'daki sorun, içinde neredeyse hiç kullanılabilir işlevsellik olmamasıdır. Wilson, Oracle için herhangi bir gerçek özellik yalnızca Enterprise Edition ile birlikte geldiğinden, Oracle lisanslaması, Shaulinator'ın bir dereceye kadar dokunmasına rağmen, muhtemelen henüz görmediğim en büyük engellerden biridir. Oracle, farkında olmadığım üretim dışı ortamlar için daha ucuz bir lisans sunmuyor , bu nedenle tek başına lisanslamayla oldukça pahalı bir engeliniz var. Bulut, yalnızca bütçe sorunları nedeniyle sizin için iyi bir seçenek olabilir.
John Eisbrener

Yanıtlar:


2

@Marcin Gminiski'nin cevabında, üretim ortamınızda işlevselliği taklit eden bir ortama sahip olmak istediğinizi kabul ediyorum. Her ne kadar konuyla ilgili 2 sentim "Ne ödeyebilirsin?" Bütçe kısıtlamaları genellikle iyi sürecin katilidir, bu yüzden gerçekten karşılayabileceğiniz şey nihai çözümünüzün karmaşıklığını / zarafetini belirleyecektir.

BT departmanınızın zamandan yoksun olduğundan ve personelinizin sizin için bir ortam hazırlayacağından bahsettiğiniz için, (veya daha çok bölümünüz / yöneticiniz) masaya herhangi bir fon getirebiliyor musunuz? Az miktarda yıllık fon sağlanması, buluta bakma olasılığını açacaktır. Bulut sağlayıcılar, ihtiyacınız olan her şeyi sunar ve bazı çözümler , Oracle ile ilgili olarak genellikle en büyük maliyetiniz olan uygun lisansları bile içerir . Hassas verileri bu ortama atmıyorsanız, bulut daha da çekici hale gelir.

Orada her türlü bulut seçeneği var, ancak AWS'deki Oracle RDS örneklerine yalnızca Lisans Dahil seçeneği sundukları için işaret edeceğim ve maliyetleri daha da azaltmak için kullanmadığınızda kapatabilirsiniz. Diğer bulut sağlayıcılarında bir eşdeğer olabilir, ancak aşina olduğum birçok bulut sağlayıcısı, kapsayıcı bir lisans sunmak yerine Oracle tabanlı çözümler için Kendi Lisansınızı (BYOL) getirmenizi gerektirir.

Buradaki son not, bir AWS RDS örneği SADECE veritabanıdır, bu nedenle ihtiyacınız olan tüm uygulama sunucusu altyapısının ek olarak hesaba katılması gerekir. Uygun maliyetli bir yaklaşım olarak işlevselliği test etmek için hızlı bir ortama ihtiyacınız varsa bulut harika bir seçenektir; sadece boşta sunucular için ödeme yapmamaya devam edin ve her şeyi kapatın emin olun.


3

Genellikle en azından DEV -> TEST -> PRE-PROD -> PROD'den iyi bir ortam elde edilir. Geliştirme normalde DEV'de gelişmeye, TEST'te kabul testine ve PRE ve PROD'da serbest bırakmak için IT'ye erişebilir. Kaynak kontrolü kullanırsanız, aynı kod parçasını farklı geliştiriciler tarafından aynı anda düzenlemeyle ilgili sorunlardan kaçınacaksınız.

Teknik olarak sadece prod ile aynı olması için şemaya ihtiyacınız vardır ve pre-prod'un altında üretim verilerine ihtiyaç duymazsınız, ancak prod ortamının dışında prod verisine sahipseniz, t / test'e otomatik bir geri yükleme yapabilirsiniz. Visual Cron ile benzer çalışmalar yaptım ve harikalar yaratıyor.

Uyumlu bir şekilde kalmak için BT personelinin değişiklikleri daha kolay ve daha esnek hale getirmek için önceden ve ürün haline getirmesi gerekir, böylece otomatik dağıtımların rotasını kullanabilirsiniz.


2

İşte benim deneyimim:

Başlangıçta, merkezi bir geliştirme ortamımız vardı simserver. Geliştiriciler işleri aynı anda test edecekler ve dağınık hale gelecektir .

Şimdi, her geliştiricinin simservertest için dağıttıkları bir yerel var. Bir kez hazır olduklarını söylediklerinde quality assurance (QA) environment,. jiraKontrol edilmesi gereken her şey için test senaryolarımız var , ayrıca yeni eklemeleri tekrar test ediyoruz (geliştirme yapmayan özel KG personelimiz var; sadece KG).

Sonra canlı yayılır.

Yerel simserveryapmak mantıklı ve kolaydır. Alacağınız kez VMşablonları hazır, geliştiriciler sadece (- sadece kendi yerel bilgisayar ağına geri kalanına erişimi olmayan) kendi kişisel bilgisayarında bunları dağıtın.


1
Bence, simserver için, prod ortamının bir miktar yansıtma (basit yedekleme geri yükleme?) Olan yerel olarak barındırılan bir SQL ortamı anlamına gelir ... Bu yerel ortamda geliştirme görevleri yaparsınız. Jira, geliştiricilerin ve KG'nin değişiklikleri izlemesini sağlayan bir proje yönetimi ve sorun izleme platformudur. Yerel bir örnekte yapılan önerilen bir değişikliğin dev için jiraya gönderildiğini belirtiyor. gözden geçirmek. VM sanal bir makinedir.
Wes
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.