Naha DevOps diperyogikeun sareng saha spesialis DevOps?

Nalika aplikasi henteu jalan, hal anu terakhir anu anjeun hoyong ngadangu ti kolega anjeun nyaéta frasa "masalahna aya di sisi anjeun." Hasilna, pamaké sangsara - sarta aranjeunna henteu paduli mana bagian tina tim nu jawab ngarecahna. Budaya DevOps muncul sacara saksama pikeun ngahijikeun pamekaran sareng dukungan pikeun tanggung jawab anu dibagi pikeun produk ahir.

Prakték naon anu kalebet dina konsép DevOps sareng naha éta diperyogikeun? Naon anu dilakukeun ku insinyur DevOps sareng naon anu kedah aranjeunna laksanakeun? Para ahli ti EPAM ngajawab ieu sareng patarosan sanésna: Kirill Sergeev, insinyur sistem sareng penginjil DevOps, sareng Igor Boyko, insinyur sistem sareng koordinator salah sahiji tim DevOps perusahaan.

Naha DevOps diperyogikeun sareng saha spesialis DevOps?

Naha DevOps diperyogikeun?

Saméméhna, aya halangan antara pamekar jeung rojongan (disebut operasi). Éta disada paradoks, tapi aranjeunna gaduh tujuan sareng KPI anu béda, sanaos aranjeunna ngalakukeun hal anu sami. Tujuan tina pamekaran nyaéta pikeun nerapkeun syarat bisnis gancang-gancang sareng nambihanana kana produk anu tiasa dianggo. Rojongan tanggung jawab pikeun mastikeun yén aplikasina tiasa dianggo sacara stabil - sareng parobihan naon waé nempatkeun stabilitas dina résiko. Aya konflik dipikaresep - DevOps mucunghul pikeun ngajawab eta.

Naon DevOps?

Éta patarosan anu saé - sareng anu kontroversial: dunya henteu acan tungtungna sapuk kana ieu. EPAM percaya yén DevOps ngagabungkeun téknologi, prosés sareng budaya interaksi dina hiji tim. Asosiasi ieu boga tujuan pikeun terus-terusan nganteurkeun nilai ka pangguna akhir.

Kirill Sergeev: "Pamekar nyerat kode, panguji marios éta, sareng pangurus nyebarkeun produk ahir pikeun produksi. Pikeun lila, bagian-bagian tim ieu rada sumebar, teras timbul ide pikeun ngahijikeun aranjeunna ngaliwatan prosés umum. Ieu kumaha prakték DevOps muncul.

Dinten sumping nalika pamekar sareng insinyur sistem janten resep kana padamelan masing-masing. Panghalang antara produksi jeung rojongan mimiti ngaleungit. Ieu kumaha DevOps muncul, anu kalebet prakték, budaya sareng interaksi tim.

Naha DevOps diperyogikeun sareng saha spesialis DevOps?

Naon hakekat budaya DevOps?

Kanyataanna nyaéta tanggung jawab pikeun hasil ahir aya dina unggal anggota tim. Hal anu paling pikaresepeun sareng sesah dina filsafat DevOps nyaéta ngartos yén jalma anu khusus henteu ngan ukur tanggung jawab pikeun tahapan padamelan na, tapi tanggung jawab kumaha sadayana produk bakal jalan. Masalahna henteu aya di sisi saha waé - éta dibagi, sareng unggal anggota tim ngabantosan pikeun ngabéréskeunana.

Hal anu paling penting dina budaya DevOps nyaéta pikeun ngabéréskeun masalah, sanés ngan ukur nerapkeun prakték DevOps. Leuwih ti éta, prakték ieu teu dilaksanakeun "di sisi batur", tapi sapanjang sakabéh produk. Proyék henteu peryogi insinyur DevOps per se - éta peryogi solusi pikeun masalah, sareng peran insinyur DevOps tiasa disebarkeun ka sababaraha anggota tim kalayan spésialisasi anu béda.

Naon jinis prakték DevOps?

Prakték DevOps nutupan sadaya tahapan daur hirup software.

Igor Boyko: "Kasus idéal nyaéta nalika urang mimiti ngagunakeun prakték DevOps pas dina inisiasi proyék. Babarengan sareng arsiték, urang ngarencanakeun jinis lanskap arsitéktur aplikasi anu bakal aya, dimana tempatna sareng kumaha skala, sareng milih platform. Ayeuna, arsitéktur microservice aya dina modeu - pikeun éta kami milih sistem orkestrasi: anjeun kedah tiasa ngatur unggal unsur aplikasi sacara misah sareng ngapdetna sacara mandiri tina anu sanés. Prakték sanésna nyaéta "infrastruktur salaku kode." Ieu mangrupikeun nami pendekatan dimana infrastruktur proyék didamel sareng dikokolakeun nganggo kode, tinimbang ngalangkungan interaksi langsung sareng server.

