Системийн администраторууд яагаад DevOps инженер болох ёстой вэ?

Системийн администраторууд яагаад DevOps инженер болох ёстой вэ?

Амьдралд өнөөдрөөс илүү суралцах цаг гэж үгүй.


Энэ бол 2019 он бөгөөд DevOps нь урьд өмнөхөөсөө илүү хамааралтай болсон. Мэнфрэймийн эрин үе шиг системийн админуудын үе өнгөрсөн гэж тэд ярьдаг. Гэхдээ энэ үнэхээр тийм гэж үү?
Мэдээллийн технологийн салбарт байнга тохиолддог шиг нөхцөл байдал өөрчлөгдсөн. DevOps арга зүй бий болсон ч системийн администраторын ур чадвартай хүнгүйгээр өөрөөр хэлбэл Opsгүйгээр оршин тогтнох боломжгүй.

DevOps арга орчин үеийн хэлбэрээ олж авахаас өмнө би өөрийгөө Ops гэж ангилсан. Системийн администратор өөрийгөө хичнээн их зүйлийг хийж чадахгүй, үүнийг сурахад хичнээн бага хугацаа зарцуулж байгаагаа ухаарах үед юу мэдэрдгийг би сайн мэднэ.

Системийн администраторууд яагаад DevOps инженер болох ёстой вэ?

Гэхдээ энэ үнэхээр аймшигтай гэж үү? Мэдлэг дутмаг гэдгийг ямар нэг том асуудал гэж ойлгож болохгүй гэж хэлмээр байна. Энэ нь илүү мэргэжлийн сорилт юм.

Вэб хэмжээний бүтээгдэхүүнүүд нь Линукс эсвэл бусад нээлттэй эхийн программ хангамж дээр суурилдаг бөгөөд зах зээл дээр тэдгээрийг хадгалах чадвартай хүмүүс улам бүр цөөрсөөр байна. Эрэлт нь энэ чиглэлээр мэргэшсэн мэргэжилтнүүдийн тооноос аль хэдийн давсан. Системийн администратор ур чадвараа дээшлүүлэхгүйгээр зүгээр л үргэлжлүүлэн ажиллах боломжгүй болно. Тэрээр олон сервер/зангилаа удирдах автоматжуулалтын ур чадвартай байх ёстой бөгөөд үүссэн асуудлыг шийдвэрлэхийн тулд тэд хэрхэн ажилладаг талаар сайн ойлголттой байх ёстой.

DevOps багийн гишүүн болохын өмнө та DevOps стандартын дагуу системийг хадгалахад шаардлагатай шинэ технологи, янз бүрийн хэрэгслүүдийг сурч, нэлээд урт боловч сонирхолтой аялал хийх хэрэгтэй.

Тэгэхээр системийн администратор ажилдаа ердийн арга барилаас DevOps-ийн шинэ үзэл баримтлал руу хэрхэн шилжих вэ? Бүх зүйл ердийнх шигээ: эхлээд та бодлоо өөрчлөх хэрэгтэй. Сүүлийн арав, хорин жил баримталж ирсэн арга барилаасаа татгалзаж, өөр зүйл хийж эхлэх нь тийм ч амар биш ч зайлшгүй шаардлагатай.

Юуны өмнө DevOps бол компанид тодорхой албан тушаал биш, харин тодорхой туршлагын багц гэдгийг ойлгох нь чухал. Эдгээр практик нь тусгаарлагдсан системийг түгээх, алдаа, алдаанаас үүсэх хор хөнөөлийг бууруулах, програм хангамжийг ойр ойрхон, цаг тухайд нь шинэчлэх, хөгжүүлэгчид (Хөгжүүлэгч) болон администраторууд (Ops) хоорондын сайн харилцаа холбоо, зөвхөн кодыг төдийгүй байнгын туршилтыг шаарддаг. мөн үйл явц дахь бүх бүтэц тасралтгүй нэгтгэх, хүргэх (CI/CD).

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

Үйл ажиллагааны мэргэжилтнүүдийн хувьд танд дутагдаж байгаа зүйл бол програмчлалын ур чадвар юм. Одоо системийн администраторууд сервер дээр засваруудыг автоматаар суулгах, файл, бүртгэлийг удирдах, асуудлыг шийдвэрлэх, баримт бичгийг бүрдүүлэхэд ашигладаг скрипт (скрипт) бичих нь аль хэдийн хуучирсан гэж тооцогддог. Скрипт бичих нь харьцангуй энгийн тохиолдлуудад хамааралтай хэвээр байгаа ч DevOps нь хэрэгжүүлэх, турших, бүтээх, байршуулах гэх мэт томоохон хэмжээний асуудлуудыг шийдвэрлэхэд чиглэгддэг.

