Амьдралд өнөөдрөөс илүү суралцах цаг гэж үгүй.
Энэ бол 2019 он бөгөөд DevOps нь урьд өмнөхөөсөө илүү хамааралтай болсон. Мэнфрэймийн эрин үе шиг системийн админуудын үе өнгөрсөн гэж тэд ярьдаг. Гэхдээ энэ үнэхээр тийм гэж үү?
Мэдээллийн технологийн салбарт байнга тохиолддог шиг нөхцөл байдал өөрчлөгдсөн. DevOps арга зүй бий болсон ч системийн администраторын ур чадвартай хүнгүйгээр өөрөөр хэлбэл Opsгүйгээр оршин тогтнох боломжгүй.
DevOps арга орчин үеийн хэлбэрээ олж авахаас өмнө би өөрийгөө Ops гэж ангилсан. Системийн администратор өөрийгөө хичнээн их зүйлийг хийж чадахгүй, үүнийг сурахад хичнээн бага хугацаа зарцуулж байгаагаа ухаарах үед юу мэдэрдгийг би сайн мэднэ.
Гэхдээ энэ үнэхээр аймшигтай гэж үү? Мэдлэг дутмаг гэдгийг ямар нэг том асуудал гэж ойлгож болохгүй гэж хэлмээр байна. Энэ нь илүү мэргэжлийн сорилт юм.
Вэб хэмжээний бүтээгдэхүүнүүд нь Линукс эсвэл бусад нээлттэй эхийн программ хангамж дээр суурилдаг бөгөөд зах зээл дээр тэдгээрийг хадгалах чадвартай хүмүүс улам бүр цөөрсөөр байна. Эрэлт нь энэ чиглэлээр мэргэшсэн мэргэжилтнүүдийн тооноос аль хэдийн давсан. Системийн администратор ур чадвараа дээшлүүлэхгүйгээр зүгээр л үргэлжлүүлэн ажиллах боломжгүй болно. Тэрээр олон сервер/зангилаа удирдах автоматжуулалтын ур чадвартай байх ёстой бөгөөд үүссэн асуудлыг шийдвэрлэхийн тулд тэд хэрхэн ажилладаг талаар сайн ойлголттой байх ёстой.
DevOps багийн гишүүн болохын өмнө та DevOps стандартын дагуу системийг хадгалахад шаардлагатай шинэ технологи, янз бүрийн хэрэгслүүдийг сурч, нэлээд урт боловч сонирхолтой аялал хийх хэрэгтэй.
Тэгэхээр системийн администратор ажилдаа ердийн арга барилаас DevOps-ийн шинэ үзэл баримтлал руу хэрхэн шилжих вэ? Бүх зүйл ердийнх шигээ: эхлээд та бодлоо өөрчлөх хэрэгтэй. Сүүлийн арав, хорин жил баримталж ирсэн арга барилаасаа татгалзаж, өөр зүйл хийж эхлэх нь тийм ч амар биш ч зайлшгүй шаардлагатай.
Юуны өмнө DevOps бол компанид тодорхой албан тушаал биш, харин тодорхой туршлагын багц гэдгийг ойлгох нь чухал. Эдгээр практик нь тусгаарлагдсан системийг түгээх, алдаа, алдаанаас үүсэх хор хөнөөлийг бууруулах, програм хангамжийг ойр ойрхон, цаг тухайд нь шинэчлэх, хөгжүүлэгчид (Хөгжүүлэгч) болон администраторууд (Ops) хоорондын сайн харилцаа холбоо, зөвхөн кодыг төдийгүй байнгын туршилтыг шаарддаг. мөн үйл явц дахь бүх бүтэц
Сэтгэн бодох арга барилаа өөрчлөхийн зэрэгцээ дэд бүтцийг хэрхэн хадгалах, түүний тогтвортой ажиллагаа, найдвартай байдал, хүртээмжтэй байдлыг хангах, програм, үйлчилгээ, програм хангамжийг тасралтгүй нэгтгэх, хүргэх талаар суралцах хэрэгтэй.
Үйл ажиллагааны мэргэжилтнүүдийн хувьд танд дутагдаж байгаа зүйл бол програмчлалын ур чадвар юм. Одоо системийн администраторууд сервер дээр засваруудыг автоматаар суулгах, файл, бүртгэлийг удирдах, асуудлыг шийдвэрлэх, баримт бичгийг бүрдүүлэхэд ашигладаг скрипт (скрипт) бичих нь аль хэдийн хуучирсан гэж тооцогддог. Скрипт бичих нь харьцангуй энгийн тохиолдлуудад хамааралтай хэвээр байгаа ч DevOps нь хэрэгжүүлэх, турших, бүтээх, байршуулах гэх мэт томоохон хэмжээний асуудлуудыг шийдвэрлэхэд чиглэгддэг.
Тиймээс, хэрэв та автоматжуулалтад суралцахыг хүсч байвал хөгжүүлэгч биш байсан ч гэсэн бага зэрэг програмчлалыг эзэмших хэрэгтэй, учир нь таны хөгжлийн энэ үе шатанд.
Юу хийх вэ? Мэргэжилтний хувьд эрэлт хэрэгцээтэй хэвээр байхын тулд та холбогдох ур чадвар эзэмшсэн байх хэрэгтэй - дор хаяж нэг програмчлалын хэл, жишээ нь Python гэх мэт. Захиргааны ажилд мэргэшсэн хүн зөвхөн хөгжүүлэгч программ гэж боддог байсан тул энэ нь хэцүү санагдаж магадгүй юм. Мэргэжилтэн байх шаардлагагүй, гэхдээ програмчлалын аль нэг хэлний мэдлэг (энэ нь Python, Bash эсвэл бүр байж болно)
Програмчилж сурахад нэлээд хугацаа шаардагддаг. Анхааралтай, тэвчээртэй байх нь DevOps багийн гишүүд болон үйлчлүүлэгчидтэй харилцахдаа бүх зүйл дээр үлдэхэд тусална. Өдөрт хагас цаг, нэг цаг ба түүнээс дээш хугацаанд програмчлалын хэл сурах нь таны гол зорилго байх ёстой.
Системийн администраторууд болон DevOps мэргэжилтнүүд ижил төстэй асуудлуудыг шийддэг боловч мэдэгдэхүйц ялгаа байдаг. Системийн администратор нь DevOps инженерийн хийж чадах бүх зүйлийг хийж чадахгүй гэж үздэг. Системийн администратор нь серверийн системийг тохируулах, хадгалах, гүйцэтгэлийг хангахад илүү анхаардаг гэж тэд хэлдэг ч DevOps инженер энэ бүх тэрэг болон өөр нэг жижиг тэрэг татдаг.
Гэхдээ энэ мэдэгдэл хэр үнэн бэ?
Системийн администратор: талбарт нэг дайчин
Энэ нийтлэлд дурдсан ялгаа, ижил төстэй байдлыг үл харгалзан системийн удирдлага болон DevOps хоёрын хооронд мэдэгдэхүйц ялгаа байхгүй гэдэгт би итгэдэг. Системийн администраторууд үргэлж DevOps-ийн мэргэжилтнүүдтэй ижил үүрэг гүйцэтгэдэг байсан бөгөөд үүнийг өмнө нь хэн ч DevOps гэж нэрлэж байгаагүй юм. Ялангуяа ямар нэгэн ажилтай холбоогүй бол ялгааг тусгайлан хайх нь утгагүй гэдэгт би итгэдэг. Системийн администратороос ялгаатай нь DevOps бол албан тушаал биш, харин үзэл баримтлал гэдгийг битгий мартаарай.
Өөр нэг чухал зүйлийг тэмдэглэх нь зүйтэй бөгөөд үүнгүйгээр удирдлага болон DevOps-ийн талаархи яриа бүрэн бус байх болно. Системийн удирдлага нь ердийн утгаараа мэргэжилтэн нь тодорхой ур чадвартай бөгөөд янз бүрийн дэд бүтцийн үйлчилгээнд чиглэгддэг гэж үздэг. Энэ нь бүх нийтийн ажилтан гэсэн утгаараа биш, харин бүх администраторуудын гүйцэтгэдэг хэд хэдэн үүрэг даалгавар байдаг.
Жишээлбэл, тэд үе үе нэг төрлийн техникийн гар урч, өөрөөр хэлбэл бүх зүйлийг хийх хэрэгтэй болдог. Хэрэв бүхэл бүтэн байгууллагад ийм администратор нэг л байвал тэр ерөнхийдөө бүх техникийн ажлыг гүйцэтгэх болно. Энэ нь принтер, хувилагчийн засвар үйлчилгээ хийхээс эхлээд чиглүүлэгч, шилжүүлэгчийг тохируулах, удирдах, галт ханыг тохируулах гэх мэт сүлжээтэй холбоотой ажлуудыг гүйцэтгэх хүртэл юу ч байж болно.
Тэрээр мөн техник хангамжийн шинэчлэл, бүртгэлийн шалгалт, дүн шинжилгээ, аюулгүй байдлын аудит, серверийн засвар, алдааг олж засварлах, үндсэн шалтгааны шинжилгээ, автоматжуулалтыг ихэвчлэн PowerShell, Python, эсвэл Bash скриптээр дамжуулан хариуцах болно. Хэрэглэх нэг жишээ
Системийн администраторын үүрэг бол цагийг дэмий үрэхгүй, компанийн мөнгийг ямар ч аргаар хэмнэх явдал юм. Заримдаа системийн администраторууд жишээлбэл, Linux, Windows, мэдээллийн сан, хадгалалт гэх мэт администраторуудыг нэгтгэдэг томоохон багийн гишүүд болж ажилладаг. Ажлын хуваарь ч өөр өөр байдаг. Жишээлбэл, өдрийн төгсгөлд нэг цагийн бүсэд шилжих нь үйл явц зогсохгүйн тулд хэргийг өөр цагийн бүсийн дараагийн ээлж рүү шилжүүлдэг (нарны дараа); эсвэл ажилчид өглөөний 9 цагаас оройн 5 цаг хүртэл ердийн ажлын өдөртэй байх; эсвэл XNUMX/XNUMX дата төвд ажиллаж байна.
Цаг хугацаа өнгөрөхөд системийн администраторууд стратегийн талаар бодож, чухал асуудлуудыг ердийн ажлуудтай хослуулж сурсан. Тэдний ажиллаж буй баг, хэлтэс нь ихэвчлэн нөөц хомс байдаг, гэхдээ тэр үед хүн бүр өдөр тутмын ажлаа бүрэн дүүрэн биелүүлэхийг хичээдэг.
DevOps: хөгжүүлэлт ба засвар үйлчилгээ
DevOps-ийн дээвэр дор нэг талд програм хангамж хөгжүүлэх баг, нөгөө талд засвар үйлчилгээний баг байдаг. Тэдэнтэй ихэвчлэн бүтээгдэхүүний менежментийн мэргэжилтнүүд, тестерүүд, хэрэглэгчийн интерфейсийн дизайнерууд нэгддэг. Эдгээр мэргэжилтнүүд хамтдаа компанийг бүхэлд нь дэмжиж, үр ашгийг дээшлүүлэхийн тулд шинэ програмууд болон кодын шинэчлэлтүүдийг хурдан гаргахын тулд үйл ажиллагааг оновчтой болгодог.
DevOps нь програм хангамжийг амьдралынхаа туршид хөгжүүлэх, ажиллуулах хяналт дээр суурилдаг. Засвар үйлчилгээ үзүүлж буй хүмүүс хөгжүүлэгчдийг дэмжих ёстой бөгөөд хөгжүүлэгчид системд ашигладаг API-аас илүү ойлголттой байх үүрэгтэй. Тэд бүрээсний доор юу байгааг (өөрөөр хэлбэл техник хангамж болон үйлдлийн систем хэрхэн ажилладаг) ойлгох хэрэгтэй бөгөөд ингэснээр тэд алдаануудыг илүү сайн зохицуулж, асуудлыг шийдэж, үйлчилгээний техникчидтэй харилцах боломжтой болно.
Системийн администраторууд хамгийн сүүлийн үеийн технологид суралцах хүсэлтэй, шинэлэг санаа, шийдлүүдэд нээлттэй бол DevOps багт шилжиж болно. Өмнө нь хэлсэнчлэн тэд бүрэн хэмжээний програмист болох албагүй ч Ruby, Python эсвэл Go зэрэг програмчлалын хэлийг эзэмшсэнээр багийн маш хэрэгтэй гишүүд болоход тусална. Хэдийгээр системийн администраторууд уламжлал ёсоор бүх ажлыг өөрсдөө хийдэг бөгөөд ихэнхдээ ганцаардмал хүмүүс гэж ойлгогддог ч DevOps-д тэд үйл явцын бүх хүмүүс бие биетэйгээ харьцдаг тэс өөр туршлагатай байдаг.
Автоматжуулалтын сэдэв улам бүр хамааралтай болж байна. Системийн администраторууд болон DevOps-ийн мэргэжилтнүүд хоёулаа хурдан масштаблах, алдааг багасгах, одоо байгаа алдааг хурдан олж засварлах сонирхолтой байдаг. Тиймээс автоматжуулалт гэдэг нь хоёр чиглэлийг нэгтгэдэг ойлголт юм. Системийн администраторууд нь AWS, Azure, Google Cloud Platform зэрэг үүлэн үйлчилгээг хариуцдаг. Тэд тасралтгүй нэгтгэх, хүргэх зарчмууд болон зэрэг хэрэгслийг хэрхэн ашиглах талаар ойлгох ёстой
Нэмж дурдахад системийн администраторууд тохиргоо, удирдлагын хэрэгслийг ашиглах ёстой
Гол ойлголт нь
Мөн энэ механизмын хамгийн сүүлийн нарийн ширийн зүйл бол
Git нь маш олон боломжуудтай. Та Git-ийн бүх командыг хэзээ ч сурахгүй байх, гэхдээ энэ нь яагаад програм хангамжийн харилцаа холбоо, хамтын ажиллагаанд гол зүйл болдгийг ойлгох болно. Хэрэв та DevOps багт ажиллаж байгаа бол Git-ийн талаар нарийн мэдлэгтэй байх нь маш чухал юм.
Хэрэв та системийн администратор бол Git-г илүү сайн судалж, хувилбарын удирдлага хэрхэн бүтээгдсэнийг ойлгож, нийтлэг тушаалуудыг санах хэрэгтэй. git статус, git commit -m, git add, git pull, git push, git rebase, git салбар, git diff мөн бусад. Энэ сэдвийг эхнээс нь сурч, тодорхой ур чадвартай мэргэжилтэн болоход тань туслах олон онлайн курс, ном байдаг. Гайхалтай бас байдаг
дүгнэлт
Эцсийн эцэст та DevOps-ийн мэргэжилтэн болох эсэх, системийн администратор хэвээр байх нь дээр эсэхээ шийднэ. Таны харж байгаагаар шилжилтийг хийхэд суралцах муруй байдаг, гэхдээ та хэдий чинээ эрт эхлэх тусам сайн. Програмчлалын хэлээ сонгоод зэрэг хэрэглүүрийг сур
Эх сурвалж: www.habr.com