Mengapa administrator sistem, pengembang, dan penguji harus mempelajari praktik DevOps?

Mengapa administrator sistem, pengembang, dan penguji harus mempelajari praktik DevOps?

Ke mana harus pergi dengan pengetahuan ini, apa yang harus dilakukan dalam proyek ini dan berapa banyak penghasilannya, apa yang harus dikatakan dan ditanyakan saat wawancara - kata Alexander Titov, mitra pengelola Express 42 dan penulis kursus online “Praktik dan alat DevOps”.

Halo! Meski istilah DevOps sudah ada sejak tahun 2009, namun masih belum ada konsensus di komunitas Rusia. Anda mungkin memperhatikan bahwa beberapa orang menganggap DevOps sebagai suatu spesialisasi, yang lain menganggapnya sebagai filosofi, dan yang lain menganggap istilah tersebut sebagai serangkaian teknologi. Saya sudah tampil berkali-kali bersama kuliah tentang perkembangan arah ini, jadi saya tidak akan membahasnya secara detail di artikel ini. Izinkan saya mengatakan bahwa di Express 42 kami menyertakan yang berikut ini di dalamnya:

DevOps adalah metodologi khusus, budaya pembuatan produk digital, ketika semua spesialis dalam tim berpartisipasi dalam produksi.

Dalam pengembangan perusahaan klasik, semuanya berjalan secara berurutan: pemrograman, pengujian, dan baru kemudian pengoperasian, dan kecepatan proses ini dari ide hingga produksi adalah 3 bulan. Ini merupakan masalah global bagi produk digital, karena tidak mungkin menerima feedback dari pelanggan dengan cepat.

Di DevOps, alat dan pendekatan dirancang untuk memastikan bahwa proses pengembangan, pengujian, dan operasi berjalan secara bersamaan.

Apa yang didapat dari pendekatan ini?

  • Anda tidak dapat mempekerjakan “insinyur” yang akan datang dan menyelesaikan semua masalah produksi. Seluruh tim harus menerapkan teknik ini.

    Mengapa administrator sistem, pengembang, dan penguji harus mempelajari praktik DevOps?

  • DevOps BUKAN merupakan bentuk sysadmin berikutnya yang dapat ditingkatkan. “Insinyur DevOps” terdengar hampir sama dengan “Pengembang Agile.”

    Mengapa administrator sistem, pengembang, dan penguji harus mempelajari praktik DevOps?

  • Jika sebuah tim menggunakan Kubernetes, Ansible, Prometheus, Mesosphere, dan Docker, bukan berarti praktik DevOps telah diterapkan di sana.

    Mengapa administrator sistem, pengembang, dan penguji harus mempelajari praktik DevOps?

Kehidupan setelah DevOps tidak akan pernah sama lagi

Pendekatan DevOps, pertama-tama, adalah cara berpikir yang berbeda, persepsi mengenai pembangunan secara keseluruhan dan posisi seseorang dalam proses tersebut. Kami membagi kursus online kami menjadi 2 blok:

1. Penentuan nasib sendiri

Pertama, kami memeriksa secara rinci esensi pendekatan DevOps, dan siswa menemukan peran baru dalam tim, melihat mana yang lebih merespons, dan menentukan sendiri arah mana yang harus dikembangkan.

2. Alat dan praktik

Siswa menguasai teknologi tertentu dari sudut pandang metode DevOps.

Alat DevOps dapat digunakan dalam pendekatan DevOps dan pengembangan klasik. Contoh paling jelas adalah penggunaan alat manajemen konfigurasi Ansible. Ini dibuat dan dirancang untuk mengimplementasikan praktik DevOps “Infrastruktur sebagai Kode”, yang berarti bahwa berbagai keadaan sistem dijelaskan, mulai dari pengaturan sistem operasi hingga perangkat lunak aplikasi. Deskripsinya dibagi menjadi beberapa lapisan dan memungkinkan Anda mengelola konfigurasi yang kompleks dan terus berubah. Namun para insinyur sering menggunakan Ansible sebagai cara untuk menjalankan skrip bash di banyak mesin. Hal ini tidak buruk dan tidak baik, namun perlu Anda pahami bahwa kehadiran Ansible tidak menjamin kehadiran DevOps di perusahaan.

