Lingkungan Pengembangan Virtualisasi di Jaringan Perusahaan

11

Kami berusaha menerapkan lingkungan pengembangan menggunakan virtualisasi untuk tim kecil yang terdiri dari 4 pengembang dalam organisasi perusahaan. Ini akan memungkinkan kami untuk mengatur pengembangan terpisah, pengujian, dan lingkungan pementasan - serta memungkinkan akses ke sistem operasi baru yang merupakan persyaratan untuk sistem atau alat yang kami evaluasi. Kami bertujuan ulang mesin kelas workstation yang ada, melemparkan dalam RAM 24GB dan RAID-10, dan baik-baik saja sampai kami mencoba untuk mendapatkan mesin ditambahkan ke domain.

Sekarang kita memulai perang yang harus dilawan semua pengembang perusahaan sejak awal - perjuangan untuk kontrol lokal terhadap lingkungan pengembangan dan pengujian. Jaringan dan admin IT telah menimbulkan kekhawatiran mulai dari "ESX Server adalah standar perusahaan" hingga "server tidak diizinkan pada VLAN klien" hingga "[isi-kosong] bukan keahlian yang saat ini dimiliki di lokal atau organisasi TI perusahaan ".

Kami dapat membenarkan perangkat keras kelas produksi dan dukungan TI formal jika kami harus melakukannya, tetapi itu akan memakan waktu dan melibatkan banyak sakit kepala. Bahkan kemudian mungkin butuh berbulan-bulan untuk secara resmi mendapatkan sumber daya TI dengan memperlakukan ini sebagai sistem produksi - dan bahkan jika kita melakukannya, kita mungkin akan kehilangan kontrol lokal yang kita butuhkan.

Saya membayangkan bahwa banyak dari Anda memiliki perjuangan serupa atas kontrol pengembang terhadap lingkungan non-produksi - dan virtualisasi pada khususnya - jadi pertanyaan saya adalah sebagai berikut:

  1. Apa strategi dan argumen yang telah membantu Anda memenangkan infrastruktur (IT & Jaringan) orang untuk memungkinkan jenis silo ini ada di dalam perusahaan yang memiliki jaringan standar dan kebijakan keamanan di tempat yang umumnya (dan dapat dimengerti) menghalangi jenis non- ( infrastruktur yang dikelola secara terpusat)?
  2. Sudahkah Anda menemukan ini sebagai masalah pembenaran teknis - atau lebih dari perjuangan politik untuk kontrol dan kepemilikan?
  3. Jika Anda berakhir dengan lingkungan pengembangan yang dikelola TI, berapa banyak penghalang untuk pengembangan dan pengujian sehari-hari?
  4. Adakah yang akhirnya memindahkan lingkungan pengembangannya ke VLAN yang terputus atau jaringan yang sepenuhnya terpisah untuk menghindari kesulitan akses jaringan ini?

Juga, ini bukan perang suci Hyper-V vs ESX (kami akan baik-baik saja dengan baik - tetapi Hyper-V dipilih karena "bebas" dengan MSDN untuk tujuan ini [ya, VMWare memiliki alat gratis juga - tetapi alat manajemen yang baik umumnya tidak], dan akan lebih mudah dikelola oleh pengembang lokal di "Microsoft Shop") - jadi argumen untuk atau menentang keduanya berada di luar cakupan pertanyaan ini.

Ini juga kurang dari virtualisasi vs perangkat keras fisik - Saya kira pertanyaan yang sama dapat ditanyakan tanpa komponen virtualisasi ke persamaan.

Juga asumsikan bahwa tim pengembang telah membuat jaminan untuk mengelola manajemen tambalan dan antivirus, atau berintegrasi dengan sistem perusahaan yang ada jika mereka akan mendukungnya. Skenario ini, dengan pertanyaan yang berbeda, juga diposting di SF untuk mudah-mudahan memperoleh sudut pandang yang berlawanan.

