Хөгжүүлэгчид нь Ангараг гарагаас, админууд нь Сугараас гаралтай

Хөгжүүлэгчид нь Ангараг гарагаас, админууд нь Сугараас гаралтай

Тохиолдол санамсаргүй байдаг бөгөөд энэ нь үнэхээр өөр гариг ​​дээр байсан ...

Би админтай хамт багаар backend хөгжүүлэгч хэрхэн ажилладаг тухай амжилт, бүтэлгүйтлийн гурван түүхийг хуваалцахыг хүсч байна.

Нэгдүгээр түүх.
Вэб студи, ажилчдын тоог нэг гараараа тоолж болно. Өнөөдөр та макет зохион бүтээгч, маргааш та backender, маргааш нь админ болно. Нэг талаас та асар их туршлага хуримтлуулж чадна. Нөгөө талаар бүх салбарт чадамж дутмаг байна. Би ажлын эхний өдрийг санаж байна, би ногоон хэвээр байна, дарга: "Нээлттэй шаваас" гэж хэлсэн, гэхдээ би энэ нь юу болохыг мэдэхгүй байна. Админтай харилцах боломжгүй, учир нь чи өөрөө админ. Энэ нөхцөл байдлын давуу болон сул талуудыг авч үзье.

+ Бүх эрх мэдэл таны гарт байна.
+ Серверт хандахын тулд хэн нэгнээс гуйх шаардлагагүй.
+ Бүх чиглэлд хурдан хариу үйлдэл үзүүлэх хугацаа.
+ Ур чадварыг сайн сайжруулдаг.
+ Бүтээгдэхүүний архитектурын талаар бүрэн ойлголттой байх.

-Өндөр хариуцлагатай.
- Үйлдвэрлэл тасрах эрсдэлтэй.
-Бүх салбарт сайн мэргэжилтэн болно гэдэг хэцүү.

Сонирхоогүй, цаашаа явцгаая

Хоёр дахь түүх.
Том компани, том төсөл. 5-7 ажилтантай, хэд хэдэн хөгжлийн бүлэгтэй захиргааны хэлтэстэй. Ийм компанид ажиллахаар ирэхэд админ бүр таныг энд бүтээгдэхүүн дээр ажиллах гэж биш, харин ямар нэг зүйлийг эвдэх гэж ирсэн гэж боддог. Гарын үсэг зурсан NDA эсвэл ярилцлагын сонголт нь өөр зүйлийг заагаагүй болно. Үгүй ээ, энэ хүн бидний үнсэлцэх продакшныг сүйрүүлэх гэж халтар гараараа энд ирсэн. Тиймээс, ийм хүнтэй та хамгийн бага харилцаатай байх хэрэгтэй, наад зах нь та хариуд нь наалт шидэж болно. Төслийн архитектурын талаархи асуултанд хариулж болохгүй. Багийн ахлагч асуух хүртэл нэвтрэх эрх өгөхгүй байхыг зөвлөж байна. Тэгээд гуйхад нь тэдний гуйснаас ч бага давуу эрхтэйгээр буцааж өгнө. Ийм админуудтай бараг бүх харилцаа нь хөгжлийн хэлтэс болон удирдлагын хэлтсийн хоорондох хар нүхэнд шингэдэг. Асуудлыг нэн даруй шийдвэрлэх боломжгүй юм. Гэхдээ та өөрийн биеэр ирж чадахгүй - админууд нь 24/7 завгүй байна. (Та байнга юу хийдэг вэ?) Зарим гүйцэтгэлийн шинж чанарууд:

  • Үйлдвэрлэлд байрлуулах дундаж хугацаа 4-5 цаг байна
  • Үйлдвэрлэлд хамгийн их байршуулах хугацаа 9 цаг
  • Хөгжүүлэгчийн хувьд үйлдвэрлэлд байгаа програм нь үйлдвэрлэлийн сервертэй адил хар хайрцаг юм. Нийт хэд байгаа вэ?
  • Хувилбарын чанар муу, алдаа байнга гардаг
  • Хөгжүүлэгч нь гаргах үйл явцад оролцдоггүй

