Apakah metodologi DevOps dan siapa yang memerlukannya

Mari kita fikirkan apakah intipati metodologi itu dan siapa yang boleh mendapat manfaatnya.

Kami juga akan bercakap tentang pakar DevOps: tugas, gaji dan kemahiran mereka.

Apakah metodologi DevOps dan siapa yang memerlukannya
Photo Matt Moore /Flickr/CC BY-SA

Apa itu DevOps

DevOps ialah metodologi pembangunan perisian yang tugasnya adalah untuk mewujudkan interaksi antara pengaturcara dan pentadbir sistem dalam sesebuah syarikat. Jika pakar IT dari jabatan berbeza tidak memahami tugas masing-masing, pelepasan aplikasi baharu dan kemas kini untuk mereka ditangguhkan.

DevOps mencipta kitaran pembangunan "lancar", dengan itu membantu mempercepatkan pengeluaran produk perisian. Pecutan dicapai melalui pengenalan sistem automasi. Selain itu, pengaturcara mula mengambil bahagian dalam menyediakan pelayan dan mencari pepijat, sebagai contoh, mereka boleh menulis ujian automatik.

Ini meningkatkan interaksi antara jabatan. Pekerja mula memahami dengan lebih baik peringkat yang dilalui oleh produk perisian sebelum ia sampai ke tangan pengguna.

Apabila pembangun memahami perkara yang dihadapi oleh pentadbir semasa menyediakan pelayan, dia akan cuba melancarkan kemungkinan "sudut tajam" dalam kod. Ini mengurangkan bilangan pepijat apabila menggunakan aplikasi - mengikut statistik, ia berkurangan kira-kira lima kali.

Siapa yang memerlukan dan tidak memerlukan metodologi

Ramai Pakar IT percayabahawa DevOps akan memberi manfaat kepada mana-mana organisasi yang membangunkan perisian. Ini benar walaupun syarikat itu adalah pengguna mudah perkhidmatan IT dan tidak membangunkan aplikasinya sendiri. Dalam kes ini, melaksanakan budaya DevOps akan membantu anda menumpukan pada inovasi.

Pengecualian membentuk permulaan, tetapi di sini semuanya bergantung pada skala projek. Jika matlamat anda adalah untuk melancarkan produk berdaya maju minimum (MVP) untuk menguji idea baharu, maka anda boleh melakukannya tanpa DevOps. Sebagai contoh, pengasas Groupon mula mengusahakan perkhidmatan secara manual disiarkan semua tawaran di laman web dan mengumpul pesanan. Dia tidak menggunakan sebarang alat automasi.

Ia hanya masuk akal untuk melaksanakan metodologi dan alatan automasi apabila aplikasi mula mendapat populariti. Ini akan membantu memperkemas proses perniagaan dan mempercepatkan pengeluaran kemas kini.

Bagaimana untuk melaksanakan DevOps

Di bawah ialah beberapa cadangan untuk beralih kepada metodologi baharu.

Mengenal pasti masalah dalam proses perniagaan. Sebelum melaksanakan metodologi, serlahkan matlamat dan masalah organisasi. Strategi untuk peralihan kepada DevOps akan bergantung kepada mereka. Untuk melakukan ini, buat senarai soalan, contohnya:

  • Apakah yang mengambil masa paling lama semasa mengemas kini perisian?
  • Adakah mungkin untuk mengautomasikan proses ini?
  • Adakah struktur organisasi mempengaruhi perkara ini?

Ketahui lebih lanjut tentang mengenal pasti masalah dalam organisasi boleh dibaca dalam buku Β«Projek "Phoenix""Dan"Panduan DevOpsΒ» daripada pengarang metodologi.

Ubah budaya dalam syarikat. Adalah penting untuk meyakinkan semua pekerja untuk mengubah cara kerja biasa mereka dan meluaskan julat kecekapan mereka. Contohnya, di Facebook semua pengaturcara jawab untuk keseluruhan kitaran hayat aplikasi: daripada pengekodan kepada pelaksanaan. Selain itu, Facebook tidak mempunyai jabatan ujian yang berasingan - ujian ditulis oleh pembangun sendiri.