ScottBai
sumber
Mengapa Anda mencoba untuk memvirtualisasi mesin pengembang? Masalah apa yang Anda sedang coba pecahkan? Pengembang, jaringan, dan admin TI Anda akan menanyakan hal ini kepada Anda, jadi sebaiknya Anda juga menumpahkan kacang di sini.
Robert Harvey
2
OK, harus jelas: Kami ingin kemampuan untuk memiliki lingkungan pengembangan, pengujian, dan produksi berdasarkan permintaan; pengujian unit otomatis / CI; akses ke OS dan / atau alat yang saat ini tidak kami miliki berjalan di lingkungan produksi kami tetapi merupakan persyaratan untuk sistem atau alat yang kami evaluasi; Jujur, saya berpikir bahwa manfaat dari pengembang memiliki lingkungan bertahap untuk pengujian dan penyebaran serta penggunaan virtualisasi secara umum diterima dan ditetapkan. Memang, kontrol admin lokal tidak diperlukan untuk semua itu, tetapi ada beberapa.
ScottBai
1
Anda membuat poin yang valid tentang menyatakan kasus saya (manfaat) - namun itu sebenarnya bagian dari pertanyaan. Lingkungan dev saat ini terdiri dari workstation pengembang digabungkan dengan penyebaran ke server produksi yang devs memiliki hak terbatas (pikirkan file copy + database SQL individual DBO). Jelas ini tidak optimal (saya baru di sana, tetapi semua orang sudah tahu ini adalah masalah besar). Itu adalah pertanyaan yang bagus karena bagian virtualisasi sebenarnya bukan faktor pembeda yang signifikan daripada jika kami memiliki mesin fisik yang memainkan peran ini.
ScottBai

Jawaban:

7

Anda telah "keluar dari reservasi", dan mencoba untuk membenarkannya.

Ini bukan tentang virtualisasi; Ini tentang kontrol dan tanggung jawab. Departemen TI memiliki tanggung jawab untuk keselamatan dan keandalan sistem perusahaan. Untuk memastikan mereka bekerja, TI membuat mereka di bawah kendali mereka sendiri. Anda telah membangun sistem yang tidak berada di bawah kendali TI, dan sekarang menjadi masalah.

Alasan biasa pemrogram menginginkan sistem mereka sendiri, menurut pengalaman saya, adalah:

  • TI tidak responsif. Butuh berminggu-minggu untuk mendapatkan lingkungan baru, tetapi Anda membutuhkannya sekarang.
  • Anda perlu kontrol; Mereka tidak akan memberikannya kepada Anda. Anda harus dapat mengatur izin, memasang komponen, dll. TI tidak akan membiarkan Anda.

Pada akhirnya, ketika Anda pergi ke produksi, Anda akan menginginkan sistem yang dikelola TI yang benar-benar dikunci. Tetapi saat Anda berkembang, Anda membutuhkan fleksibilitas. Beberapa saran:

  • Berteman. mengenal beberapa orang di TI; Bicaralah dengan mereka secara langsung. Jelaskan situasi Anda dan tanyakan kepada mereka apa yang bisa dilakukan. Anda mungkin bisa mendapatkan hak admin ke server dev hanya dengan bertanya.
  • Jalankan Lokal. Jika Anda dapat menjalankan sebagian dari aplikasi pada mesin lokal Anda, Anda mungkin tidak memerlukan server, atau Anda dapat pergi dengan instance DB yang dikunci.
  • Dapatkan Sponsor. Tidak ada yang membuat TI bergerak seperti VP masuk dan berkata, "Mengapa kamu memblokir proyek saya?" Gunakan pengaruh sponsor proyek Anda.
  • Ke Awan! Jika anggaran proyek Anda akan mencukupi, hanya host di EC2 - Anda melewati seluruh departemen TI Anda. Risiko semakin diretas, dan dipecat karena membiarkan informasi perusahaan di luar firewall.
  • Jalankan Game Panjang. Masukkan permintaan untuk server yang diotorisasi dan dikelola dengan benar lebih awal. Ketika Anda mendapat keluhan tentang homebrew Anda, katakan bahwa Anda masih menunggu di server resmi.
  • Preallocate. Minta server yang Anda pikir mungkin Anda butuhkan di masa depan. Kemudian buat ulang tujuan tersebut saat Anda memiliki kebutuhan aktual.