За яахав, би юу хүлээж байсан бэ, мэдээж шинэ хүмүүсийг үйлдвэрлэлд оруулахгүй. За, тэвчээртэй байж бид бусдын итгэлийг олж эхэлдэг. Гэхдээ зарим шалтгааны улмаас админуудын хувьд бүх зүйл тийм ч хялбар биш юм.

Үйлдэл 1. Админ нь үл үзэгдэх.
Гаргасан өдөр, хөгжүүлэгч болон админ хоорондоо харилцдаггүй. Админд асуулт байхгүй. Гэхдээ яагаад гэдгийг та дараа нь ойлгох болно. Админ нь зарчимч, мессенжергүй, утасны дугаараа хэнд ч өгдөггүй, олон нийтийн сүлжээн дэх профайлгүй. Хаана ч түүний зураг байхгүй, чи ямар харагдаж байна аа, хонгор минь? Бид хариуцлагатай менежертэй 15 минутын турш эргэлзэн сууж, энэ Voyager 1-тэй холбоо тогтоохыг оролдсоны дараа компанийн имэйлд түүний ажил дууссан гэсэн мессеж гарч ирнэ. Бид шуудангаар харилцах уу? Яагаад үгүй ​​гэж? Тохиромжтой, тийм үү? За за, сэрүүцье. Процесс аль хэдийн явагдаж байна, эргэж буцах зүйл алга. Зурвасыг дахин уншина уу. "Би дууссан". Та юу дуусгасан бэ? Хаана? Би чамайг хаанаас хайх ёстой вэ? Эндээс та яагаад суллах 4 цаг хэвийн болохыг ойлгож байна. Бид хөгжлийн цочролд орсон ч бид хувилбараа дуусгаж байна. Одоо суллах хүсэл байхаа больсон.

Үйлдэл 2. Тэр хувилбар биш.
Дараагийн хувилбар. Туршлага олж авсны дараа бид администраторуудад зориулсан серверт шаардлагатай програм хангамж, номын сангийн жагсаалтыг гаргаж, зарим хувилбаруудыг зааж өгч эхэлдэг. Ердийнх шиг бид админ тэнд ямар нэг зүйл дуусгасан гэсэн сул радио дохио хүлээн авдаг. Регрессийн тест эхэлдэг бөгөөд энэ нь өөрөө нэг цаг орчим болдог. Бүх зүйл ажиллаж байгаа мэт боловч нэг чухал алдаа байна. Чухал функц ажиллахгүй байна. Дараагийн хэдэн цаг хэнгэрэг барин бүжиглэж, кофены талбайн дээр зөгнөн хэлж, код тус бүрийг нарийвчлан судалж үзэв. Админ нь бүгдийг хийсэн гэсэн. Муухай хөгжүүлэгчдийн бичсэн програм ажиллахгүй, харин сервер нь ажилладаг. Түүнд асуух зүйл байна уу? Нэг цагийн төгсгөлд бид админаас үйлдвэрлэлийн сервер дээрх номын сангийн хувилбарыг чат болон бинго руу илгээх болно - энэ нь бидэнд хэрэгтэй зүйл биш юм. Бид администратороос шаардлагатай хувилбарыг суулгахыг хүсч байгаа боловч хариуд нь үйлдлийн системийн багц менежерт энэ хувилбар байхгүй тул үүнийг хийж чадахгүй байна. Энд, санах ойнхоо завсарлагаан дээрээс менежер нь өөр админ шаардлагатай хувилбарыг гараар угсрах замаар энэ асуудлыг аль хэдийн шийдэж байсныг санаж байна. Гэхдээ үгүй, манайхан үүнийг хийхгүй. Дүрэм журмаар хориглодог. Карл, бид энд хэдэн цаг суулаа, ямар хугацаатай вэ?! Бид дахин нэг шоконд орж, ямар нэгэн байдлаар хувилбараа дуусгана.

