Pamekar ti Mars, admin ti Vénus

Pamekar ti Mars, admin ti Vénus

Kabeneran acak, sareng memang aya di planét sanés ...

Abdi hoyong ngabagikeun tilu carita kasuksésan sareng kagagalan ngeunaan kumaha pamekar backend dianggo dina tim sareng admin.

Carita hiji.
Web studio, jumlah karyawan bisa diitung ku hiji leungeun. Dinten anjeun desainer perenah, isukan anjeun backender, dinten saatos isukan anjeun admin. Di hiji sisi, anjeun tiasa nampi pangalaman anu luar biasa. Di sisi séjén, aya kakurangan kompetensi dina sagala widang. Kuring masih émut dinten mimiti damel, kuring masih héjo, bos nyarios: "Buka putty," tapi kuring henteu terang naon éta. Komunikasi sareng admins teu kaasup, sabab anjeun admin sorangan. Hayu urang nganggap pro jeung kontra ngeunaan kaayaan ieu.

+ Sadaya kakuatan aya dina panangan anjeun.
+ Henteu kedah menta saha waé pikeun aksés ka server.
+ Waktos réaksi gancang dina sagala arah.
+ Ningkatkeun kaahlian ogé.
+ Boga pamahaman lengkep ngeunaan arsitéktur produk.

- Tanggung jawab luhur.
- Résiko pegatna produksi.
- Hésé janten spesialis anu saé dina sadaya daérah.

Teu kabetot, hayu urang ngaléngkah

Carita kadua.
Perusahaan ageung, proyék ageung. Aya hiji departemén administrasi kalawan 5-7 pagawé sarta sababaraha grup ngembangkeun. Nalika anjeun damel di perusahaan sapertos kitu, unggal admin mikir yén anjeun henteu sumping ka dieu pikeun ngerjakeun produk, tapi pikeun ngarobih hiji hal. Sanes NDA anu ditandatanganan atanapi seleksi dina wawancara henteu nunjukkeun anu sanés. Henteu, lalaki ieu sumping ka dieu kalayan leungeun-Na kotor saeutik pikeun ngaruksak produksi kissing urang. Ku alatan éta, kalayan jalma sapertos anjeun peryogi komunikasi minimum, sahenteuna, anjeun tiasa maledog stiker pikeun ngaréspon. Ulah ngajawab patarosan ngeunaan arsitéktur proyék. Disarankeun henteu masihan aksés dugi ka pimpinan tim naroskeun. Sareng nalika anjeunna naros, anjeunna bakal masihan deui kalayan hak-hak anu langkung sakedik tibatan anu dipénta. Ampir sadaya komunikasi sareng admin sapertos diserep ku black hole antara departemen pangwangunan sareng departemen administrasi. Teu mungkin pikeun ngabéréskeun masalah langsung. Tapi anjeun teu tiasa sumping pribadi - admin sibuk teuing 24/7. (Naon anu anjeun lakukeun sepanjang waktos?) Sababaraha ciri kinerja:

  • Rata-rata waktos panyebaran dina produksi nyaéta 4-5 jam
  • waktos deployment maksimum dina produksi 9 jam
  • Pikeun pamekar, aplikasi dina produksi nyaéta kotak hideung, sapertos server produksi sorangan. Sabaraha jumlahna?
  • Kualitas rilis rendah, sering kasalahan
  • pamekar teu ilubiung dina prosés release

Nya, naon anu kuring ngarepkeun, tangtosna, jalma énggal henteu diidinan produksi. Muhun, oke, sanggeus miboga kasabaran, urang mimiti meunang kapercayaan batur. Tapi pikeun sababaraha alesan, hal anu teu jadi basajan kalawan admins.