Mulakan dari kecil. Pilih proses yang paling banyak mengambil masa dan usaha semasa mengeluarkan kemas kini dan mengautomasikannya. ini mungkin ujian atau proses penggunaan aplikasi. Pakar menasihati Langkah pertama ialah melaksanakan alat kawalan versi teragih. Mereka menjadikannya lebih mudah untuk mengurus sumber. Antara penyelesaian sedemikian, yang paling terkenal ialah Git, Mercurial, Subversion (SVN) dan CVS.

Ia juga bernilai memberi perhatian kepada sistem penyepaduan berterusan yang bertanggungjawab untuk memasang dan menguji produk akhir. Contoh alatan tersebut: Jenkins, TeamCity dan Bamboo.

Nilaikan penambahbaikan. Bangunkan metrik prestasi untuk penyelesaian yang dilaksanakan dan buat senarai semak. Metrik boleh termasuk kekerapan keluaran, masa yang dihabiskan untuk bekerja pada ciri perisian dan bilangan pepijat dalam kod. Bincangkan keputusan bukan sahaja dengan pengurus, tetapi juga dengan seluruh pasukan yang terlibat dalam projek itu. Tanya alat apa yang hilang. Ambil kira permintaan ini apabila mengoptimumkan lagi proses anda.

Kritikan terhadap DevOps

Walaupun metodologi membantu organisasi boleh membuat keputusan yang lebih cepat mengenai pembangunan aplikasi, luka bilangan kesilapan dalam perisian dan menggalakkan pekerja untuk mempelajari perkara baru, ia juga mempunyai pengkritik.

Terdapat pendapatbahawa pengaturcara tidak sepatutnya memahami butiran kerja pentadbir sistem. Didakwa, DevOps membawa kepada fakta bahawa bukannya pakar pembangunan atau pentadbiran, syarikat itu mempunyai orang yang memahami segala-galanya, tetapi secara dangkal.

Ia juga dipercayai bahawa DevOps tidak berfungsi dengan pengurusan yang lemah. Jika pembangunan dan pasukan pentadbir tidak mempunyai matlamat yang sama, pengurus yang harus dipersalahkan kerana tidak mengatur komunikasi antara pasukan. Untuk menyelesaikan masalah ini, apa yang diperlukan bukanlah metodologi baru, tetapi sistem untuk menilai pengurus berdasarkan maklum balas daripada orang bawahan. Anda boleh membacanya di sini, apakah soalan yang perlu disertakan dalam borang kaji selidik pekerja.

Apakah metodologi DevOps dan siapa yang memerlukannya
Photo Ed Ivanushkin /Flickr/CC BY-SA

Siapa Jurutera DevOps

Seorang jurutera DevOps melaksanakan metodologi DevOps. Ia menyegerakkan semua peringkat mencipta produk perisian: daripada menulis kod kepada menguji dan mengeluarkan aplikasi. Pakar sedemikian mengawal jabatan pembangunan dan pentadbiran, serta mengautomasikan pelaksanaan tugas mereka dengan memperkenalkan pelbagai alat perisian.

Helah jurutera DevOps ialah dia menggabungkan banyak profesion: pentadbir, pembangun, penguji dan pengurus.

Joe Sanchez, penginjil DevOps di VMware, sebuah syarikat perisian virtualisasi, diasingkan beberapa kemahiran yang mesti dimiliki oleh seorang jurutera DevOps. Sebagai tambahan kepada pengetahuan yang jelas tentang metodologi DevOps, orang ini harus mempunyai pengalaman mentadbir sistem pengendalian Windows dan Linux dan pengalaman bekerja dengan alat automasi seperti ChefBonekaAnsible. Dia juga sepatutnya boleh menulis skrip dan kod dalam beberapa bahasa dan memahami teknologi rangkaian.