3-р үйлдэл, товч
Яаралтай тасалбар, гол функц нь үйлдвэрлэлд байгаа хэрэглэгчдийн аль нэгэнд ажиллахгүй байна. Бид хоёр цагийг нухаж, шалгахад зарцуулдаг. Хөгжлийн орчинд бүх зүйл ажилладаг. Php-fpm логуудыг үзэх нь зүйтэй гэсэн тодорхой ойлголттой байна. Тухайн үед төсөл дээр ELK эсвэл Prometheus шиг бүртгэлийн систем байгаагүй. Бид удирдлагын хэлтэст тасалбар нээдэг бөгөөд ингэснээр сервер дээрх php-fpm бүртгэлд нэвтрэх боломжийг олгодог. Эндээс та бид ямар нэг шалтгаанаар нэвтрэх хүсэлт гаргаж байгааг ойлгох хэрэгтэй, хар нүх болон админууд 24/7 завгүй байдгийг санахгүй байна уу? Хэрэв та тэднээс бүртгэлийг өөрсдөө харахыг хүсвэл энэ нь "энэ амьдралд биш" гэсэн тэргүүлэх чиглэлтэй ажил юм. Тасалбарыг үүсгэсэн тул бид захиргааны хэлтсийн даргаас "Та үйлдвэрлэлийн бүртгэлд хандах шаардлагагүй, алдаагүй бичээрэй" гэсэн хариуг хүлээн авлаа. Хөшиг.

Үйлдэл 4 ба түүнээс дээш
Номын сангийн янз бүрийн хувилбарууд, тохируулагдаагүй програм хангамж, серверийн ачааллыг бэлтгээгүй болон бусад асуудлаас үүдэн бид үйлдвэрлэлийн явцад гарсан олон арван асуудлуудыг цуглуулсаар байна. Мэдээжийн хэрэг, кодын алдаанууд бас байдаг, бид бүх гэм нүгэлд админуудыг буруутгахгүй, бид энэ төслийн өөр нэг ердийн үйлдлийг дурдах болно. Бид хянагчаар дамжуулан эхлүүлсэн нэлээд олон суурь ажилтантай байсан бөгөөд зарим скриптийг cron-д нэмэх шаардлагатай болсон. Заримдаа эдгээр ажилчид ажиллахаа больсон. Дарааллын серверийн ачаалал аянгын хурдаар нэмэгдэж, гунигтай хэрэглэгчид ээрэх ачигч руу харав. Ийм ажилчдыг хурдан засахын тулд зүгээр л дахин эхлүүлэхэд хангалттай байсан, гэхдээ үүнийг зөвхөн администратор л хийж чадна. Ийм үндсэн хагалгаа хийж байхад бүтэн өдөр өнгөрч болно. Энд мэдээжийн хэрэг, муруй програмистууд ажилчдыг сүйрүүлэхгүйн тулд бичих ёстой гэдгийг тэмдэглэх нь зүйтэй, гэхдээ унах үед нь яагаад үйлдвэрлэлд нэвтрэх боломжгүйгээс заримдаа боломжгүй байдаг гэдгийг ойлгоход таатай байх болно. Мэдээжийн хэрэг, үүний үр дүнд хөгжүүлэгчээс лог байхгүй байна.

Хувиргах.
Энэ бүхнийг нэлээд удаан тэвчсэний эцэст бид хамт олонтойгоо хамт бидний хувьд илүү амжилттай болсон зүг рүү чиглэж эхэлсэн. Дүгнэж хэлэхэд бидэнд ямар асуудал тулгарсан бэ?

  • Хөгжүүлэгчид болон удирдлагын хэлтсийн хооронд чанарын харилцаа холбоо дутмаг
  • Администраторууд, энэ нь (!) Програм хэрхэн бүтэцлэгдсэн, ямар хамааралтай, хэрхэн ажилладаг талаар огт ойлгодоггүй.
  • Хөгжүүлэгчид үйлдвэрлэлийн орчин хэрхэн ажилладагийг ойлгодоггүй бөгөөд үүний үр дүнд асуудалд үр дүнтэй хариу өгөх боломжгүй байдаг.
  • Байршуулах үйл явц хэтэрхий удаан үргэлжилдэг.
  • Тогтворгүй хувилбарууд.