Salajengna urang ngaléngkah ka tahap pangwangunan. Salah sahiji prakték panggedéna di dieu nyaéta ngawangun CI / CD: anjeun kedah ngabantosan pamekar ngahijikeun parobihan kana produk gancang, dina porsi alit, langkung sering sareng henteu aya rasa nyeri. CI / CD nyertakeun ulasan kode, unggah master kana dasar kode, sareng nyebarkeun aplikasi pikeun nguji sareng lingkungan produksi.

Dina tahap CI / CD, kode ngaliwatan gerbang kualitas. Kalayan bantosanana, aranjeunna pariksa yén kode anu kaluar tina workstation pamekar nyumponan kriteria kualitas anu ditangtukeun. Uji unit sareng UI ditambahkeun di dieu. Pikeun panyebaran produk anu gancang, henteu aya rasa nyeri sareng fokus, anjeun tiasa milih jinis panyebaran anu pas.

Praktisi DevOps ogé ngagaduhan tempat dina tahap ngadukung produk réngsé. Éta dianggo pikeun ngawaskeun, eupan balik, kaamanan, sareng ngenalkeun parobihan. DevOps ningali sadaya pancén ieu tina sudut pandang perbaikan anu terus-terusan. Urang ngaleutikan operasi repetitive tur ngajadikeun otomatis aranjeunna. Ieu ogé kalebet migrasi, ékspansi aplikasi, sareng dukungan kinerja.

Naon mangpaat prakték DevOps?

Upami urang nyerat buku ajar ngeunaan prakték DevOps modéren, bakal aya tilu titik dina halaman kahiji: otomatisasi, nyepetkeun rilis, sareng eupan balik gancang ti pangguna.

Kirill Sergeev: “Hal kahiji nyaéta otomatisasi. Urang tiasa ngajadikeun otomatis sadaya interaksi dina tim: wrote kode - digulung kaluar - dipariksa deui - dipasang - eupan balik dikumpulkeun - balik ka awal. Sadaya ieu otomatis.

Anu kadua nyaéta nyepetkeun sékrési sareng nyederhanakeun pangwangunan. Sok penting pikeun palanggan yén produkna pas-gancang ka pasar sareng mimiti masihan kauntungan langkung awal tibatan analog pesaing. Prosés pangiriman produk bisa ningkat endlessly: ngurangan waktu, tambahkeun tanda kontrol tambahan, ningkatkeun monitoring.

Katilu nyaéta akselerasi eupan balik pamaké. Upami anjeunna gaduh koméntar, urang tiasa langsung ngadamel panyesuaian sareng ngapdet aplikasina langsung.

Naha DevOps diperyogikeun sareng saha spesialis DevOps?

Kumaha hubungan konsép "insinyur sistem", "insinyur ngawangun" sareng "insinyur DevOps"?

Aranjeunna tumpang tindih, tapi milik wewengkon rada béda.

Insinyur sistem di EPAM mangrupikeun posisi. Aranjeunna datangna dina tingkat béda: ti junior ka spesialis lulugu.

Insinyur ngawangun langkung seueur peran anu tiasa dilaksanakeun dina proyék. Ayeuna ieu anu disebut jalma jawab CI / CD.

Insinyur DevOps mangrupikeun spesialis anu ngalaksanakeun prakték DevOps dina hiji proyék.

Upami urang nyimpulkeun sadayana, urang kéngingkeun sapertos kieu: jalma dina posisi insinyur sistem maénkeun peran insinyur ngawangun dina proyék sareng aub dina palaksanaan prakték DevOps di dinya.

Naon kahayang anu dilakukeun ku insinyur DevOps?

Insinyur DevOps ngahijikeun sadaya potongan anu ngawangun proyék. Aranjeunna terang spésifik padamelan programer, tester, pangurus sistem sareng ngabantosan nyederhanakeun padamelan na. Aranjeunna ngartos kabutuhan sareng syarat bisnis, peranna dina prosés pamekaran - sareng ngawangun prosés kalayan nganggap kapentingan nasabah.

Urang ngobrolkeun seueur ngeunaan otomatisasi - ieu mangrupikeun anu diurus ku insinyur DevOps anu pangheulana. Ieu mangrupikeun titik anu ageung pisan, anu, diantarana, kalebet nyiapkeun lingkungan.

Kirill Sergeev: "Sateuacan nerapkeun apdet kana produk, aranjeunna kedah diuji di lingkungan pihak katilu. Éta disiapkeun ku insinyur DevOps. Aranjeunna ngenalkeun budaya DevOps dina proyék sacara gembleng: aranjeunna ngenalkeun prakték DevOps dina sadaya lapisan proyékna. Tilu prinsip ieu: otomatisasi, nyederhanakeun, akselerasi - aranjeunna bawa dimana waé aranjeunna tiasa ngahontal.

Naon anu kedah terang insinyur DevOps?

Sacara umum, anjeunna kudu boga pangaweruh ti wewengkon béda: programming, gawé bareng sistem operasi, database, assembly jeung sistem konfigurasi. Ieu complemented ku kamampuhan pikeun digawekeun ku infrastruktur awan, orchestration sarta sistem monitoring.

1. basa programming