Тиймээс, хэрэв та автоматжуулалтад суралцахыг хүсч байвал хөгжүүлэгч биш байсан ч гэсэн бага зэрэг програмчлалыг эзэмших хэрэгтэй, учир нь таны хөгжлийн энэ үе шатанд. дэд бүтцийн автоматжуулалт DevOps-д энэ ур чадвар шаардлагатай.

Юу хийх вэ? Мэргэжилтний хувьд эрэлт хэрэгцээтэй хэвээр байхын тулд та холбогдох ур чадвар эзэмшсэн байх хэрэгтэй - дор хаяж нэг програмчлалын хэл, жишээ нь Python гэх мэт. Захиргааны ажилд мэргэшсэн хүн зөвхөн хөгжүүлэгч программ гэж боддог байсан тул энэ нь хэцүү санагдаж магадгүй юм. Мэргэжилтэн байх шаардлагагүй, гэхдээ програмчлалын аль нэг хэлний мэдлэг (энэ нь Python, Bash эсвэл бүр байж болно) PowerShell), давуу тал болох нь дамжиггүй.

Програмчилж сурахад нэлээд хугацаа шаардагддаг. Анхааралтай, тэвчээртэй байх нь DevOps багийн гишүүд болон үйлчлүүлэгчидтэй харилцахдаа бүх зүйл дээр үлдэхэд тусална. Өдөрт хагас цаг, нэг цаг ба түүнээс дээш хугацаанд програмчлалын хэл сурах нь таны гол зорилго байх ёстой.

Системийн администраторууд болон DevOps мэргэжилтнүүд ижил төстэй асуудлуудыг шийддэг боловч мэдэгдэхүйц ялгаа байдаг. Системийн администратор нь DevOps инженерийн хийж чадах бүх зүйлийг хийж чадахгүй гэж үздэг. Системийн администратор нь серверийн системийг тохируулах, хадгалах, гүйцэтгэлийг хангахад илүү анхаардаг гэж тэд хэлдэг ч DevOps инженер энэ бүх тэрэг болон өөр нэг жижиг тэрэг татдаг.

Гэхдээ энэ мэдэгдэл хэр үнэн бэ?

Системийн администратор: талбарт нэг дайчин

Энэ нийтлэлд дурдсан ялгаа, ижил төстэй байдлыг үл харгалзан системийн удирдлага болон DevOps хоёрын хооронд мэдэгдэхүйц ялгаа байхгүй гэдэгт би итгэдэг. Системийн администраторууд үргэлж DevOps-ийн мэргэжилтнүүдтэй ижил үүрэг гүйцэтгэдэг байсан бөгөөд үүнийг өмнө нь хэн ч DevOps гэж нэрлэж байгаагүй юм. Ялангуяа ямар нэгэн ажилтай холбоогүй бол ялгааг тусгайлан хайх нь утгагүй гэдэгт би итгэдэг. Системийн администратороос ялгаатай нь DevOps бол албан тушаал биш, харин үзэл баримтлал гэдгийг битгий мартаарай.

Өөр нэг чухал зүйлийг тэмдэглэх нь зүйтэй бөгөөд үүнгүйгээр удирдлага болон DevOps-ийн талаархи яриа бүрэн бус байх болно. Системийн удирдлага нь ердийн утгаараа мэргэжилтэн нь тодорхой ур чадвартай бөгөөд янз бүрийн дэд бүтцийн үйлчилгээнд чиглэгддэг гэж үздэг. Энэ нь бүх нийтийн ажилтан гэсэн утгаараа биш, харин бүх администраторуудын гүйцэтгэдэг хэд хэдэн үүрэг даалгавар байдаг.

Жишээлбэл, тэд үе үе нэг төрлийн техникийн гар урч, өөрөөр хэлбэл бүх зүйлийг хийх хэрэгтэй болдог. Хэрэв бүхэл бүтэн байгууллагад ийм администратор нэг л байвал тэр ерөнхийдөө бүх техникийн ажлыг гүйцэтгэх болно. Энэ нь принтер, хувилагчийн засвар үйлчилгээ хийхээс эхлээд чиглүүлэгч, шилжүүлэгчийг тохируулах, удирдах, галт ханыг тохируулах гэх мэт сүлжээтэй холбоотой ажлуудыг гүйцэтгэх хүртэл юу ч байж болно.