Бид юу хийсэн бэ?
Гаргасан хувилбар бүрийн хувьд дараагийн хувилбар ажиллахын тулд сервер дээр хийх шаардлагатай ажлын жагсаалтыг багтаасан хувилбарын тэмдэглэлийн жагсаалтыг гаргасан. Жагсаалтад администратор, хувилбарыг хариуцах хүн, хөгжүүлэгчийн хийх ёстой хэд хэдэн хэсгүүдийг багтаасан болно. Хөгжүүлэгчид бүх үйлдвэрлэлийн серверүүдэд root бус хандалт авсан нь ерөнхийдөө хөгжлийг хурдасгаж, ялангуяа асуудлыг шийдвэрлэхэд түлхэц өгсөн. Хөгжүүлэгчид үйлдвэрлэл хэрхэн ажилладаг, ямар үйлчилгээнд хуваагддаг, хуулбар хаана, ямар үнэтэй байдаг талаар ойлголттой байдаг. Зарим байлдааны ачаалал тодорхой болсон нь кодын чанарт нөлөөлөх нь дамжиггүй. Гаргах явцад харилцаа холбоо нь шуурхай мессенжерүүдийн нэгний чат дээр явагдсан. Нэгдүгээрт, бид бүх үйл ажиллагааны бүртгэлтэй байсан, хоёрдугаарт, харилцаа холбоо илүү ойр орчинд явагдсан. Үйл ажиллагааны түүхтэй байх нь шинэ ажилтнуудад асуудлыг илүү хурдан шийдвэрлэх боломжийг нэг бус удаа олгосон. Энэ бол парадокс, гэхдээ энэ нь ихэвчлэн админуудад тусалдаг. Би тодорхой хэлэхгүй, гэхдээ админууд төсөл хэрхэн ажилладаг, хэрхэн бичигдсэнийг илүү сайн ойлгож эхэлсэн бололтой. Заримдаа бид бие биетэйгээ зарим мэдээллийг хуваалцдаг. Гаргах дундаж хугацааг нэг цаг болгон бууруулсан. Заримдаа бид 30-40 минутын дотор дуусдаг байсан. Алдааны тоо арав дахин биш юмаа гэхэд нэлээд багассан. Мэдээжийн хэрэг, бусад хүчин зүйлүүд, тухайлбал автомат тест гэх мэт хувилбарын хугацааг багасгахад нөлөөлсөн. Гаргасны дараа бид ретроспектив хийж эхэлсэн. Ингэснээр бүхэл бүтэн баг юу шинэ, юу өөрчлөгдсөн, юу хасагдсан талаар ойлголттой болно. Харамсалтай нь админууд нь тэр бүр ирдэггүй, админууд нь завгүй л байна... Хөгжүүлэгчийн хувьд миний ажлын сэтгэл ханамж нэмэгдсэн нь дамжиггүй. Та өөрийн чадамжийн хүрээнд байгаа бараг бүх асуудлыг хурдан шийдэж чадвал та дээгүүрт ордог. Хожим нь би тодорхой хэмжээгээр бид девопсийн соёлыг бүрэн бус, бүрэн бус, гэхдээ өөрчлөлтийн эхлэл хүртэл гайхалтай байсныг би ойлгох болно.

