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.
Photo /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 kira-kira lima kali.
Siapa yang memerlukan dan tidak memerlukan metodologi
Ramai bahawa 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 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 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 «"Dan"» 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 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 ujian atau proses penggunaan aplikasi. Pakar 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 organisasi boleh membuat keputusan yang lebih cepat mengenai pembangunan aplikasi, bilangan kesilapan dalam perisian dan menggalakkan pekerja untuk mempelajari perkara baru, ia juga mempunyai pengkritik.
Terdapat bahawa 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 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, .

Photo /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, 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 , , . 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 Gergasi IT seperti Amazon, Adobe dan Facebook. Mereka juga berfungsi di Netflix, Walmart dan Etsy.
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 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 90 ribu dolar setahun (500 ribu rubel sebulan). Di Kanada mereka 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 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. .
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 atau . Penduduk Berita Hacker juga membaca buku ""Dan"" (yang kami nyatakan di atas) dan "» di bawah setem O'Reilly Media.
Anda juga boleh melanggan , baca artikel topikal dan mula berkomunikasi dengan jurutera DevOps di . Ia juga bernilai menyemak kursus percuma di atau .
Catatan dari blog kami:
Sumber: www.habr.com
