Pro / kontra menghentikan aliran kerja DevOps?

9

Saya mencoba untuk mengevaluasi apakah itu ide yang baik untuk pindah dari alur kerja gaya devops ke tradisional dev-then-ops (tidak yakin apa yang Anda sebut itu).

Kami adalah departemen kecil yang beranggotakan 5 orang yang tersimpan di dalam 4000 perusahaan media tradisional (mis. Non-software). Dua tahun lalu kami mulai membangun perangkat lunak untuk memungkinkan departemen kami meningkatkan produksi secara signifikan. Kami sudah cukup sukses dan perusahaan yang lebih besar mulai memperhatikan. Hingga saat ini, kami bertanggung jawab penuh atas desain, pengembangan, dan penyebaran apa yang telah menjadi platform layanan layanan AWS ~ 10. Tim kami tidak mengidentifikasi sebagai DevOps, tetapi tanpa pertanyaan kami menjalani kehidupan DevOps, dengan masing-masing pengembang sangat akrab dengan kode dan sistem yang dijalankannya.

Salah satu pertanyaan yang akan kita hadapi segera adalah "efisiensi" apa yang dibagi antara kita dan departemen TI untuk perusahaan induk kita. Pemilik proyek kami biasanya lebih suka outsourcing daripada pembelajaran in-house, jadi dalam kasus kami efisiensi ini mungkin berarti mendapatkan sebanyak mungkin pekerjaan "dari piring kami". Saat ini, saya akan mengatakan tim kami memiliki perbedaan 70/30% antara pengalaman dalam coding vs infrastruktur. Departemen TI solid di bidang TI, tanpa crossover yang terlihat dalam pengembangan perangkat lunak.

Pemilik proyek kami (individu non-teknis) berharap bahwa dengan menyerahkan sebanyak mungkin pekerjaan kepada tim TI, kami akan melihat peningkatan produktivitas ~ 1: 1 untuk setiap jam pekerjaan operasi yang kami lepaskan. Saya skeptis tentang ini. Produk kami masih pra-beta (meskipun sudah menjadi aset bisnis yang signifikan) dan dalam pengalaman kami yang terbatas dengan departemen TI biasanya ada penundaan yang signifikan untuk hal-hal yang sederhana seperti perubahan izin sistem file.

Saat ini, solusi ideal saya adalah departemen TI untuk "mengadopsi" kami dan memungkinkan kami untuk terus menggelar pekerjaan kami sendiri, sambil memastikan bahwa kami memenuhi standar & persyaratan kantor TI. Saya tidak yakin seberapa realistis itu. Plus itu hampir merupakan pendekatan yang berlawanan yang didukung oleh pemilik proyek kami karena itu akan menambah kerja operasi tambahan dalam jangka pendek.

Dalam situasi kita, apa pro / kontra kemungkinan tinggal dengan pendekatan DevOps vs membagikan IT?

ragu1jack
sumber
Saya pikir Anda sudah memiliki visi yang benar tentang konsekuensinya, itu sangat pribadi dan terkait dengan perusahaan. Yang pasti adalah bahwa beban kerja tidak ditransfer sebagai 1: 1, untuk setiap jam ops ditransfer, Anda mungkin akan memiliki bagiannya untuk membantu tim ops dalam men-debug dan menangani penundaan ... (ini bukan jawaban, jadi tinggalkan saja sebagai komentar)
Tensibai

Jawaban:

10

Itu bukan ide yang bagus.

Dalam pengalaman saya, Anda akan mendapatkan kerugian dari keduanya sementara keuntungan yang diproyeksikan akan gagal terwujud.

Terperinci:

  1. Anda akan kehilangan kecepatan.
    IT akan mematuhi standar mereka sendiri. Tugas baru (untuk mereka) akan mengikuti template 'lamban' yang sama dengan semua pekerjaan mereka sekarang. Bersiaplah mereka akan menemukan itu menantang - kecepatan bahkan lebih rendah dari tindakan sederhana standar.
  2. Anda akan gagal membongkar.
    Ini akan bergantung pada kalian untuk setiap anomali. Anda akan berusaha untuk membuat seorang pria lebih cepat - dan hal berikutnya yang Anda lakukan sekarang adalah mengulangi diri Anda sendiri karena tugas / masalah / hari berikut ini akan ada seorang pria baru lagi.
  3. Dokumentasi akan diperlukan, tetapi itu tidak akan membantu.
    Sekali lagi perilaku templat adalah bahwa manual pendek akan gagal menangkap setiap anomali, dan teks menyeluruh tidak akan dibaca karena terlalu panjang. Jadi investasi apa pun di sini akan merugi, begitu pula upaya besar yang diperlukan untuk mengimplementasikan peningkatan agar alat Anda 'berkualitas'.

Last but not least masalah akan mencerminkan pada kalian. Tar, prinsip tarbrush.