Pancén 1. Admin teu katingali.
Dinten release, pamekar jeung admin teu komunikasi. Admin teu gaduh patarosan. Tapi anjeun ngartos naha engké. Admin mangrupikeun jalma anu prinsip, henteu gaduh utusan, henteu masihan nomer teleponna ka saha waé, sareng henteu gaduh profil dina jaringan sosial. Henteu aya poto anjeunna dimana waé, kumaha anjeun katingalina? Urang diuk jeung manajer jawab ngeunaan 15 menit dina bewilderment, nyobian pikeun ngadegkeun komunikasi jeung Voyager 1 ieu, lajeng pesen mucunghul dina email perusahaan nu anjeunna geus rengse. Dupi urang bade pakait ku mail? Naha henteu? Merenah, sanes? Muhun, oke, hayu urang tiis. Prosésna parantos dijalankeun, teu aya anu balik deui. Maca talatah deui. "Abdi berés". Naon anu anjeun parantos réngsé? Dimana? Dimana abdi kedah milarian anjeun? Di dieu anjeun ngartos naha 4 jam pikeun release normal. Simkuring meunang shock ngembangkeun, tapi urang rengse release. Teu aya deui kahayang pikeun ngaleupaskeun.

Act 2. Teu versi éta.
Pelepasan salajengna. Saatos gaduh pangalaman, urang mimiti nyiptakeun daptar parangkat lunak sareng perpustakaan anu dipikabutuh pikeun pangladén pikeun pangurus, nunjukkeun versi pikeun sababaraha. Sakumaha biasa, kami nampi sinyal radio anu lemah yén admin parantos réngsé hiji hal di dinya. Uji régrési dimimitian, anu nyalira peryogi sakitar sajam. Sagalana sigana jalan, tapi aya hiji bug kritis. fungsionalitas penting teu jalan. Sababaraha jam ka hareup anu nari jeung rebana, rejeki-nétélakeun dina grounds kopi, sarta review lengkep unggal potongan kode. Admin nyebutkeun anjeunna geus rengse sagalana. Aplikasi anu ditulis ku pamekar bengkung henteu jalan, tapi pangladénna jalan. Aya patarosan pikeun anjeunna? Dina ahir sajam, urang meunang admin pikeun ngirim versi perpustakaan dina server produksi kana obrolan jeung bingo - teu hiji urang kudu. Kami naroskeun ka administrator pikeun masang versi anu diperyogikeun, tapi pikeun ngaréspon kami nampi yén anjeunna henteu tiasa ngalakukeun ieu kusabab henteuna versi ieu dina manajer pakét OS. Di dieu, ti recesses memori na, manajer inget yen admin sejen geus direngsekeun masalah ieu ku saukur assembling versi diperlukeun ku leungeun. Tapi henteu, urang moal ngalakukeun ieu. Perda ngalarang. Karl, urang geus linggih di dieu pikeun sababaraha jam, naon wates waktu?! Urang meunang shock sejen tur kumaha bae ngarengsekeun release.

Act 3, pondok
Tikét urgent, fungsionalitas konci teu dianggo pikeun salah sahiji pamaké dina produksi. Urang méakkeun sababaraha jam poking jeung mariksa. Dina lingkungan ngembangkeun, sagalana jalan. Aya pamahaman anu jelas yén éta bakal janten ide anu saé pikeun ningali log php-fpm. Henteu aya sistem log sapertos ELK atanapi Prometheus dina proyék éta dina waktos éta. Kami muka tikét ka departemen administrasi supados aranjeunna masihan aksés kana log php-fpm dina server. Di dieu anjeun kudu ngarti yén kami nanya pikeun aksés pikeun alesan, anjeun teu apal ngeunaan black hole jeung admin sibuk 24/7? Upami anjeun naroskeun aranjeunna ningali log sorangan, maka ieu mangrupikeun tugas kalayan prioritas "henteu dina kahirupan ieu". Tikét didamel, kami nampi réspon instan ti kapala jabatan administrasi: "Anjeun henteu kedah aksés kana log produksi, nyerat tanpa bug." A curtain.

