Apa itu metodologi DevOps dan siapa yang membutuhkannya

Mari kita cari tahu apa inti dari metodologi ini dan siapa yang dapat mengambil manfaat darinya.

Kami juga akan berbicara tentang spesialis DevOps: tugas, gaji, dan keterampilan mereka.

Apa itu metodologi DevOps dan siapa yang membutuhkannya
foto Matt Moore /Flickr/CC BY-SA

Apa itu DevOps

DevOps adalah metodologi pengembangan perangkat lunak yang bertugas menjalin interaksi antara programmer dan administrator sistem dalam suatu perusahaan. Jika spesialis TI dari departemen yang berbeda tidak memahami tugas satu sama lain, peluncuran aplikasi baru dan pembaruannya akan tertunda.

DevOps menciptakan siklus pengembangan yang β€œmulus”, sehingga membantu mempercepat peluncuran produk perangkat lunak. Akselerasi dicapai melalui pengenalan sistem otomasi. Selain itu, pemrogram mulai berpartisipasi dalam menyiapkan server dan menemukan bug, misalnya, mereka dapat menulis pengujian otomatis.

Hal ini meningkatkan interaksi antar departemen. Karyawan mulai lebih memahami tahapan apa saja yang dilalui produk perangkat lunak sebelum sampai ke tangan pengguna.

Ketika pengembang memahami apa yang dihadapi administrator saat menyiapkan server, dia akan mencoba memuluskan kemungkinan β€œsudut tajam” dalam kode. Hal ini mengurangi jumlah bug saat menyebarkan aplikasi - menurut statistik, itu menurun sekitar lima kali.

Siapa yang membutuhkan dan tidak membutuhkan metodologi

Banyak Pakar TI percayabahwa DevOps akan menguntungkan organisasi mana pun yang mengembangkan perangkat lunak. Hal ini berlaku bahkan jika perusahaan tersebut hanyalah konsumen layanan TI dan tidak mengembangkan aplikasinya sendiri. Dalam hal ini, penerapan budaya DevOps akan membantu Anda fokus pada inovasi.

Pengecualian untuk startup, tapi di sini semuanya tergantung pada skala proyek. Jika tujuan Anda adalah meluncurkan produk minimum yang layak (MVP) untuk menguji ide baru, maka Anda dapat melakukannya tanpa DevOps. Misalnya, pendiri Groupon mulai mengerjakan layanan ini secara manual diposting semua penawaran di situs web dan pesanan yang dikumpulkan. Dia tidak menggunakan alat otomatisasi apa pun.

Menerapkan metodologi dan alat otomatisasi hanya masuk akal ketika aplikasi mulai mendapatkan popularitas. Ini akan membantu menyederhanakan proses bisnis dan mempercepat rilis pembaruan.

Bagaimana menerapkan DevOps

Berikut adalah beberapa rekomendasi untuk beralih ke metodologi baru.

Mengidentifikasi masalah dalam proses bisnis. Sebelum menerapkan metodologi, soroti tujuan dan masalah organisasi. Strategi transisi ke DevOps akan bergantung pada mereka. Untuk melakukan ini, buatlah daftar pertanyaan, misalnya:

  • Apa yang paling memakan waktu saat memperbarui perangkat lunak?
  • Apakah mungkin untuk mengotomatiskan proses ini?
  • Apakah struktur organisasi mempengaruhi hal ini?

Pelajari lebih lanjut tentang mengidentifikasi masalah dalam suatu organisasi bisa dibaca di buku Β«Proyek "Phoenix""Dan"Panduan DevOpsΒ» dari penulis metodologi.

Ubah budaya di perusahaan. Penting untuk meyakinkan seluruh karyawan untuk mengubah cara kerja mereka yang biasa dan memperluas jangkauan kompetensi mereka. Misalnya di Facebook semua programmer menjawab untuk seluruh siklus hidup aplikasi: mulai dari pengkodean hingga implementasi. Selain itu, Facebook tidak memiliki departemen pengujian terpisah - pengujian ditulis oleh pengembangnya sendiri.

Mulai dari yang kecil. Pilih proses yang paling memakan waktu dan tenaga saat merilis pembaruan dan otomatiskan. Ini mungkin proses pengujian atau penerapan aplikasi. Para ahli menasihati Langkah pertama adalah mengimplementasikan alat kontrol versi terdistribusi. Mereka mempermudah pengelolaan sumber. Di antara solusi tersebut, yang paling terkenal adalah Git, Mercurial, Subversion (SVN) dan CVS.

Penting juga untuk memperhatikan sistem integrasi berkelanjutan yang bertanggung jawab untuk perakitan dan pengujian produk akhir. Contoh alat tersebut: Jenkins, TeamCity dan Bamboo.

Evaluasi perbaikan. Kembangkan metrik kinerja untuk solusi yang diterapkan dan buat daftar periksa. Metrik dapat mencakup frekuensi rilis, waktu yang dihabiskan untuk mengerjakan fitur perangkat lunak, dan jumlah bug dalam kode. Diskusikan hasilnya tidak hanya dengan manajer, tetapi juga dengan seluruh tim yang terlibat dalam proyek tersebut. Tanyakan alat apa yang hilang. Pertimbangkan permintaan ini saat mengoptimalkan proses Anda lebih lanjut.

Kritik terhadap DevOps

Meskipun metodologinya membantu organisasi dapat membuat keputusan lebih cepat mengenai pengembangan aplikasi, pemotongan banyaknya kesalahan dalam perangkat lunak dan mendorong karyawan untuk mempelajari hal-hal baru, juga mendapat kritik.