Jika hal di atas terdengar sinis, well, saya khawatir saya pernah ke sana. Berkali-kali.

Apa yang harus dilakukan?

Berbelanja di departemen IT, temukan diri Anda kandidat yang berguna, dan simpan orang ini 'pinjaman' untuk mengurangi beban kerja Anda.

Bookeater
sumber
6

Anda dapat menemukan banyak jawaban dalam hasil survei DevOps yang harus Anda tanyakan kepada pemilik produk untuk dibaca. Ini adalah dokumen yang ditulis khusus untuk para pebisnis dengan sedikit pengetahuan teknis berbicara dalam istilah yang harus dia pahami.

Rata-rata Anda akan membutuhkan 1 pengembang ekstra untuk setiap 4 orang untuk mempertahankan tingkat pengembangan fitur yang sama (38% vs 49% waktu yang dihabiskan untuk pekerjaan baru). Waktu rata-rata Anda untuk pulih dari kegagalan akan turun hingga 25 kali. Pekerjaan Anda akan 20% kurang menyenangkan dan Anda akan 40% lebih mungkin untuk merekomendasikan pekerjaan Anda kepada teman. Tiga fakta itu saja sudah cukup.

Jiri Klouda
sumber
4

Apa yang Anda akan kehilangan dengan masuk ke dalam organisasi TI adalah bagian "Dev" dari tim DevOps kecil Anda. Ketika tim menjadi tersegmentasi menjadi peran buatan NetOps, SysOps dan Dev, Anda memperkenalkan masalah berikut:

  1. Pita merah dan isolasi yang tidak diperlukan - Untuk melakukan apa pun, pengembang harus menyerahkan tiket ke IT dan menunggu mereka menerapkannya. Mereka tidak lagi dapat mengimplementasikan dan berinteraksi dengan mereka sendiri - hingga dan termasuk contoh Dev dan QA mereka yang akan membatasi infrastruktur apa yang dapat mereka kode keluar. Mereka terjebak di penghalang VM bukannya bisa kode pada tumpukan penuh. Jika apa yang mereka kirimkan ke IT terlihat seperti kode DevOps, mereka tidak akan siap untuk menanganinya dan mungkin kembali ke penyebaran manual.
  2. Mengabaikan - Atau, mereka mungkin hanya menyebarkan apa adanya dan kemudian mengabaikan binatang itu karena mereka tidak tahu bagaimana berinteraksi dengannya - dan mereka bukan pengembang, jadi kode bukan masalah mereka.
  3. Pemadaman - Salah satu manfaat yang sering diabaikan dari DevOps adalah sifatnya yang terprogram. Tentu, mungkin perlu waktu lebih lama untuk menggunakan server itu dengan memperlakukannya sebagai kode, tetapi ini mengotomatiskan kesalahan manusia. Cara itu masuk ke dev adalah mereka cara itu akan pergi ke QA / Tes adalah cara itu akan masuk ke prod, sehingga mengurangi pemadaman. Ketika pengembang kehilangan akses ke peralatan jaringan mereka perlu mengerahkan layanan mereka atau infrastruktur komputasi tidak hanya membutuhkan waktu lebih lama, tetapi juga memperkenalkan lebih banyak manusia yang keliru yang akan menyebabkan lebih banyak pemadaman.
  4. Dokumentasi - Dalam beberapa hal, kode DevOps mendokumentasikan diri. Anda tahu bagaimana server dibangun dan digunakan karena kode memberi tahu Anda. Dalam 5 tahun, ketika tiba saatnya untuk upgrade ke CentOS 8 atau apa pun, tidak ada yang akan tahu bagaimana menyebarkan aplikasi Anda lagi - termasuk di jaringan, penyimpanan, pemantauan dan lapisan cadangan.

Singkatnya, Anda harus menyarankan agar pemilik proyek Anda meluangkan waktu untuk membaca The Mythical Man-Month untuk melecehkan dia dari anggapan bahwa Anda akan melihat hubungan 1: 1 dalam produktivitas dan Proyek Phoenix yang merupakan novel yang bagus (dan menghibur) ilustrasi tentang apa yang didapat dan hilang dengan menggunakan DevOps dalam bahasa non-teknis untuk orang-orang non-teknis. Jika pemilik proyek memiliki jenis perjalanan, buku audio Audible dari Proyek Phoenix tersedia.

James Shewey
sumber
3

Saya menyarankan agar Anda mengadopsi beberapa tim TI, dan memberi mereka pelatihan menyeluruh dalam sistem baru.

Begitu mereka memahami sistem sepenuhnya maka masuk akal untuk membebani mereka.

Jika tidak, Anda akan menjadi Pusat Dukungan untuk TI - dan menghabiskan banyak waktu untuk memadamkan api ketika mereka mempelajari seluk-beluk sistem baru.

Danny Schoemann
sumber