Act 4 sareng salajengna
Kami masih ngumpulkeun puluhan masalah dina produksi, alatan versi béda perpustakaan, software unconfigured, beban server unprepared, sarta masalah sejenna. Tangtosna, aya ogé bug kode, urang moal ngalepatkeun admins pikeun sakabéh dosa, urang ngan bakal nyebut hiji operasi leuwih has pikeun proyék éta. Kami ngagaduhan seueur tukang tukang anu diluncurkeun ngaliwatan pengawas, sareng sababaraha naskah kedah ditambihkeun kana cron. Kadang-kadang pagawé anu sami ieu lirén damel. Beban dina server antrian tumuwuh di speed kilat, sarta pamaké hanjelu nempo loader spinning. Pikeun gancang ngalereskeun pagawe sapertos, éta cukup pikeun ngabalikan deui, tapi deui, ngan administrator bisa ngalakukeun ieu. Nalika operasi dasar sapertos dilaksanakeun, sadinten tiasa ngaliwat. Di dieu, tangtosna, eta sia noting yén programer bengkung kudu nulis pagawe ambéh maranéhanana teu ngadat, tapi lamun maranehna ragrag, eta bakal hade ka ngarti naha, nu kadang teu mungkin alatan kurangna aksés ka produksi. tangtu, jeung salaku konsekuensi, kurangna log ti developer.

Transfigurasi.
Saatos nanggung sadayana ieu kanggo waktos anu lami, babarengan sareng tim kami mimiti ngarah ka arah anu langkung suksés pikeun kami. Pikeun nyimpulkeun, masalah naon anu urang nyanghareupan?

  • Kurangna kualitas komunikasi antara pamekar jeung departemén administrasi
  • Administrator, tétéla (!), Teu ngarti pisan kumaha aplikasi ieu terstruktur, naon gumantungna jeung kumaha gawéna.
  • Pamekar teu ngartos kumaha lingkungan produksi jalan sareng, salaku hasilna, teu tiasa sacara efektif ngabales masalah.
  • Prosés deployment nyokot panjang teuing.
  • Kaluaran teu stabil.

Naon anu urang lakukeun?
Pikeun unggal pelepasan, daptar Release Notes dihasilkeun, anu kalebet daptar padamelan anu kedah dilakukeun dina server pikeun sékrési salajengna tiasa dianggo. Daptar éta ngandung sababaraha bagian, pagawéan anu kedah dilakukeun ku pangurus, anu tanggung jawab sékrési, sareng pamekar. Pamekar nampi aksés non-root ka sadaya server produksi, anu nyepetkeun pangwangunan sacara umum sareng ngarengsekeun masalah khususna. Pamekar ogé gaduh pamahaman kumaha produksi jalan, jasa naon dibagi, dimana sareng sabaraha biaya réplika. Sababaraha beban tempur parantos langkung jelas, anu pasti mangaruhan kualitas kodeu. Komunikasi nalika prosés pelepasan lumangsung dina obrolan salah sahiji utusan instan. Anu mimiti, urang ngagaduhan log sadaya tindakan, sareng kadua, komunikasi lumangsung dina lingkungan anu langkung caket. Ngabogaan sajarah lampah geus leuwih ti sakali diwenangkeun pagawé anyar pikeun ngajawab masalah gancang. Éta paradoks, tapi ieu sering ngabantosan admin sorangan. Kuring moal migawe nyebutkeun pasti, tapi sigana kuring nu admins geus dimimitian pikeun ngarti deui kumaha proyek jalan na kumaha eta ditulis. Kadang urang malah dibagikeun sababaraha rinci saling. Waktu pelepasan rata-rata diréduksi jadi sajam. Kadang-kadang urang rengse dina 30-40 menit. Jumlah bug parantos turun sacara signifikan, upami henteu sapuluh kali lipat. Tangtosna, faktor sanésna ogé mangaruhan pangurangan waktos pelepasan, sapertos autotes. Sanggeus unggal release, urang mimiti ngalaksanakeun retrospectives. Sangkan sakabeh tim boga gagasan ngeunaan naon nu anyar, naon robah, sarta naon geus dihapus. Hanjakal, admin teu salawasna datang ka aranjeunna, na, admin sibuk ... Kapuasan pakasaban abdi salaku developer geus pasti ngaronjat. Nalika anjeun tiasa gancang ngabéréskeun ampir sagala masalah anu aya di daérah kompeténsi anjeun, anjeun ngarasa di luhur. Engké, abdi bakal ngartos yen mun extent sababaraha urang ngawanohkeun budaya devops, teu sagemblengna, tangtosna, tapi malah nu awal transformasi éta impressive.