Kami sedang dalam proses kursus Anda akan tenggelam dalam proses pengembangan aplikasi yang mirip dengan Reddit yang terkenal, dimulai dengan versi monolitiknya, berpindah langkah demi langkah ke layanan mikro. Selangkah demi selangkah kita akan menguasai alat-alat baru: Git, Ansible, Gitlab dan diakhiri dengan Kubernetes dan Prometheus.

Dalam hal praktik, kami akan mengikuti taktik dari tiga jalur yang dijelaskan dalam Buku Panduan DevOps - praktik pengiriman berkelanjutan, praktik umpan balik, dan inti dari keseluruhan kursus adalah praktik pembelajaran berkelanjutan bersama dengan sistem Anda.

Apa yang diberikan pengetahuan ini kepada masing-masing spesialis?

Untuk administrator sistem

Praktik akan memungkinkan Anda beralih dari administrasi menuju penciptaan jalur pengiriman berkelanjutan dan platform infrastruktur untuk pengiriman perangkat lunak. Intinya adalah dia menciptakan produk - platform infrastruktur untuk pengembang yang membantu mereka dengan cepat mendorong perubahan ke produksi.

Sebelumnya, administrator sistem adalah benteng terakhir, setelah itu semuanya masuk ke dalam produksi. Dan pada dasarnya mereka terlibat dalam pemadaman kebakaran terus menerus - sehingga cukup sulit untuk menyelidiki kebutuhan bisnis, memikirkan produk dan manfaatnya bagi pengguna.
Berkat metode DevOps, pemikiran berubah. Administrator sistem memahami cara menerjemahkan konfigurasi ke dalam kode, praktik apa yang ada untuk ini.

Hal ini penting karena perusahaan semakin menyadari bahwa mereka tidak hanya perlu mengotomatiskan segalanya, yaitu mengotomatiskan segalanya. dalam hal yang pada dasarnya biasa dilakukan oleh administrator sistem jadul, yang juga hanya sedikit berkomunikasi dan tidak memberi tahu tim tentang semua perubahan yang dilakukan. Kini tim sedang mencari orang yang akan menjadi produsen produk infrastruktur internal dan membantu menggabungkan proses yang terpisah menjadi satu.

Pengembang

Pengembang berhenti hanya memikirkan algoritma. Ia memperoleh keterampilan bekerja dengan infrastruktur, keterampilan kesadaran arsitektural lanskap. Pengembang seperti itu memahami cara kerja aplikasi, cara melewati jalur pengiriman berkelanjutan, cara memantaunya, cara mendaftarkannya sehingga menguntungkan klien. Hasilnya, semua pengetahuan ini memungkinkan Anda menulis kode yang relevan.

Untuk penguji

Pengujian telah lama beralih ke mode otomatis; kita semua mengatakan bahwa banyak pengujian tidak boleh dilakukan, tetapi tertulis :) Pengujian menjadi bagian dari keseluruhan jalur pengiriman produk Anda. Seorang penguji tidak hanya perlu mempelajari cara menulis kode, tetapi juga memahami cara mengintegrasikannya ke dalam sistem pengiriman berkelanjutan, cara menerima umpan balik dari kode di semua tahap pengiriman, dan cara terus meningkatkan pengujian untuk mendeteksi kesalahan sebagai sedini mungkin.

Jadi ternyata begitu ketiga tahap tersebut terjadi secara bersamaan. Misalnya, mungkin terlihat seperti ini:

Pengembang menulis kode, segera menulis pengujian untuk kode tersebut, dan menjelaskan wadah buruh pelabuhan untuk kode yang harus dijalankan. Ini juga segera menjelaskan pemantauan yang akan memantau pengoperasian layanan ini dalam produksi, dan melakukan semua ini.

Saat integrasi berkelanjutan dimulai, proses berjalan secara bersamaan. Layanan dimulai dan dikonfigurasi. Pada saat yang sama, kontainer buruh pelabuhan dimulai dan diperiksa apakah kontainer tersebut berjalan. Pada saat yang sama, semua informasi masuk ke sistem logging. Dan seterusnya pada setiap tahap pengembangan - ternyata merupakan kerja tim yang nyata dari administrator sistem, pengembang, dan penguji.

Saya mempelajari DevOps, selanjutnya apa?

