Benar-benar tidak!
DevOps adalah tentang memecah silo tradisional (departemen) agar lebih efisien.
Komunikasi yang lebih baik antar tim, peningkatan visibilitas dan proses yang andal dan otomatis adalah cara untuk mencapai produk yang lebih baik.
Saya dulu bekerja untuk perusahaan media besar di mana kami akan mendukung alat internal dan mengembangkan situs web yang menghadap publik.
Manfaat DevOps dalam kasus kami adalah sebagai berikut:
- Melalui pembangunan berkelanjutan, kami memberi tahu tim pengembangan lebih awal daripada nanti jika ada integrasi atau membangun masalah dengan kode mereka. Mereka dapat memperbaiki masalah sementara pikiran mereka masih pada potongan kode yang baru saja mereka lakukan.
- Melalui pengujian dan pengiriman berkelanjutan (ke QA), kami memungkinkan tim QA untuk menemukan masalah lebih awal dan melaporkannya sebelumnya. Ini mengurangi waktu yang dibutuhkan untuk menemukan dan memperbaiki bug serta mengurangi kompleksitas investigasi ini.
- Tanpa alat pengumpulan & agregasi log, kami memberikan akses kepada pengembang untuk sesuatu yang biasanya tidak mereka lihat (mereka sangat tertarik pada para debugger :) - memahami bagaimana log dilihat dan digunakan oleh tim lain meningkatkan kualitas keseluruhan log
- Kami sering berbagi informasi dan membuat dokumentasi untuk berbagi pengetahuan antar tim, mencoba meruntuhkan tembok. Dengan memahami kebutuhan Ops, kami membuat beberapa panduan untuk apa yang harus selalu diingat ketika mem-bootstrap aplikasi (di mana / bagaimana mengelola properti, dll.). Dengan memahami realitas Dev (kode lebih banyak fitur, lebih cepat, gogogogo!), Kami dapat membuat ops membuat server dan kluster yang lebih sesuai dengan kebutuhan dev.
- Kualitas penempatan secara keseluruhan juga sangat ditingkatkan. Penempatan ditangani oleh tim kami, jadi kami memiliki visibilitas yang sempurna baik untuk Ops maupun Dev. Ini menghilangkan banyak masalah yang berkaitan dengan "code hand-off" di mana dev akan menyerahkan paket dan dokumen satu halaman ke ops yang mengatakan "Instal ini!".
Secara keseluruhan, saya akan mengatakan bahwa terlepas dari apakah Anda memperbarui lingkungan produksi Anda sekali sehari atau sebulan sekali dan terlepas dari berapa banyak pelanggan yang Anda miliki atau model bisnis Anda, setiap perusahaan dapat menggunakan komunikasi yang lebih baik, alat yang lebih baik, visibilitas yang lebih baik, umpan balik yang lebih cepat, dll.
Tim saya dan saya bertanggung jawab untuk mengembangkan "satu kali", produk yang pernah selesai diberikan kepada klien untuk pemeliharaan atau dalam beberapa kasus dikelola oleh kami dengan biaya tertentu.
Kami masih perlu mempertahankan jalur pengembangan yang solid untuk menangani umpan balik yang konstan dari klien kami untuk memastikan bahwa kami mengirimkan mereka sesuatu yang andal dan terbukti berjalan.
Meskipun klien tidak peduli dengan DevOps (dalam banyak kasus), itu tetap bermanfaat bagi kami. Dengan DevOps, kami dapat dengan cepat mendorong bangunan baru, sehingga klien dapat melihat umpan balik dalam hitungan menit bukan jam, dan kami juga dapat menangkap kesalahan / bug dengan pengujian kami melalui Jenkins / Travis.
Untuk memastikan strategi penempatan kami sama di seluruh proyek, kami fokus pada penampung aplikasi kami. Menggunakan Docker, kami dapat dengan mudah menyerahkan aplikasi kepada klien kami.
Biaya yang dihemat oleh DevOps sulit ditentukan. Kami memang memiliki biaya tambahan dalam bentuk perangkat lunak yang kami pilih untuk digunakan untuk saluran pipa (Travis, Jenkins, Puppet, apa pun yang Anda miliki), tetapi kami juga menghemat waktu dan uang dengan memperbaiki bug / memberikan umpan balik kepada klien dengan cepat. Waktu respons cepat kami membuat pelanggan senang, pada gilirannya, menjaga dompet kami bahagia.
sumber
Saya telah bekerja untuk perusahaan yang memproduksi perangkat lunak sebagai produk shrink-wrap, sebagai penyebaran yang sepenuhnya diinstal dan didukung dan sebagai kode tertanam di perangkat. Di semua perusahaan tersebut, DevOps memberikan dukungan penting untuk pengembangan:
Dalam semua kasus, ini adalah hal-hal yang dapat dilakukan oleh pengembang perorangan sebagai satu kali saja, tetapi itu tidak akan menjadi penggunaan waktu pengembang yang baik, juga tidak memiliki jaminan kontrol konfigurasi yang sama dengan yang dimiliki oleh bangunan otomatis.
sumber
Kegiatan pengembangan dan implementasi perangkat lunak sebelumnya tidak memerlukan integrasi yang mendalam antara departemen. Tetapi untuk hari ini perlu untuk bekerja sama erat semua departemen (Pengembangan, Operasi TI, Jaminan Kualitas, dll).
Untuk pengembang, perubahan adalah apa yang mereka bayar. Bisnis selalu membutuhkan perubahan agar sesuai dengan dunia modern. Pemahaman ini mendorong pengembang untuk menghasilkan jumlah perubahan semaksimal mungkin. Profesional TI memiliki pemahaman yang berbeda, di mana perubahan berbahaya. Masing-masing dari mereka berpikir bahwa itu berfungsi dengan benar, menguntungkan bisnis. Memang, jika kita menganggapnya secara terpisah, keduanya benar.
Semua karyawan harus memahami bahwa mereka adalah bagian dari satu proses tunggal. DevOps memupuk pemikiran, yang memungkinkan untuk menyadari bahwa keputusan pribadi dan tindakan semua orang harus diarahkan menuju realisasi satu tujuan. Dan keberhasilan harus diukur relatif terhadap seluruh siklus pengembangan-untuk-pengiriman, dan bukan dari keberhasilan peran individu. Sebagai hasil kerja sama erat antara pengembang dan spesialis pemeliharaan, generasi baru insinyur terbentuk, yang mengambil prestasi terbaik dari kedua disiplin ilmu dan menggabungkannya untuk kepentingan pengguna. Ini dimanifestasikan dalam penampilan tim lintas fungsional dengan pengalaman dalam pengembangan, manajemen konfigurasi, manajemen database, pengujian dan manajemen infrastruktur.
Jadi metodologi ini bermanfaat tidak hanya di SaaS.
sumber
Tidak semuanya. Meskipun sudah ada contoh bagus di utas ini, saya ingin membagikan anekdot saya sendiri. Pada tahun 2001 saya mewarisi proyek perangkat lunak dengan rilis yang melibatkan pembuatan CD. Dokumentasi untuk proses rilis termasuk 40 (!) Langkah-langkah yang didokumentasikan oleh insinyur sebelumnya, yang mencakup beberapa instruksi tulisan tangan yang konyol seperti "buka file konfigurasi ini dan ubah nama file .jar pada baris 41 untuk memasukkan nomor versi dari rilis baru ".
Kami secara otomatis mengotomatiskan setiap langkah dari proses pembangunan itu, mengganti instruksi tulisan tangan seperti itu dengan hal-hal seperti 'tambalan' yang ditulis dengan bash. Kami bahkan harus membuka tiket dengan vendor alat instal pihak ketiga untuk membuat file proyek mereka dapat ditambal.
Setelah proses itu diotomatisasi, kami membeli 'CD Jukebox'. Setiap malam setelah tes lulus, mesin build akan secara otomatis membuat CD instalasi baru. Penguji kami dapat datang keesokan paginya, mengambil disk, dan memastikan semuanya dapat diinstal.
Kami tentu memiliki loop umpan balik yang lebih ketat ketika kami dapat menggunakan perangkat lunak sebagai layanan, tetapi prinsip utama otomatisasi, umpan balik, waktu siklus, rilis kecil, dll. Semuanya berlaku.
sumber