Carita tilu
Ngamimitian. Hiji admin, departemén ngembangkeun leutik. Kana datangna kuring nol lengkep, sabab ... Kuring teu boga aksés mana iwal ti mail. Kami nyerat ka admin sareng naroskeun aksés. Sajaba ti éta, aya informasi yén anjeunna sadar pagawe anyar jeung kudu ngaluarkeun logins / sandi. Aranjeunna masihan aksés ti Repository sareng VPN. Naha masihan aksés ka wiki, teamcity, rundesk? Hal gunana pikeun jalma anu disebut nulis sakabéh bagian backend. Ngan ngaliwatan waktu urang meunang aksés ka sababaraha parabot. Kadatangan, tangtu, patepung jeung teu percaya. Kuring nyoba lalaunan meunang ngarasakeun kumaha infrastruktur proyek urang jalan ngaliwatan obrolan jeung patarosan ngarah. Dasarna kuring henteu mikawanoh nanaon. Produksi kotak hideung sarua jeung saméméhna. Tapi langkung ti éta, bahkan server panggung anu dianggo pikeun nguji nyaéta kotak hideung. Urang teu bisa ngalakukeun nanaon lian ti nyebarkeun cabang ti Git dinya. Urang ogé teu bisa ngonpigurasikeun aplikasi urang kawas file .env. Aksés pikeun operasi sapertos kitu henteu dipasihkeun. Anjeun kudu menta pikeun meunangkeun garis robah dina config tina aplikasi Anjeun dina server test. (Aya téori yén éta penting pisan pikeun admins ngarasa dirina penting dina proyék; lamun maranéhna teu dipenta pikeun ngarobah garis dina configs, aranjeunna saukur moal diperlukeun). Muhun, sakumaha salawasna, teu eta merenah? Ieu gancang jadi boring, sanggeus paguneman langsung jeung admin urang manggihan yén pamekar dilahirkeun nulis kode goréng, anu ku alam individu mampuh sarta leuwih hadé pikeun ngajauhkeun aranjeunna tina produksi. Tapi di dieu ogé ti server test, ngan bisi. Konflik téh gancang escalating. Teu aya komunikasi sareng admin. Situasi beuki parah ku anjeunna nyalira. Di handap ieu mangrupakeun gambar has. Leupaskeun. fungsionalitas tangtu teu jalan. Butuh waktos anu lami pikeun terang naon anu lumangsung, rupa-rupa ideu ti pamekar dialungkeun kana obrolan, tapi admin dina kaayaan sapertos kitu biasana nganggap yén pamekar kedah nyalahkeun. Lajeng anjeunna nyerat dina obrolan, antosan, abdi dilereskeun anjeunna. Nalika dipenta pikeun ninggalkeun carita sareng inpormasi ngeunaan naon masalahna, kami nampi alesan anu beracun. Siga, ulah nempelkeun irung anjeun dina tempat anu henteu pantes. Pamekar kedah nyerat kode. Kaayaan nalika seueur gerakan awak dina hiji proyék ngalangkungan hiji jalma sareng ngan ukur anjeunna anu gaduh aksés pikeun ngalaksanakeun operasi anu dibutuhkeun ku sadayana pisan hanjelu. Jalma sapertos kitu mangrupikeun bottleneck anu dahsyat. Upami ideu Devops narékahan pikeun ngirangan waktos-ka-pasar, maka jalma sapertos kitu mangrupikeun musuh anu paling parah pikeun ideu Devops. Hanjakal, curtain nutup dieu.

PS Saatos ngobrol saeutik ngeunaan pamekar vs admins dina obrolan jeung jalma, Kuring patepung jalma anu babagi nyeri kuring. Tapi aya ogé anu nyarios yén aranjeunna henteu kantos mendakan anu sapertos kieu. Dina hiji konperénsi devops, kuring naroskeun ka Anton Isanin (Bank Alfa) kumaha aranjeunna nungkulan masalah bottleneck dina bentuk admin, anu anjeunna nyarios: "Kami ngagentos aranjeunna ku tombol." Ngomong-ngomong podcast kalayan partisipasina. Abdi hoyong yakin yén aya loba admins leuwih alus ti musuh. Sareng enya, gambar di awal mangrupikeun korespondensi anu nyata.

Sumber: www.habr.com

Tambahkeun komentar