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:
- 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)?
- Sudahkah Anda menemukan ini sebagai masalah pembenaran teknis - atau lebih dari perjuangan politik untuk kontrol dan kepemilikan?
- Jika Anda berakhir dengan lingkungan pengembangan yang dikelola TI, berapa banyak penghalang untuk pengembangan dan pengujian sehari-hari?
- 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.
sumber
Jawaban:
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:
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:
sumber
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
sumber
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.
sumber
Anda harus membuat kasus Anda dengan manajemen yang:
Memiliki lingkungan tervirtualisasi memenuhi satu atau lebih persyaratan yang dinyatakan khusus perusahaan (seperti fleksibilitas untuk mendukung berbagai platform), dan
Anda dapat mengimplementasikannya dengan cara yang lebih tepat waktu, dengan biaya lebih murah daripada yang dapat TI, dan
Memiliki kontrol lokal akan menurunkan biaya dan mengurangi waktu tunda ke pasar, dan
Anda dapat memenuhi masalah keamanan dan pemeliharaan TI, dan
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.
sumber