Sean McMillan
sumber
Poin yang sangat valid. Memberi +1 untuk tip sponsor, itu berfungsi seperti pesona sebagian besar waktu!
Saul Delgado
Ini adalah jawaban yang bagus - bukan yang saya ingin dengar, tapi saya pikir Anda memukul kepalanya. Saya sekarang menyadari bahwa ini adalah masalah para devs yang memiliki kebutuhan sah untuk lingkungan pengembangan - tetapi memiliki persepsi bahwa TI tidak responsif dan karenanya tidak berusaha bekerja bersama mereka untuk memenuhi kebutuhan kita. Seperti halnya saya suka bermain dengan perangkat keras, saya lebih suka diberikan lingkungan yang dikelola TI dengan lingkungan dev (hak penuh), lingkungan uji (hak penggunaan hanya penyebaran), pementasan (tanpa hak), dan produksi (tanpa hak) ) dan tidak harus mengelola semua infrastruktur itu.
ScottBai
2

Meskipun saya seorang amatir dalam situasi seperti ini, tampaknya argumen yang tepat dan dibangun dengan baik diperlukan untuk membenarkan kepada kepala departemen kebutuhan akan biaya tambahan (dan perluasan) sumber daya TI. Anda mungkin ingin pembicara yang baik yang mampu menengahi masalah dan mengaitkan nilai potensial proposal dengan mereka yang akhirnya membayar untuk itu.

Masalahnya sebenarnya adalah salah satu yang patut dipertimbangkan: Satu kelompok menginginkan lingkungan Dev, tetapi yang memberi tekanan pada kelompok lain yang merasa bertanggung jawab, memang bertanggung jawab atas keamanan sistem secara keseluruhan, jaringan terutama menjadi sesuatu yang dianggap pantas oleh IT. berharga tentang.

Itu mengejutkan saya bahwa kemampuan untuk mematikan sumber daya tertentu untuk proyek yang menguntungkan secara prospektif atau bahkan hanya lingkungan bebas untuk pengembang sekarang telah digantikan oleh rasionalisasi pasar untuk Virtualisasi sebagai pemotongan biaya dan ukuran pengendalian sumber daya.

Sekarang jangan salah paham, saya tidak menentang virtualisasi, jauh dari itu. Tetapi terpikir oleh saya bahwa seringkali ada resolusi yang sangat baik dan dapat dijelaskan untuk mengizinkan kelompok pengembangan untuk berhak atas ranah terpisah yang akan lebih produktif dalam lingkungan, dan berpotensi lebih aman daripada sekadar memvirtualisasikan segalanya.

Tentu sebuah bisnis dapat menghemat uang dengan menggunakan cloud untuk barang-barang antar kantor reguler, itu sangat berguna di sana. (Ini adalah bentuk virtualisasi, tetapi berbeda, saya tahu)

Tetapi misalkan pengembang memunculkan kesalahan yang tidak dapat diidentifikasi yang tidak dapat di-debug karena ada pertanyaan tentang apakah aplikasi / program telah rusak karena implementasi virtualisasi (yaitu bahwa itu tidak akan terjadi di komputer yang berdiri sendiri) maka itu menjadi kontra produktif untuk membuang waktu mencoba melacak bug yang sebenarnya tidak ada dalam pemrograman, tetapi dalam implementasi VM.

Saya harap saya jelas. Saya tidak punya jawaban untuk kasus spesifik Anda, tetapi saya pikir ini semoga pertimbangan yang berguna dalam hal masalah, dan saya akan sangat menyarankan agar masalah tersebut dibahas secara terbuka dan sepenuhnya dengan kedua departemen yang terlibat, dan mungkin perwakilan dari manajemen perusahaan yang pada akhirnya harus membuat kasus untuk pembelian. Karenanya saran saya untuk pembicara atau perantara yang baik!

Mungkin jika memerlukan lebih banyak karyawan, maka itu mungkin hal yang positif (ada banyak orang yang menganggur di luar sana) tetapi mungkin ada cukup kecerdasan TI di bagian pengembang untuk menambahkan peran seperti admin server untuk grup mereka sendiri?

Saya tahu itu sebenarnya sangat penting, jadi saya tidak ingin sembrono, tetapi ada kalanya saya pikir konsolidasi dan penambahan peran pada pekerja yang ada memberikan beban yang terlalu banyak pada waktu pribadi mereka, yang cenderung membuat mereka merasa kesal , terutama ketika mereka bisa menjadi bagian dari sesuatu yang baru dan sukses dalam rekayasa perangkat lunak.