Гуравдугаар өгүүллэг
Эхлэл. Нэг админ, жижиг хөгжлийн хэлтэс. Ирсэн даруйдаа би бүрэн тэг болно, учир нь ... Би шуудангаас өөр хаанаас ч хандах эрхгүй. Бид админ руу бичээд нэвтрэх эрхийг асуудаг. Нэмж дурдахад тэрээр шинэ ажилтны талаар мэдэж байгаа бөгөөд нэвтрэх / нууц үг гаргах шаардлагатай гэсэн мэдээлэл байдаг. Тэд репозитор болон VPN-ээс хандах боломжийг олгодог. Яагаад wiki, teamcity, rundesk-д хандах эрх өгөх вэ? Ар талын хэсгийг бүтнээр нь бичих гэж дуудагдсан хүнд хэрэггүй зүйл. Зөвхөн цаг хугацааны явцад бид зарим хэрэгсэлд хандах боломжтой болдог. Ирэх нь мэдээжийн хэрэг үл итгэсэн. Би төслийн дэд бүтэц хэрхэн ажилладагийг чат болон асуултуудаар дамжуулан аажмаар мэдрэхийг хичээж байна. Ерөнхийдөө би юу ч танихгүй. Үйлдвэрлэл нь өмнөх шигээ хар хайрцаг. Гэхдээ үүнээс илүү тест хийхэд ашигладаг тайзны серверүүд хүртэл хар хайрцаг юм. Бид тэнд Git-ийн салбарыг байрлуулахаас өөр юу ч хийж чадахгүй. Бид мөн .env файл шиг програмаа тохируулах боломжгүй. Ийм үйл ажиллагаанд нэвтрэх эрх олгоогүй. Туршилтын сервер дээрх програмынхаа тохиргоонд мөрийг өөрчлөхийг та гуйх хэрэгтэй. (Админууд өөрсдийгөө төсөлд чухал гэж үзэх нь амин чухал гэсэн онол байдаг; хэрэв тэднээс тохиргоон дахь мөрүүдийг өөрчлөхийг хүсээгүй бол тэд зүгээр л хэрэггүй болно). За, урьдын адил энэ нь тохиромжтой биш гэж үү? Энэ нь хурдан уйтгартай болж, админтай шууд ярилцсаны дараа хөгжүүлэгчид муу код бичихийн тулд төрсөн, угаасаа чадваргүй хүмүүс байдаг тул тэдгээрийг үйлдвэрлэлээс хол байлгах нь дээр гэдгийг олж мэдсэн. Гэхдээ энд бас туршилтын серверүүдээс, ямар ч тохиолдолд. Мөргөлдөөн хурдан хурцдаж байна. Админтай ямар ч холбоо байхгүй. Ганцаараа байгаа нь байдлыг улам хүндрүүлж байна. Дараах нь ердийн зураг юм. Суллах. Тодорхой функц ажиллахгүй байна. Юу болж байгааг ойлгоход бид удаан хугацаа шаардагддаг, хөгжүүлэгчдийн янз бүрийн санаанууд чат руу шиддэг, гэхдээ ийм нөхцөлд админ нь ихэвчлэн хөгжүүлэгчдийг буруутгадаг гэж үздэг. Тэгээд чат дээрээ бичдэг, хүлээгээрэй, би түүнийг зассан. Асуудал юу болсон тухай мэдээлэл бүхий түүх үлдээхийг хүсэхэд бид хортой шалтаг хүлээж авдаг. Хамраа хамааралгүй газар бүү наа. Хөгжүүлэгчид код бичих ёстой. Төслийн хүрээнд бие махбодийн олон хөдөлгөөн нэг хүнээр дамждаг бөгөөд зөвхөн түүнд л шаардлагатай хагалгааг хийх боломжтой байдаг нь үнэхээр харамсалтай. Ийм хүн бол аймшигтай гацаа юм. Хэрэв Devops-ийн санаанууд зах зээлд гарах хугацааг багасгахыг эрмэлздэг бол ийм хүмүүс Девопын санааны хамгийн муу дайсан болно. Харамсалтай нь хөшиг энд хаагддаг.

Жич. Хүмүүстэй чатлахдаа хөгжүүлэгч болон админуудын талаар бага зэрэг ярилцсаны дараа миний зовлонг хуваалцсан хүмүүстэй уулзлаа. Гэхдээ ийм юмтай учирч байгаагүй гэх хүмүүс ч байсан. Нэгэн devops бага хурал дээр би Антон Исанинаас (Альфа банк) админуудын хэлбэрээр гацах асуудлыг хэрхэн шийдэж байгааг асуухад тэр: "Бид тэдгээрийг товчлуураар сольсон" гэж хэлсэн. Дашрамд хэлэхэд подкаст түүний оролцоотойгоор. Дайснуудаасаа олон сайн админууд байгаа гэдэгт итгэмээр байна. Тийм ээ, эхэнд байгаа зураг бол жинхэнэ захидал харилцаа юм.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх