Hazırlama ortamı vs üretim ortamı


80

Bence kurumsal uygulamaları oluşturmak bir şirket için çalışan ve biz üç ortamlarını korumak: geliştirme (ya da dev evreleme (veya) aşama ) ve üretim (veya prod ).

Dev'in anlamı sezgiseldir: uygulamanın geliştirilmesi sırasında kullanılan ortamdır.

Aşama ve üretim ortamları arasındaki fark nedir ?

Yanıtlar:


122

Küçük şirketler için (sizinki ne kadar büyük olduğu belli değil), üç ortam (dev, sahne, üretim) yaygındır. Büyük şirketler genellikle dev ve sahne arasında bir QA ortamına sahip olacaklar.

Bunlar normal olarak şu şekilde parçalanır:

dev : Çalışma kodu kopyası. Geliştiriciler tarafından yapılan değişiklikler burada dağıtılmıştır, böylece entegrasyon ve özellikler test edilebilir. Bu ortam hızla güncellenir ve uygulamanın en son sürümünü içerir.

qa : (Tüm şirketler buna sahip olmayacak). Kalite güvencesi için çevre; Bu, test edicilerin kontrolleri gerçekleştirebileceği uygulamanın daha az sık değişen bir versiyonunu sağlar. Bu, ortak bir revizyonun raporlanmasına izin verir, böylece geliştiriciler test uzmanları tarafından bulunan belirli sorunların geliştirme kodunda düzeltilmiş olup olmadığını bilirler.

evreleme : Bu sürüm adayı ve bu ortam normalde üretim ortamının bir aynasıdır. Kademelendirme alanı, uygulamanın "sonraki" versiyonunu içerir ve canlı yayınlanmadan önce son stres testi ve müşteri / yönetici onayları için kullanılır.

üretim : Bu, uygulamanın yayınlanmış sürümüdür, müşteri / son kullanıcılar tarafından erişilebilir. Bu sürüm, tercihen yayınlanmış sürümler haricinde değişmez.


7
Bu yazılım açısından doğru. Ayrıca veri var: dev ve qa test veritabanlarına bağlı, bu nedenle geliştiriciler ve test uzmanları değişiklik tanıtmak için endişelenmek zorunda kalmazken, kademelendirme ve üretim kullanım üretim veritabanlarını da kullanmak zorunda kalmıyorlar. Bir banka düşün.
Juan Lanus

4
Başka bir boyut var: kullanıcılar kim? dev: geliştiriciler; qa (qc'yi tercih ederim): test cihazları; evreleme ve üretim: gerçek kullanıcılar. Ortalama veritabanlarına sahip iş uygulamalarında, geliştiricilerin üretim veritabanlarını tek başlarına bırakmalarına izin verilmez, anonimleştirilmiş sürümlerle donatılmıştır.
Juan Lanus,

3
@JuanLanus: Genellikle, hazırlık ortamı üretim verilerinin bir kopyasını kullanır - genellikle üretim verilerini aşama ayarlarından değiştirmek istemezsiniz.
sleske

1
@JuanLanus: Üzgünüm, "hazırlık ortamındaki düzenlemelerin prod ortamlarda görünmesini istemiyorsunuz" demek istedim - bu nedenle aşamalandırma, üretim verilerinin bir kopyasını kullanır, ancak (genellikle) düzenlenebilir bir kopya kullanır.
sleske

2
Qa 'test' diyoruz: dev (ben), test (takım), evreleme (müşteri), prod (dünya)
Rudie

13

Bir test ortamının mevcut olmadığına, evrelemeye başlamadan önce kodun girileceği bir konum olmadığına biraz şaşırdım.

Soruyu cevaplamak için:

Bir aşama ortamı, üretim ortamını mümkün olduğu kadar yakından yansıtmalıdır.

Dağıtım prosedürlerinin doğrulanması için kullanılır - kod hazır olduğunda üretime sorun çıkarmadan uygulanabilmesini sağlar.

Diğer bir deyişle, kod aşamalamaya gider - dağıtımın planlandığı gibi yapıldığından emin olmak için kapsamlı bir şekilde sınanır ve gerilir (ve yapılmadıysa sorunları gidermek için).


1
Tam olarak - geliştirme ortamından daha kontrollü bir ortama kod yerleştirmek, diğer şeylerin yanı sıra, dokümantasyonda kaçırılan herhangi bir bağımlılığı ve canlı / eşya ortamındaki 'makinemizde iyi çalışıyor' sıkıntılarını göstermek.
Danny Staple,

Bunun, soru ile ilgisi yok ...
nbro

4

Sahne ortamı, üretimi yansıtan önceden hazırlanmış bir ortamdır. Çoğu zaman, bazı üretim verilerine sahip olabilir, böylece gerçek kullanıcılardan ve KG test uzmanlarından oluşan bir test grubu önceden yayımlanmış kod tabanının / verilerinin, genellikle kodlanmış kullanım durumları ve regresyon yoluyla, eşya benzeri bir ortamda düzgün bir şekilde konuşlandırılacağını ve çalışacağını doğrulayabilir. testleri.

@Oded'ın not ettiği gibi, genellikle QA testcilerinin kodu test etmek için kullandıkları bir QA ortamına sahip olmak yaygındır.


3

ABD Hükümeti / Savunma Bakanlığı BT ile olan deneyimim şudur:

  1. GELİŞTİRME / TEST, geliştiriciler ve uygulama geliştiriciler içindir. Kurumsal sistemlerden uzakta uygulamalar oluşturur ve test ederler.
  2. Uygulamalar tamamlandığında, IT ortamına PACKAGING sunucularına yerleştirilecektir.
  3. Bu noktadan itibaren, uygulamalar BT tarafından desteklenir, STAGING'e taşınır (BT'nin uygulama kılavuzlarını, yapılandırmaları vb. Geliştirmesini / kontrol etmesini sağlar). Bu aşamada kullanıcı testi, uygulamanın ÜRETİM'i kopyalayan bir sistemde beklendiği gibi çalışacağını doğrulamak için bir dereceye kadar gerçekleşebilir.
  4. Tüm test planları tamamlandıysa ve gitmeleri uygunsa, uygulama ÜRETİM'e taşınacak ve susturma (yani işletme ve bakım veya O&M) moduna geçecektir.
  5. Geliştiricilerin yeni güncellemeleri de PAKETLEME içine dağıtılacak ve süreç devam edecektir.

