Pementasan lingkungan vs lingkungan Produksi

80

Saya bekerja untuk sebuah perusahaan di mana kita membangun aplikasi perusahaan, dan kami mempertahankan tiga lingkungan: pengembangan (atau dev ), pementasan (atau tahap ) dan produksi (atau prod ).

Arti dari dev adalah intuitif: ini adalah lingkungan yang digunakan selama pengembangan aplikasi.

Apa perbedaan antara lingkungan pementasan dan produksi ?

rdasxy
sumber

Jawaban:

122

Untuk perusahaan kecil (tidak jelas seberapa besar milik Anda), tiga lingkungan (pengembang, panggung, produksi) adalah umum. Perusahaan yang lebih besar sering kali memiliki lingkungan QA antara dev dan stage.

Ini biasanya rusak sebagai berikut:

dev : Salinan kode kerja. Perubahan yang dilakukan oleh pengembang dikerahkan di sini sehingga integrasi dan fitur dapat diuji. Lingkungan ini diperbarui dengan cepat dan berisi versi aplikasi terbaru.

qa : (Tidak semua perusahaan memiliki ini). Lingkungan untuk jaminan kualitas; ini menyediakan versi aplikasi yang kurang sering diubah yang dapat diuji oleh penguji. Ini memungkinkan pelaporan revisi umum sehingga pengembang tahu apakah masalah tertentu yang ditemukan oleh penguji telah diperbaiki dalam kode pengembangan.

pementasan : Ini adalah kandidat rilis, dan lingkungan ini biasanya merupakan cermin dari lingkungan produksi. Area pementasan berisi versi "selanjutnya" dari aplikasi dan digunakan untuk pengujian stres akhir dan persetujuan klien / manajer sebelum ditayangkan.

produksi : Ini adalah versi aplikasi yang saat ini dirilis, dapat diakses oleh klien / pengguna akhir. Versi ini lebih disukai tidak berubah kecuali selama rilis yang dijadwalkan.

Mike
sumber
7
Ini benar dalam hal perangkat lunak. Ada juga data: dev dan qa terhubung ke database pengujian sehingga pengembang dan penguji tidak perlu khawatir tentang memperkenalkan perubahan, sementara pementasan dan produksi menggunakan database produksi. Pikirkan bank.
Juan Lanus
4
Ada dimensi lain: siapa pengguna? dev: para pengembang; qa (Saya lebih suka qc): para penguji; pementasan dan produksi: pengguna aktual. Dalam aplikasi bisnis dengan basis data rata-rata, para pengembang tidak diizinkan untuk melihat apalagi menyentuh basis data produksi, mereka dilengkapi dengan versi anonim.
Juan Lanus
3
@JuanLanus: Biasanya, lingkungan pementasan akan menggunakan salinan data produksi - Anda biasanya tidak ingin mengubah data produksi dari pementasan.
sleske
1
@JuanLanus: Maaf, maksud saya "Anda tidak ingin pengeditan di lingkungan pementasan terlihat di lingkungan prod" - karenanya pementasan menggunakan salinan data produksi, tetapi (biasanya) salinan yang dapat diedit.
sleske
2
Kami menyebutnya qa 'test': dev (me), uji (tim), pementasan (client), prod (dunia)
Rudie
13

Saya agak terkejut bahwa lingkungan pengujian tidak ada juga, sebagai lokasi kode untuk pergi sebelum dipromosikan ke pementasan.

Untuk menjawab pertanyaan:

Lingkungan panggung harus mencerminkan lingkungan produksi sedekat mungkin.

Ini digunakan untuk verifikasi prosedur penyebaran - memastikan bahwa ketika kode siap produksi dapat digunakan tanpa menyebabkan masalah.

Artinya, kode akan dipentaskan - ini diuji secara komprehensif dan diregresikan untuk memastikan bahwa penyebaran berjalan sesuai rencana (dan untuk menyelesaikan masalah jika tidak dilakukan).

Oded
sumber
1
Tepat - ia ada untuk mengambil kode dari lingkungan dev ke lingkungan yang lebih terkontrol, antara lain, menunjukkan setiap dependensi yang terlewatkan dalam dokumentasi, dan rasa malu 'baik itu bekerja pada mesin kami' pada lingkungan live / prod.
Danny Staple
Ini tidak ada hubungannya dengan pertanyaan ...
nbro
4