Seperti yang kalian ketahui, orang yang berada di lapangan bukanlah seorang pejuang. Jika perusahaan Anda tidak menggunakan metode ini, keterampilan yang diperoleh akan terbengkalai. Dan setelah mengenal pendekatan DevOps, kemungkinan besar Anda tidak ingin menjadi roda penggerak dalam pengembangan perusahaan. Mungkin ada satu pengecualian: Anda adalah administrator sistem di tim dan dapat membangun kembali semua proses dengan cara baru. Perlu ditambahkan di sini bahwa ada banyak perusahaan yang menggunakan pendekatan ini, dan mereka tidak terpengaruh oleh lockdown dan sedang mencari spesialis. Karena DevOps adalah tentang pembuatan produk online.

Dan sekarang tentang hal-hal baiknya: penguasaan praktik dan alat DevOps kira-kira +30% dari nilai Anda di pasar tenaga kerja. Gaji mulai dari 140 ribu rubel, tetapi tentu saja ditentukan oleh spesialisasi dan fungsionalitas utama Anda.

Anda dapat melihat lowongan yang ditandai “berorientasi infrastruktur”, di mana terdapat otomatisasi pengujian, pengembangan aplikasi layanan mikro menggunakan teknologi cloud, lowongan untuk insinyur infrastruktur, dan segala macam referensi ke DevOps. Ingatlah bahwa setiap perusahaan memiliki arti yang berbeda dengan definisi ini - bacalah deskripsinya dengan cermat.

Selama peluncuran kursus kami, sebuah wawasan muncul di benak saya - banyak orang setelah kursus tersebut jatuh ke dalam perangkap insinyur DevOps. Mereka menemukan lowongan dengan judul yang disebutkan di atas, menerima tawaran bagus, dan kemudian mulai bekerja dan menyadari bahwa mereka harus mempertahankan skrip bash tiga halaman di Jenkins. Di mana Kubernetes, ChatOps, rilis canary, dan sebagainya? Namun tidak ada apa-apa, karena perusahaan tidak membutuhkan DevOps sebagai metodologi, melainkan menggunakan inovasi individu.

Hal ini menjadi alasan untuk mencari tahu secara intensif dari perusahaan bagaimana proses pengiriman perangkat lunak bekerja, tumpukan teknologi dan tanggung jawab apa yang akan Anda lakukan.

Jika majikan menjawab pertanyaan Anda secara abstrak, seolah-olah dari buku, tanpa detail, maka kemungkinan besar perusahaan belum memiliki proses DevOps, tetapi ini bukan alasan untuk menolak, pelajari perusahaan dan produknya, apakah ada online layanan yang dikembangkan perusahaan itu sendiri, aplikasi seluler, ide produk.

Jika ya, klarifikasi apakah Anda harus bekerja secara langsung dengan sistem ini atau apakah ada kemungkinan perpindahan horizontal ke tim layanan ini sambil menunjukkan hasil yang baik dalam praktik DevOps. Jika ya, maka ada baiknya Anda pergi dan menjadi aktif serta berguna, dan jika Anda menyelesaikan kursus kami, kursus terakhir dijamin.

Penting untuk dicatat bahwa praktisi Devops mendapatkan nilai sebenarnya hanya dengan pengalaman dalam pengembangan/administrasi/pengujian. Hanya dengan demikian pengetahuan tidak akan menjadi abstrak, tetapi memperkaya spesialis (dalam segala hal). Oleh karena itu, gagasan “mempelajari DevOps dari awal” hampir sama dengan belajar “menggunakan lensa dari awal” jika Anda belum pernah memegang kamera atau mengarahkan bidikan. Untuk membantu Anda memutuskan apakah kursus tersebut tepat bagi Anda, kami telah membuat tes masuk yang akan memeriksa tingkat pengetahuan Anda yang memadai.

Saya pikir salah satu triknya kursus — bahwa selama pelatihan setiap siswa menentukan sendiri ke arah mana ia ingin berkembang. Kita sering melihat transisi ketika seorang pengembang menjadi insinyur infrastruktur, dan seorang administrator menyadari bahwa dia tertarik untuk menulis kode - kemudian dia mempelajari lebih lanjut bahasa tersebut dan melengkapinya dengan keterampilan DevOps yang diperoleh. Oleh karena itu, kami menyambut baik mereka yang merasa kariernya berada di persimpangan jalan. Kursus dimulai pada tanggal 28 Mei, tetapi Anda dapat bergabung 2 minggu setelah kelas dimulai. Anda dapat melihat program dan mengikuti tes по ссылке. Sampai jumpa di OTUS!

Sumber: www.habr.com

Tambah komentar