Napa DevOps dibutuhake lan sapa sing dadi spesialis DevOps?

Nalika aplikasi ora bisa digunakake, perkara pungkasan sing pengin dirungokake saka kolega sampeyan yaiku tembung "masalah ana ing sisih sampeyan." AkibatΓ©, kedhaftar nandhang sangsara - lan padha ora Care bagean tim kang tanggung jawab kanggo risak. Budaya DevOps muncul kanthi tepat kanggo nggawe pangembangan lan dhukungan bebarengan babagan tanggung jawab bareng kanggo produk pungkasan.

Praktek apa sing kalebu ing konsep DevOps lan kenapa dibutuhake? Apa sing ditindakake para insinyur DevOps lan apa sing kudu ditindakake? Pakar saka EPAM mangsuli pitakon iki lan liyane: Kirill Sergeev, insinyur sistem lan penginjil DevOps, lan Igor Boyko, insinyur sistem lan koordinator utama salah sawijining tim DevOps perusahaan.

Napa DevOps dibutuhake lan sapa sing dadi spesialis DevOps?

Napa DevOps dibutuhake?

Sadurunge, ana alangan antarane pangembang lan dhukungan (sing diarani operasi). Muni paradoks, nanging padha duwe tujuan lan KPI sing beda, sanajan padha nindakake perkara sing padha. Tujuan pangembangan kasebut yaiku kanggo ngetrapake syarat bisnis kanthi cepet lan nambahake menyang produk sing bisa digunakake. Dhukungan tanggung jawab kanggo mesthekake yen aplikasi kasebut bisa digunakake kanthi stabil - lan owah-owahan apa wae nyebabake stabilitas. Ana konflik kepentingan - DevOps katon kanggo ngatasi.

Apa DevOps?

Iki minangka pitakonan sing apik - lan kontroversial: jagad iki durung setuju. EPAM percaya yen DevOps nggabungake teknologi, proses lan budaya interaksi ing sawijining tim. Asosiasi iki nduweni tujuan kanggo terus-terusan ngirimake nilai kanggo pangguna pungkasan.

Kirill Sergeev: "Pengembang nulis kode, penguji mriksa, lan pangurus nyebarake produk pungkasan menyang produksi. Kanggo wektu sing suwe, bagean-bagean tim kasebut rada kasebar, banjur muncul ide kanggo nggabungake dheweke liwat proses umum. Mangkene praktik DevOps katon.

Dina teka nalika pangembang lan insinyur sistem dadi kasengsem ing karya saben liyane. Rintangan antarane produksi lan dhukungan wiwit ilang. Iki carane DevOps muncul, sing kalebu praktik, budaya lan interaksi tim.

Napa DevOps dibutuhake lan sapa sing dadi spesialis DevOps?

Apa inti saka budaya DevOps?

Kasunyatane yaiku tanggung jawab kanggo asil pungkasan ana ing saben anggota tim. Bab sing paling menarik lan angel ing filosofi DevOps yaiku mangertos manawa wong tartamtu ora mung tanggung jawab kanggo tahap kerjane dhewe, nanging tanggung jawab babagan cara kabeh produk bakal bisa digunakake. Masalah kasebut ora ana ing sisih sapa wae - iki dituduhake, lan saben anggota tim mbantu ngatasi.

Sing paling penting ing budaya DevOps yaiku ngrampungake masalah kasebut, ora mung ngetrapake praktik DevOps. Kajaba iku, praktik kasebut ora ditindakake "ing sisih wong", nanging ing kabeh produk. Proyek ora mbutuhake insinyur DevOps per se - butuh solusi kanggo masalah, lan peran insinyur DevOps bisa disebarake ing antarane sawetara anggota tim kanthi spesialisasi sing beda.

Apa jinis praktik DevOps?

Praktek DevOps nyakup kabeh tahapan siklus urip piranti lunak.

Igor Boyko: "Kasus sing cocog yaiku nalika kita miwiti nggunakake praktik DevOps nalika wiwitan proyek kasebut. Bebarengan karo arsitek, kita ngrancang lanskap arsitektur apa sing bakal diduweni dening aplikasi kasebut, ing ngendi panggonane lan cara ukurane, lan milih platform. Saiki, arsitektur microservice ana ing mode - kanggo iki kita milih sistem orkestrasi: sampeyan kudu bisa ngatur saben unsur aplikasi kanthi kapisah lan nganyari kanthi bebas saka liyane. Praktek liyane yaiku "infrastruktur minangka kode." Iki minangka jeneng kanggo pendekatan ing ngendi infrastruktur proyek digawe lan dikelola nggunakake kode, tinimbang liwat interaksi langsung karo server.