Saya tidak iri dengan masalah Anda, namun saya iri dengan tempat kerja yang sepenuhnya terlibat dalam menghasilkan desain baru, perangkat lunak baru, dan ide-ide baru. Saya dengan tulus berharap yang terbaik dari keberuntungan Anda, dan berharap kontribusi saya dapat membantu.

Mihaly

MihalyK1a
sumber
1

Departemen TI sebenarnya ada benarnya.

Mereka mungkin mengelola ribuan aplikasi di ratusan sistem. Satu-satunya cara mereka dapat melakukan ini secara efektif adalah memiliki beberapa tumpukan perangkat lunak standar yang dipilih berjalan pada konfigurasi perangkat keras standar yang lebih sedikit.

Jika Anda mengikuti rute ini, Anda akan menghadapi lebih banyak masalah saat mendekati produksi - dalam skenario terburuk Anda harus mempertimbangkan ulang seluruh aplikasi untuk berjalan dalam lingkungan produksi standar beberapa hari sebelum Anda tayang.

Lebih baik bekerja dengan kelompok IT dan meminta mereka untuk mengkonfigurasi beberapa lingkungan pengujian standar untuk Anda, itu adalah apa yang harus mereka bayar. - Ironisnya mereka mungkin akan mengatur mesin virtual untuk setiap lingkungan.

Programer harus memprogram, biarkan orang-orang infrastruktur TI menyediakan infrastruktur dan orang-orang jaringan mengkonfigurasi jaringan - bagaimana perusahaan bekerja!

Juga jika aplikasi Anda sangat tidak standar sehingga TI tidak akan mempertimbangkan membangun lingkungan pengujian - Anda tidak akan memiliki peluang untuk membuatnya dalam produksi. Bicaralah dengan Anda arsitek perusahaan, cari tahu lingkungan apa yang standar dan coba gunakan. Jika Anda benar-benar tidak dapat mengimplementasikan aplikasi Anda menggunakan perangkat lunak / perangkat keras standar, Anda perlu membuat permintaan formal untuk arsitektur perusahaan untuk menyetujui infrastruktur Anda sebagai kasus luar biasa.

James Anderson
sumber
0

Anda harus membuat kasus Anda dengan manajemen yang:

  1. Memiliki lingkungan tervirtualisasi memenuhi satu atau lebih persyaratan yang dinyatakan khusus perusahaan (seperti fleksibilitas untuk mendukung berbagai platform), dan

  2. Anda dapat mengimplementasikannya dengan cara yang lebih tepat waktu, dengan biaya lebih murah daripada yang dapat TI, dan

  3. Memiliki kontrol lokal akan menurunkan biaya dan mengurangi waktu tunda ke pasar, dan

  4. Anda dapat memenuhi masalah keamanan dan pemeliharaan TI, dan

  5. Produktivitas programmer tidak akan terpengaruh.

Yang terakhir adalah jika besar .   Saya telah membahas masalah ini dengan sejumlah orang yang berspesialisasi dalam virtualisasi semacam ini. Mereka mengatakan kepada saya bahwa, pada saat Anda melempar cukup banyak perangkat keras untuk menjadikannya responsif seperti PC lokal, tidak akan ada penghematan biaya perangkat keras.

Jadi penghematan biaya yang diperagakan Anda harus datang dalam bentuk fleksibilitas dalam konfigurasi, dan kemampuan untuk mengubah konfigurasi tersebut pada saat itu juga.

Robert Harvey
sumber
Terima kasih atas minat dan jawaban Anda - tetapi saya tidak yakin Anda memahami Q atau niat kami. Anda membuat argumen menentang virtualisasi - tetapi bukan itu pertanyaannya. Juga jawaban yang bagus jika Q adalah bagaimana membenarkan kepada orang-orang yang membayar tagihan mengapa ini adalah ide yang bagus - tetapi pertanyaan saya bukan; ini adalah cara untuk membuat departemen antar-organisasi yang tidak membayar tagihan Anda atau secara khusus tidak peduli tentang tingkat produktivitas departemen Anda untuk bermain bagus dengan membiarkan perkecualian pada perjalanan bisnis normal. Atau apakah Anda mengatakan bahwa itu hanya masalah menjustifikasi dan semuanya baik-baik saja?
ScottBai