Ada pendapatbahwa pemrogram tidak boleh memahami detail pekerjaan administrator sistem. Diduga, DevOps mengarah pada fakta bahwa alih-alih spesialis pengembangan atau administrasi, perusahaan memiliki orang-orang yang memahami segalanya, tetapi secara dangkal.

Dipercaya juga bahwa DevOps tidak bekerja dengan manajemen yang buruk. Jika tim pengembangan dan admin tidak memiliki tujuan yang sama, maka manajerlah yang harus disalahkan karena tidak mengatur komunikasi antar tim. Untuk mengatasi masalah ini, yang dibutuhkan bukanlah metodologi baru, melainkan sistem evaluasi manajer berdasarkan masukan dari bawahan. Anda dapat membacanya di sini, pertanyaan apa yang harus dimasukkan dalam formulir survei karyawan.

Apa itu metodologi DevOps dan siapa yang membutuhkannya
foto Ed Ivanushkin /Flickr/CC BY-SA

Siapa Insinyur DevOps

Seorang insinyur DevOps mengimplementasikan metodologi DevOps. Ini menyinkronkan semua tahapan pembuatan produk perangkat lunak: mulai dari menulis kode hingga menguji dan merilis aplikasi. Spesialis tersebut mengontrol departemen pengembangan dan administrasi, ditambah mengotomatiskan pelaksanaan tugas mereka dengan memperkenalkan berbagai perangkat lunak.

Trik seorang insinyur DevOps adalah ia menggabungkan banyak profesi: administrator, pengembang, penguji, dan manajer.

Joe Sanchez, penginjil DevOps di VMware, sebuah perusahaan perangkat lunak virtualisasi, dikhususkan sejumlah keterampilan yang harus dimiliki seorang insinyur DevOps. Selain pengetahuan yang jelas tentang metodologi DevOps, orang ini harus memiliki pengalaman mengelola sistem operasi Windows dan Linux dan pengalaman bekerja dengan alat otomatisasi seperti KokiWayangMungkin. Ia juga harus bisa menulis skrip dan kode dalam beberapa bahasa dan memahami teknologi jaringan.

Insinyur DevOps bertanggung jawab atas segala otomatisasi tugas yang terkait dengan konfigurasi dan penerapan aplikasi. Pemantauan perangkat lunak juga berada di pundaknya. Untuk mengatasi masalah ini, ia menggunakan berbagai sistem manajemen konfigurasi, solusi virtualisasi, dan alat cloud untuk menyeimbangkan sumber daya.

Siapa yang merekrut

Insinyur DevOps dapat memberikan manfaat bagi organisasi mana pun yang mengembangkan aplikasi atau mengelola server dalam jumlah besar. Insinyur DevOps sedang merekrut Raksasa IT seperti Amazon, Adobe dan Facebook. Mereka juga bekerja di Netflix, Walmart, dan Etsy.

Tidak merekrut Insinyur DevOps hanyalah pemula. Tugas mereka adalah merilis produk minimum yang layak untuk menguji ide baru. Dalam kebanyakan kasus, startup dapat berjalan tanpa DevOps.

Berapa bayarannya?

Insinyur DevOps menghasilkan lebih dari siapa pun di industri ini. Pendapatan rata-rata spesialis tersebut di seluruh dunia berkisar antara 100 hingga 125 ribu dolar per tahun.

Di Amerika mereka dapatkan 90 ribu dolar per tahun (500 ribu rubel per bulan). Di Kanada mereka membayar 122 ribu dolar per tahun (670 ribu rubel per bulan), dan di Inggris - 67,5 ribu pound sterling per tahun (490 ribu rubel per bulan).

Adapun Rusia, perusahaan Moskow siap bayar spesialis DevOps dari 100 hingga 200 ribu rubel per bulan. Petersburg, pemberi kerja sedikit lebih murah hati - mereka menawarkan 160-360 ribu rubel per bulan. Di daerah, gaji diperkirakan 100–120 ribu rubel per bulan.

Bagaimana menjadi spesialis DevOps

DevOps adalah arah yang relatif baru di bidang TI, sehingga tidak ada daftar persyaratan yang ditetapkan untuk para insinyur DevOps. Dalam lowongan tersebut, di antara persyaratan untuk posisi ini Anda dapat menemukan keterampilan administrasi Debian dan CentOS serta kemampuan untuk bekerja dengan disk drive. Array RAID.

Berdasarkan hal ini, kita dapat menyimpulkan bahwa, pertama-tama, seorang insinyur DevOps harus memiliki pandangan teknis yang baik. Penting bagi orang seperti itu untuk terus mempelajari alat dan teknologi baru.

Cara termudah untuk menjadi insinyur DevOps adalah menjadi administrator sistem atau pengembang. Mereka sudah memiliki sejumlah keterampilan yang perlu dikembangkan. Tugas utamanya adalah meningkatkan pengetahuan minimum dalam DevOps, memahami cara bekerja dengan alat otomatisasi, dan mengisi kesenjangan dalam keterampilan administrasi, pemrograman, dan virtualisasi.

Untuk memahami dimana pengetahuan yang masih kurang, Anda bisa menggunakan mini-Wikipedia di GitHub ΠΈΠ»ΠΈ peta mental. Penghuni Hacker News juga Sarankan membaca buku-buku "Proyek "Phoenix""Dan"Panduan DevOps" (yang kami sebutkan di atas) dan "Filosofi DevOps. Seni Manajemen TIΒ» di bawah stempel O'Reilly Media.

Anda juga dapat berlangganan Buletin Mingguan Devops, baca artikel topikal portal DZone dan mulai berkomunikasi dengan teknisi DevOps Obrolan santai. Ada baiknya juga untuk mencoba kursus gratisnya Udacity ΠΈΠ»ΠΈ EDX.

Postingan dari blog kami:



Sumber: www.habr.com

Tambah komentar