Lingkungan panggung adalah lingkungan preprod yang mencerminkan produksi. Seringkali, ia mungkin memiliki beberapa data produksi sehingga kelompok uji yang terdiri dari pengguna aktual dan penguji QA dapat mengkonfirmasi bahwa basis kode / data yang dirilis sebelumnya akan digunakan dan bekerja dengan baik dalam lingkungan seperti prod, biasanya melalui kasus penggunaan yang dituliskan dan regresi tes.

Sebagai catatan @Oded, biasanya memiliki lingkungan QA yang digunakan penguji QA untuk menguji kode.

JW8
sumber
3

Pengalaman saya dengan IT / Departemen Pertahanan AS adalah:

  1. DEVELOPMENT / TEST adalah untuk pengembang dan pengembang aplikasi. Mereka membangun dan menguji aplikasi dari sistem perusahaan.
  2. Ketika aplikasi selesai, mereka akan dikerahkan ke lingkungan TI ke server PACKAGING.
  3. Sejak saat itu, aplikasi didukung oleh TI, dimigrasikan ke STAGING (yang memungkinkan TI untuk mengembangkan / memeriksa pedoman implementasi, konfigurasi, dll.). Pengujian pengguna dapat terjadi pada tahap ini sampai tingkat tertentu untuk memverifikasi bahwa aplikasi akan berfungsi seperti yang diharapkan dalam sistem yang mereplikasi PRODUKSI.
  4. Jika semua rencana pengujian selesai dan rencana itu baik untuk digunakan, aplikasi akan dipindahkan ke PRODUKSI dan beralih ke mode keberlanjutan (yaitu, operasi dan pemeliharaan, atau O&M).
  5. Pembaruan baru dari pengembang juga akan digunakan ke PACKAGING dan proses berlanjut.
Cmac
sumber
2
Selamat Datang di Programmer. Situs kami berfokus pada pertanyaan dan jawaban berkualitas tinggi. Ini tidak seperti forum biasa. Silakan lihat pusat bantuan untuk informasi lebih lanjut. Saya tidak melihat bagaimana jawaban Anda membahas poin yang belum dibuat oleh jawaban lain untuk pertanyaan ini.
2

Sebagai pengembang web, ada tiga lingkungan yang perlu dipertimbangkan secara praktis :

Produksi : Lingkungan yang dikonfigurasikan untuk meng-host versi rilis akhir dari produk yang menargetkan pengguna akhir. Ini dioptimalkan untuk keamanan dan kinerja. Di-host di server langsung. Itu membutuhkan dukungan yang waspada dan mendesak. Ini data-kritis. Oleh karena itu, datanya didukung secara teratur. Ini juga melibatkan manajemen risiko dan pemulihan bencana. Lingkungan produksi dikonfigurasikan untuk menunjukkan kesalahan ramah kepada pengguna akhir.

Pementasan : Lingkungan yang dikonfigurasikan untuk meng-host kandidat rilis aplikasi setelah mendeklarasikan pembekuan kode. Ini menargetkan manajer proyek / pemilik bersama tim pengembangan untuk menyepakati ruang lingkup kandidat rilis. Ini melibatkan jaminan kualitas dan juga tim pengembangan untuk melakukan perbaikan dan penyempurnaan akhir sebelum dirilis ke produksi. Praktik terbaik adalah meniru lingkungan produksi dengan menggunakan data terbaru yang tersedia dari DB langsung yang disalin dari lingkungan produksi. Biasanya, lingkungan pementasan hanya dapat diakses oleh tim internal dan pemangku kepentingan, oleh karena itu, ia dapat diamankan di server publik atau diterbitkan di lingkungan intranet jika semua pemangku kepentingan dapat mengakses jaringan lokal. Lingkungan pementasan dikonfigurasikan untuk menunjukkan kesalahan teknis sedang atau penuh.

Pengembangan : Lingkungan pribadi yang dikonfigurasikan oleh pengembang tunggal pada mesinnya untuk memeriksa pekerjaannya sendiri selama siklus pengembangan, biasanya, disebut sprint dalam lingkungan scrum. Lingkungan pengembangan dikonfigurasikan untuk menampilkan kesalahan teknis penuh.

Shadi Namrouti
sumber