Insinyur DevOps terang sababaraha basa dasar pikeun otomatisasi sareng tiasa, contona, nyarios ka programer: "Kumaha upami anjeun masang kodeu sanés ku leungeun, tapi nganggo skrip kami, anu ngajadikeun otomatis sadayana? Urang bakal nyiapkeun file config pikeun eta, eta bakal merenah pikeun anjeun sarta kami maca, sarta kami bakal bisa ngarobah éta iraha wae. Urang ogé bakal ningali saha, iraha sareng kunaon ngarobih éta.

Insinyur DevOps tiasa diajar hiji atanapi langkung tina basa ieu: Python, Groovy, Bash, Powershell, Ruby, Go. Henteu kedah terang aranjeunna dina tingkat anu jero - dasar sintaksis, prinsip OOP, sareng kamampuan nyerat skrip saderhana pikeun otomatisasi cekap.

2. Sistem operasi

Insinyur DevOps kedah ngartos kana server naon produkna bakal dipasang, lingkungan naon anu bakal dijalankeun, sareng jasa naon anu bakal berinteraksi. Anjeun tiasa milih ngahususkeun dina Windows atanapi kulawarga Linux.

3. Sistim kontrol Vérsi

Tanpa kanyaho ngeunaan sistem kontrol versi, insinyur DevOps teu aya dimana-mana. Git mangrupikeun salah sahiji sistem anu pang populerna ayeuna.

4. Panyadia awan

AWS, Google, Azure - utamana lamun urang ngobrol ngeunaan arah Windows.

Kirill Sergeev: "Panyadia awan nyadiakeun kami kalawan server virtual nu pas sampurna kana CI / CD.

Masang sapuluh server fisik merlukeun ngeunaan saratus operasi manual. Unggal server kedah diluncurkeun sacara manual, dipasang sareng ngonpigurasikeun sistem operasi anu diperyogikeun, dipasang aplikasi kami dina sapuluh server ieu, teras pariksa dua kali sadayana sapuluh kali. Ladenan awan ngagentos prosedur ieu ku sapuluh garis kode, sareng insinyur DevOps anu saé kedah tiasa beroperasi sareng aranjeunna. Ieu ngahémat waktos, usaha sareng artos - boh pikeun palanggan sareng perusahaan.

5. Sistem orkestrasi: Docker sareng Kubernetes

Kirill Sergeev: "Server virtual dibagi kana wadahna, di mana masing-masing urang tiasa masang aplikasi urang. Nalika aya seueur wadah, anjeun kedah ngaturana: hurungkeun hiji, pareumkeun anu sanés, jieun cadangan dimana waé. Ieu janten rada rumit sarta merlukeun sistem orkestrasi.

Saméméhna, unggal aplikasi diurus ku server misah - sagala parobahan dina operasi na bisa mangaruhan serviceability tina aplikasi. Hatur nuhun kana wadahna, aplikasi janten terasing sareng dijalankeun nyalira - masing-masing dina mesin virtual sorangan. Upami aya kagagalan, teu kedah nyéépkeun waktos milarian panyababna. Langkung gampang ngancurkeun wadah anu lami sareng nambihan anu énggal."

6. Sistem konfigurasi: kang Oki, Ansible, Wayang

Nalika anjeun kedah ngajaga sadayana armada server, anjeun kedah ngalakukeun seueur jinis operasi anu sami. Éta panjang sareng sesah, sareng karya manual ogé ningkatkeun kasempetan kasalahan. Ieu dimana sistem konfigurasi datang ka nyalametkeun teh. Kalayan bantosanana, aranjeunna nyiptakeun skrip anu gampang dibaca pikeun programer, insinyur DevOps, sareng pangurus sistem. Skrip ieu ngabantosan ngalaksanakeun operasi anu sami dina server sacara otomatis. Ieu ngurangan operasi manual (jeung ku kituna kasalahan).

Karir naon anu tiasa didamel ku insinyur DevOps?

Anjeun tiasa ngembangkeun duanana horisontal jeung vertikal.

Igor Boyko: "Ti sudut pandang pangembangan horisontal, insinyur DevOps ayeuna gaduh prospek anu paling lega. Sagalana terus ngarobah, sarta anjeun bisa ngawangun kaahlian dina rupa-rupa wewengkon: ti sistem kontrol versi mun ngawas, ti manajemén konfigurasi mun database.

Anjeun tiasa janten arsitek sistem upami karyawan resep ngartos kumaha aplikasi tiasa dianggo dina sadaya tahapan daur hirupna - tina pamekaran dugi ka ngadukung.

Kumaha carana janten insinyur DevOps?

  1. Baca The Phoenix Project sareng Buku Panduan DevOps. Ieu mangrupikeun pilar nyata filsafat DevOps, sareng anu munggaran mangrupikeun karya fiksi.
  2. Diajar téknologi tina daptar di luhur: nyalira atanapi ngalangkungan kursus online.
  3. Miluan salaku insinyur DevOps pikeun proyék open source.
  4. Praktek sareng nawiskeun prakték DevOps dina proyék pribadi sareng padamelan anjeun.

sumber: www.habr.com

Tambahkeun komentar