Тэрээр мөн техник хангамжийн шинэчлэл, бүртгэлийн шалгалт, дүн шинжилгээ, аюулгүй байдлын аудит, серверийн засвар, алдааг олж засварлах, үндсэн шалтгааны шинжилгээ, автоматжуулалтыг ихэвчлэн PowerShell, Python, эсвэл Bash скриптээр дамжуулан хариуцах болно. Хэрэглэх нэг жишээ хувилбарууд нь хэрэглэгчийн болон бүлгийн дансны удирдлага юм. Хэрэглэгчийн бүртгэл үүсгэх, зөвшөөрөл олгох нь маш уйтгартай ажил бөгөөд хэрэглэгчид бараг өдөр бүр гарч ирэн алга болдог. Скриптээр дамжуулан автоматжуулалт нь администраторын ажиллаж байгаа компанийн ашигт байдалд нөлөөлдөг унтраалга, сервер болон бусад төслүүдийг шинэчлэх зэрэг дэд бүтцийн илүү чухал ажлуудыг хийх цагийг чөлөөлдөг (хэдийгээр мэдээллийн технологийн хэлтэс шууд орлого олдоггүй гэж ерөнхийд нь хүлээн зөвшөөрдөг).

Системийн администраторын үүрэг бол цагийг дэмий үрэхгүй, компанийн мөнгийг ямар ч аргаар хэмнэх явдал юм. Заримдаа системийн администраторууд жишээлбэл, Linux, Windows, мэдээллийн сан, хадгалалт гэх мэт администраторуудыг нэгтгэдэг томоохон багийн гишүүд болж ажилладаг. Ажлын хуваарь ч өөр өөр байдаг. Жишээлбэл, өдрийн төгсгөлд нэг цагийн бүсэд шилжих нь үйл явц зогсохгүйн тулд хэргийг өөр цагийн бүсийн дараагийн ээлж рүү шилжүүлдэг (нарны дараа); эсвэл ажилчид өглөөний 9 цагаас оройн 5 цаг хүртэл ердийн ажлын өдөртэй байх; эсвэл XNUMX/XNUMX дата төвд ажиллаж байна.

Цаг хугацаа өнгөрөхөд системийн администраторууд стратегийн талаар бодож, чухал асуудлуудыг ердийн ажлуудтай хослуулж сурсан. Тэдний ажиллаж буй баг, хэлтэс нь ихэвчлэн нөөц хомс байдаг, гэхдээ тэр үед хүн бүр өдөр тутмын ажлаа бүрэн дүүрэн биелүүлэхийг хичээдэг.

DevOps: хөгжүүлэлт ба засвар үйлчилгээ

DevOps нь хөгжүүлэлт, засвар үйлчилгээний үйл явцын нэгэн төрлийн философи юм. Мэдээллийн технологийн ертөнцөд энэ хандлага үнэхээр шинэлэг болсон.

DevOps-ийн дээвэр дор нэг талд програм хангамж хөгжүүлэх баг, нөгөө талд засвар үйлчилгээний баг байдаг. Тэдэнтэй ихэвчлэн бүтээгдэхүүний менежментийн мэргэжилтнүүд, тестерүүд, хэрэглэгчийн интерфейсийн дизайнерууд нэгддэг. Эдгээр мэргэжилтнүүд хамтдаа компанийг бүхэлд нь дэмжиж, үр ашгийг дээшлүүлэхийн тулд шинэ програмууд болон кодын шинэчлэлтүүдийг хурдан гаргахын тулд үйл ажиллагааг оновчтой болгодог.

DevOps нь програм хангамжийг амьдралынхаа туршид хөгжүүлэх, ажиллуулах хяналт дээр суурилдаг. Засвар үйлчилгээ үзүүлж буй хүмүүс хөгжүүлэгчдийг дэмжих ёстой бөгөөд хөгжүүлэгчид системд ашигладаг API-аас илүү ойлголттой байх үүрэгтэй. Тэд бүрээсний доор юу байгааг (өөрөөр хэлбэл техник хангамж болон үйлдлийн систем хэрхэн ажилладаг) ойлгох хэрэгтэй бөгөөд ингэснээр тэд алдаануудыг илүү сайн зохицуулж, асуудлыг шийдэж, үйлчилгээний техникчидтэй харилцах боломжтой болно.