2
Programcılara Hoşgeldiniz. Sitemiz yüksek kaliteli soru ve cevaplara odaklanmaktadır. Tipik forumlar gibi değil. Lütfen daha fazla bilgi için yardım merkezine bakınız. Cevabınızın, bu sorunun diğer cevapları tarafından henüz yapılmamış olan herhangi bir konuyu nasıl ele aldığını anlamadım.

2

Bir web geliştiricisi olarak, pratik olarak göz önünde bulundurulması gereken üç ortam vardır :

Üretim : Son kullanıcıları hedefleyen bir ürünün son sürüm sürümünü barındıracak ortam. Güvenlik ve performans için optimize edilmiştir. Canlı bir sunucuda barındırılıyor. Uyarılmış ve acil destek gerektirir. Bu veri kritik. Bu nedenle, verileri düzenli olarak yedeklenir. Aynı zamanda risk yönetimi ve felaket kurtarma işlemlerini içerir. Üretim ortamı, son kullanıcılara dostça hatalar gösterecek şekilde yapılandırılmıştır.

Aşama : Bir kod donması bildirdikten sonra uygulamanın yayınlanma adayını barındıracak şekilde yapılandırılmış ortam. Serbest bırakma adayının kapsamı üzerinde anlaşmaya varmak için geliştirme ekibiyle birlikte proje yöneticisi / sahibini hedefler. Kalite güvencesi ve aynı zamanda geliştirme ekibini üretime almadan önce son düzeltmeleri ve son döşemeleri yapmak için içerir. En iyi uygulama, üretim ortamından kopyalanan canlı bir DB'den gelen en son verileri kullanarak üretim ortamını taklit etmektir. Normal olarak, hazırlık ortamına yalnızca iç ekip ve paydaşlar tarafından erişilebilir, bu nedenle, tüm paydaşlar yerel bir ağa erişebiliyorsa, genel bir sunucuda güvence altına alınır veya bir intranet ortamında yayınlanır. Aşama ortamı orta veya tam teknik hatalar gösterecek şekilde yapılandırılmıştır.

Geliştirme : Makinesinde, bir geliştirme döngüsü sırasında kendi çalışmasını kontrol etmek için tek bir geliştirici tarafından yapılandırılan özel ortam, normal olarak bir scrum ortamında sprint olarak adlandırılır. Geliştirme ortamı, teknik hataların tamamını gösterecek şekilde yapılandırılmıştır.

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.