Seorang jurutera DevOps bertanggungjawab untuk sebarang automasi tugas yang berkaitan dengan mengkonfigurasi dan menggunakan aplikasi. Pemantauan perisian juga jatuh ke bahunya. Untuk menyelesaikan masalah ini, beliau menggunakan pelbagai sistem pengurusan konfigurasi, penyelesaian maya dan alatan awan untuk mengimbangi sumber.

Siapa yang mengupah

Jurutera DevOps boleh memanfaatkan mana-mana organisasi yang membangunkan aplikasi atau mengurus sejumlah besar pelayan. Jurutera DevOps sedang mengupah Gergasi IT seperti Amazon, Adobe dan Facebook. Mereka juga berfungsi di Netflix, Walmart dan Etsy.

Bukan mengupah Jurutera DevOps hanyalah pemula. Tugas mereka ialah mengeluarkan produk minimum yang berdaya maju untuk menguji idea baharu. Dalam kebanyakan kes, syarikat permulaan boleh melakukannya tanpa DevOps.

Berapa gaji

Jurutera DevOps menjana pendapatan lebih daripada sesiapa sahaja dalam industri. Pendapatan purata pakar sedemikian di seluruh dunia berkisar antara 100 hingga 125 ribu dolar setahun.

Di Amerika Syarikat mereka dapatkan 90 ribu dolar setahun (500 ribu rubel sebulan). Di Kanada mereka bayar 122 ribu dolar setahun (670 ribu rubel sebulan), dan di UK - 67,5 ribu paun sterling setahun (490 ribu rubel sebulan).

Bagi Rusia, syarikat Moscow sedia bayar pakar DevOps dari 100 hingga 200 ribu rubel sebulan. Di St. Petersburg, majikan sedikit lebih murah hati - mereka menawarkan 160-360 ribu rubel sebulan. Di rantau ini, gaji disebut pada 100-120 ribu rubel sebulan.

Bagaimana untuk menjadi pakar DevOps

DevOps ialah hala tuju yang agak baharu dalam IT, jadi tiada senarai keperluan yang ditetapkan untuk jurutera DevOps. Dalam kekosongan, antara keperluan untuk jawatan ini, anda boleh menemui kedua-dua kemahiran pentadbiran Debian dan CentOS dan keupayaan untuk bekerja dengan pemacu cakera. Tatasusunan RAID.

Berdasarkan ini, kita boleh membuat kesimpulan bahawa, pertama sekali, seorang jurutera DevOps mesti mempunyai pandangan teknikal yang baik. Adalah penting bagi orang sedemikian untuk sentiasa mempelajari alat dan teknologi baharu.

Cara paling mudah untuk menjadi jurutera DevOps ialah pentadbir atau pembangun sistem. Mereka sudah mempunyai beberapa kemahiran yang hanya perlu dikembangkan. Tugas utama adalah untuk meningkatkan set pengetahuan minimum dalam DevOps, memahami cara bekerja dengan alat automasi dan mengisi jurang dalam kemahiran pentadbiran, pengaturcaraan dan virtualisasi.

Untuk memahami di mana pengetahuan masih kurang, anda boleh menggunakan mini-Wikipedia di GitHub atau peta mental. Penduduk Berita Hacker juga Mengesyorkan membaca buku "Projek "Phoenix""Dan"Panduan DevOps" (yang kami nyatakan di atas) dan "Falsafah DevOps. Seni Pengurusan ITΒ» di bawah setem O'Reilly Media.

Anda juga boleh melanggan Surat berita Mingguan Devops, baca artikel topikal portal DZone dan mula berkomunikasi dengan jurutera DevOps di Sembang selamba. Ia juga bernilai menyemak kursus percuma di Udacity atau EDX.

Catatan dari blog kami:



Sumber: www.habr.com

Tambah komen