Sabanjure kita pindhah menyang tahap pangembangan. Salah sawijining praktik paling gedhe ing kene yaiku mbangun CI / CD: sampeyan kudu mbantu para pangembang nggabungake owah-owahan menyang produk kanthi cepet, ing bagean cilik, luwih asring lan tanpa rasa lara. CI / CD nyakup review kode, upload master menyang basis kode, lan deploying aplikasi kanggo test lan lingkungan produksi.

Ing tahap CI/CD, kode kasebut ngliwati gerbang kualitas. Kanthi bantuan, dheweke mriksa manawa kode sing metu saka workstation pangembang cocog karo kritΓ©ria kualitas sing ditemtokake. Pengujian unit lan UI ditambahake ing kene. Kanggo panyebaran produk sing cepet, ora krasa lara lan fokus, sampeyan bisa milih jinis panyebaran sing cocog.

Praktisi DevOps uga duwe papan ing tahap ndhukung produk sing wis rampung. Iki digunakake kanggo ngawasi, umpan balik, keamanan, lan ngenalake owah-owahan. DevOps ndeleng kabeh tugas kasebut saka perspektif perbaikan sing terus-terusan. Kita nyilikake operasi sing bola-bali lan ngotomatisasi. Iki uga kalebu migrasi, ekspansi aplikasi, lan dhukungan kinerja.

Apa keuntungan saka praktik DevOps?

Yen kita nulis buku teks babagan praktik DevOps modern, bakal ana telung poin ing kaca pisanan: otomatisasi, nyepetake rilis, lan umpan balik kanthi cepet saka pangguna.

Kirill Sergeev: "Sing pisanan yaiku otomatisasi. Kita bisa ngotomatisasi kabeh interaksi ing tim: nulis kode - digulung metu - dicenthang - diinstal - diklumpukake umpan balik - bali menyang wiwitan. Kabeh iki otomatis.

Kapindho nyepetake rilis lan malah nyederhanakake pembangunan. Penting banget kanggo pelanggan manawa produk kasebut mlebu pasar sanalika bisa lan wiwit menehi keuntungan luwih awal tinimbang analog pesaing. Proses pangiriman produk bisa ditambah tanpa wates: nyuda wektu, nambah tandha kontrol tambahan, nambah pemantauan.

Katelu yaiku akselerasi umpan balik pangguna. Yen dheweke duwe komentar, kita bisa langsung nggawe pangaturan lan nganyari aplikasi kasebut kanthi cepet.

Napa DevOps dibutuhake lan sapa sing dadi spesialis DevOps?

Kepiye konsep "insinyur sistem", "insinyur bangunan" lan "insinyur DevOps"?

Padha tumpang tindih, nanging kalebu wilayah sing rada beda.

Insinyur sistem ing EPAM minangka posisi. Dheweke teka ing macem-macem tingkat: saka junior nganti spesialis utama.

Insinyur mbangun luwih akeh peran sing bisa ditindakake ing sawijining proyek. Saiki iki sing diarani wong sing tanggung jawab kanggo CI / CD.

Insinyur DevOps minangka spesialis sing ngetrapake praktik DevOps ing sawijining proyek.

Yen kita nyimpulake kabeh, kita entuk kaya mangkene: wong ing posisi insinyur sistem duwe peran dadi insinyur bangunan ing sawijining proyek lan melu implementasine praktik DevOps ing kana.

Apa persis sing ditindakake insinyur DevOps?

Insinyur DevOps nggabungake kabeh potongan sing nggawe proyek. Dheweke ngerti spesifik karya programer, penguji, administrator sistem lan mbantu nyederhanakake karyane. Dheweke ngerti kabutuhan lan syarat bisnis, perane ing proses pangembangan - lan mbangun proses kanthi njupuk kapentingan pelanggan.

Kita ngomong akeh babagan otomatisasi - iki sing ditindakake dening insinyur DevOps sing paling penting. Iki minangka barang sing gedhe banget, sing, ing antarane, kalebu nyiapake lingkungan.

Kirill Sergeev: "Sadurunge ngleksanakake nganyari menyang produk, padha kudu dites ing lingkungan pihak katelu. Iki disiapake dening insinyur DevOps. Dheweke nandurake budaya DevOps ing proyek kasebut kanthi wutuh: dheweke ngenalake praktik DevOps ing kabeh lapisan proyek kasebut. Telung prinsip iki: otomatisasi, simplifikasi, akselerasi - padha nggawa menyang ngendi wae.

Apa sing kudu dingerteni insinyur DevOps?

UmumΓ©, dheweke kudu duwe kawruh saka macem-macem wilayah: program, nggarap sistem operasi, database, perakitan lan sistem konfigurasi. Iki dilengkapi karo kemampuan kanggo nggarap infrastruktur awan, orkestrasi lan sistem pemantauan.

1. Basa Pemrograman