Системийн администраторууд хамгийн сүүлийн үеийн технологид суралцах хүсэлтэй, шинэлэг санаа, шийдлүүдэд нээлттэй бол DevOps багт шилжиж болно. Өмнө нь хэлсэнчлэн тэд бүрэн хэмжээний програмист болох албагүй ч Ruby, Python эсвэл Go зэрэг програмчлалын хэлийг эзэмшсэнээр багийн маш хэрэгтэй гишүүд болоход тусална. Хэдийгээр системийн администраторууд уламжлал ёсоор бүх ажлыг өөрсдөө хийдэг бөгөөд ихэнхдээ ганцаардмал хүмүүс гэж ойлгогддог ч DevOps-д тэд үйл явцын бүх хүмүүс бие биетэйгээ харьцдаг тэс өөр туршлагатай байдаг.

Автоматжуулалтын сэдэв улам бүр хамааралтай болж байна. Системийн администраторууд болон DevOps-ийн мэргэжилтнүүд хоёулаа хурдан масштаблах, алдааг багасгах, одоо байгаа алдааг хурдан олж засварлах сонирхолтой байдаг. Тиймээс автоматжуулалт гэдэг нь хоёр чиглэлийг нэгтгэдэг ойлголт юм. Системийн администраторууд нь AWS, Azure, Google Cloud Platform зэрэг үүлэн үйлчилгээг хариуцдаг. Тэд тасралтгүй нэгтгэх, хүргэх зарчмууд болон зэрэг хэрэгслийг хэрхэн ашиглах талаар ойлгох ёстой Jenkins.

Нэмж дурдахад системийн администраторууд тохиргоо, удирдлагын хэрэгслийг ашиглах ёстой Алгасах, арав, хорин серверийг зэрэгцүүлэн байрлуулахад шаардлагатай.

Гол ойлголт нь код болгон дэд бүтэц. Програм хангамж бол бүх зүйл юм. Үнэн хэрэгтээ системийн администраторын мэргэжил ач холбогдлоо алдахгүйн тулд та онцлон тэмдэглэгээг бага зэрэг өөрчлөх хэрэгтэй. Системийн администраторууд үйлчилгээний бизнес эрхэлдэг бөгөөд хөгжүүлэгчидтэй үр дүнтэй харилцах чадвартай байх ёстой ба эсрэгээр. Тэдний хэлснээр нэг толгой сайн, харин хоёр нь дээр.

Мөн энэ механизмын хамгийн сүүлийн нарийн ширийн зүйл бол явах. Git-тэй ажиллах нь системийн администраторын өдөр тутмын уламжлалт үүргүүдийн нэг юм. Энэхүү хувилбарын хяналтын системийг хөгжүүлэгчид, DevOps-ийн мэргэжилтнүүд, Agile багууд болон бусад олон хүмүүс өргөн ашигладаг. Хэрэв таны ажил програм хангамжийн амьдралын мөчлөгтэй холбоотой бол та Git-тэй ажиллах нь гарцаагүй.

Git нь маш олон боломжуудтай. Та Git-ийн бүх командыг хэзээ ч сурахгүй байх, гэхдээ энэ нь яагаад програм хангамжийн харилцаа холбоо, хамтын ажиллагаанд гол зүйл болдгийг ойлгох болно. Хэрэв та DevOps багт ажиллаж байгаа бол Git-ийн талаар нарийн мэдлэгтэй байх нь маш чухал юм.

Хэрэв та системийн администратор бол Git-г илүү сайн судалж, хувилбарын удирдлага хэрхэн бүтээгдсэнийг ойлгож, нийтлэг тушаалуудыг санах хэрэгтэй. git статус, git commit -m, git add, git pull, git push, git rebase, git салбар, git diff мөн бусад. Энэ сэдвийг эхнээс нь сурч, тодорхой ур чадвартай мэргэжилтэн болоход тань туслах олон онлайн курс, ном байдаг. Гайхалтай бас байдаг Git командын тусламжтайгаар хуудаснуудыг хуурах, тиймээс та бүгдийг нь шахах шаардлагагүй, гэхдээ та Git-г хэдий чинээ их ашиглах тусам хялбар байх болно.

дүгнэлт

Эцсийн эцэст та DevOps-ийн мэргэжилтэн болох эсэх, системийн администратор хэвээр байх нь дээр эсэхээ шийднэ. Таны харж байгаагаар шилжилтийг хийхэд суралцах муруй байдаг, гэхдээ та хэдий чинээ эрт эхлэх тусам сайн. Програмчлалын хэлээ сонгоод зэрэг хэрэглүүрийг сур явах (хувилбарын хяналт), Jenkins (CI/CD, тасралтгүй нэгтгэх) ба Алгасах (тохиргоо ба автоматжуулалт). Ямар ч сонголтыг сонгосон бай та байнга суралцаж, ур чадвараа дээшлүүлэх хэрэгтэй гэдгийг бүү мартаарай.

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

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