Insinyur DevOps ngerti sawetara basa dhasar kanggo otomatisasi lan bisa, contone, ngandhani programer: "Kepiye yen sampeyan nginstal kode kasebut ora nganggo tangan, nanging nggunakake skrip kita, sing ngotomatisasi kabeh? Kita bakal nyiapake file config kanggo, bakal trep kanggo sampeyan lan kita maca, lan kita bakal bisa ngganti kapan wae. Kita uga bakal weruh sapa, kapan lan ngapa nggawe owah-owahan.

Insinyur DevOps bisa sinau siji utawa luwih basa kasebut: Python, Groovy, Bash, Powershell, Ruby, Go. Sampeyan ora perlu ngerti ing tingkat jero - dhasar sintaksis, prinsip OOP, lan kemampuan kanggo nulis skrip prasaja kanggo otomatisasi cukup.

2. Sistem operasi

Insinyur DevOps kudu ngerti server apa produk kasebut bakal diinstal, lingkungan apa sing bakal ditindakake, lan layanan apa sing bakal digarap. Sampeyan bisa milih spesialis ing Windows utawa kulawarga Linux.

3. Sistem kontrol versi

Tanpa kawruh babagan sistem kontrol versi, insinyur DevOps ora ana ing endi wae. Git minangka salah sawijining sistem sing paling populer saiki.

4. Panyedhiya awan

AWS, Google, Azure - utamane yen kita ngomong babagan arah Windows.

Kirill Sergeev: "Panyedhiya Cloud nyedhiyakake server virtual sing cocog karo CI / CD.

Nginstal sepuluh server fisik mbutuhake kira-kira satus operasi manual. Saben server kudu diluncurake kanthi manual, diinstal lan dikonfigurasi sistem operasi sing dibutuhake, nginstal aplikasi kita ing sepuluh server kasebut, banjur mriksa kabeh kaping sepuluh. Layanan awan ngganti prosedur iki kanthi sepuluh baris kode, lan insinyur DevOps sing apik kudu bisa digunakake. Iki ngirit wektu, tenaga lan dhuwit - kanggo pelanggan lan perusahaan.

5. Sistem orkestrasi: Docker lan Kubernetes

Kirill Sergeev: "Server virtual dipΓ©rang dadi kontaner, ing saben-saben kita bisa nginstal aplikasi kita. Yen ana akeh kontaner, sampeyan kudu ngatur: nguripake siji, mateni liyane, nggawe serep nang endi wae. Iki dadi cukup rumit lan mbutuhake sistem orkestrasi.

Sadurunge, saben aplikasi ditangani dening server sing kapisah - owah-owahan apa wae ing operasi bisa mengaruhi layanan aplikasi kasebut. Thanks kanggo wadhah, aplikasi dadi terisolasi lan mbukak kanthi kapisah - saben ing mesin virtual dhewe. Yen gagal, ora perlu mbuwang wektu kanggo nggoleki sababe. Luwih gampang ngrusak wadhah lawas lan nambah sing anyar."

6. Sistem konfigurasi: Chef, Ansible, Wayang

Yen sampeyan kudu njaga kabeh armada server, sampeyan kudu nindakake macem-macem operasi sing padha. Iku dawa lan angel, lan karya manual uga nambah kasempatan saka kesalahan. Iki ngendi sistem konfigurasi teka kanggo ngluwari. Kanthi bantuan, dheweke nggawe skrip sing gampang diwaca kanggo programer, insinyur DevOps, lan administrator sistem. Skrip iki mbantu nindakake operasi sing padha ing server kanthi otomatis. Iki nyuda operasi manual (lan mulane kasalahan).

Karir apa sing bisa ditindakake insinyur DevOps?

Sampeyan bisa berkembang loro horisontal lan vertikal.

Igor Boyko: "Saka sudut pandang pembangunan horisontal, insinyur DevOps saiki duwe prospek sing paling jembar. Kabeh terus saya ganti, lan sampeyan bisa mbangun katrampilan ing macem-macem wilayah: saka sistem kontrol versi kanggo ngawasi, saka manajemen konfigurasi nganti database.

Sampeyan bisa dadi arsitek sistem yen karyawan kepengin ngerti cara aplikasi bisa digunakake ing kabeh tahapan siklus urip - saka pangembangan nganti dhukungan.

Kepiye carane dadi insinyur DevOps?

  1. Waca Proyek Phoenix lan Buku Pegangan DevOps. Iki minangka pilar nyata filosofi DevOps, sing pisanan minangka karya fiksi.
  2. Sinau teknologi saka dhaptar ing ndhuwur: dhewe utawa liwat kursus online.
  3. Gabung minangka insinyur DevOps kanggo proyek sumber terbuka.
  4. Laku lan nawarake praktik DevOps ing proyek pribadi lan pakaryan sampeyan.

Source: www.habr.com

Add a comment