DevOps аргачлал гэж юу вэ, хэнд хэрэгтэй вэ?

Аргачлалын мөн чанар юу болох, хэнд ашигтай болохыг олж мэдье.

Бид мөн DevOps-ийн мэргэжилтнүүдийн тухай ярих болно: тэдний даалгавар, цалин, ур чадвар.

DevOps аргачлал гэж юу вэ, хэнд хэрэгтэй вэ?
Фото зураг Мэтт Мур /Flickr/CC BY-SA

DevOps гэж юу вэ

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

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

Энэ нь хэлтэс хоорондын харилцааг сайжруулдаг. Програм хангамжийн бүтээгдэхүүн хэрэглэгчийн гарт орохоосоо өмнө ямар үе шат дамждагийг ажилтнууд илүү сайн ойлгож эхэлдэг.

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

Арга зүй хэнд хэрэгтэй, хэрэггүй

Олон Мэдээллийн технологийн мэргэжилтнүүд итгэж байнаDevOps нь програм хангамж хөгжүүлдэг аливаа байгууллагад ашигтай байх болно. Компани нь мэдээллийн технологийн үйлчилгээний энгийн хэрэглэгч бөгөөд өөрийн хэрэглээний программуудыг боловсруулдаггүй байсан ч энэ нь үнэн юм. Энэ тохиолдолд DevOps соёлыг хэрэгжүүлэх нь инновацид анхаарлаа төвлөрүүлэхэд тусална.

Үл хамаарах зүйл Бүтээгдэхүүн стартапууд, гэхдээ энд бүх зүйл төслийн цар хүрээнээс хамаарна. Хэрэв таны зорилго бол шинэ санааг туршиж үзэхийн тулд хамгийн бага амьдрах чадвартай бүтээгдэхүүн (MVP) гаргах юм бол DevOpsгүйгээр хийж болно. Жишээлбэл, Groupon-ийн үүсгэн байгуулагч уг үйлчилгээнд гараар ажиллаж эхэлсэн нийтэлсэн вэбсайт дээрх бүх саналууд болон цуглуулсан захиалга. Тэрээр автоматжуулалтын ямар ч хэрэгсэл ашиглаагүй.

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

DevOps-ийг хэрхэн хэрэгжүүлэх вэ

Шинэ аргачлалд шилжих зарим зөвлөмжийг доор өгөв.

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

  • Програм хангамжийг шинэчлэхэд юу хамгийн их цаг зарцуулдаг вэ?
  • Энэ үйл явцыг автоматжуулах боломжтой юу?
  • Үүнд байгууллагын бүтэц нөлөөлж байна уу?

Байгууллагад тулгарч буй бэрхшээлийг тодорхойлох талаар илүү ихийг олж мэдэх номноос уншиж болно «"Феникс" төсөл"Мөн"DevOps гарын авлага» аргачлалын зохиогчдоос.

Компанийн соёлыг өөрчил. Бүх ажилчдад ердийн ажлын арга барилаа өөрчилж, чадвараа өргөжүүлэхэд итгүүлэх нь чухал юм. Жишээлбэл, Facebook дээр бүх програмистууд хариулах програмын бүх амьдралын мөчлөгийн хувьд: кодлохоос эхлээд хэрэгжүүлэх хүртэл. Мөн Facebook-д туршилтын тусдаа хэлтэс байдаггүй - тестийг хөгжүүлэгчид өөрсдөө бичдэг.

Жижиг зүйлээс эхэл. Шинэчлэлтүүдийг гаргахад хамгийн их цаг хугацаа, хүчин чармайлт шаарддаг процессыг сонгоод автоматжуулна уу. Энэ байж болох юм туршилт эсвэл програмыг байршуулах үйл явц. Мэргэжилтнүүд зөвлөгөө өгөх Эхний алхам бол тархсан хувилбарын хяналтын хэрэгслийг хэрэгжүүлэх явдал юм. Тэд эх сурвалжийг удирдахад хялбар болгодог. Ийм шийдлүүдийн дунд хамгийн алдартай нь Git, Mercurial, Subversion (SVN) болон CVS юм.

Эцсийн бүтээгдэхүүнийг угсрах, турших үүрэгтэй тасралтгүй нэгдсэн системд анхаарлаа хандуулах нь зүйтэй. Ийм хэрэгслүүдийн жишээ: Jenkins, TeamCity, Bamboo.

Сайжруулалтыг үнэлэх. Хэрэгжүүлсэн шийдлүүдийн гүйцэтгэлийн хэмжүүрийг боловсруулж, шалгах хуудас үүсгэх. Хэмжигдэхүүн нь хувилбарын давтамж, програм хангамжийн функцууд дээр ажиллахад зарцуулсан хугацаа, кодын алдааны тоог багтааж болно. Үр дүнг зөвхөн менежерүүдтэй төдийгүй төсөлд оролцсон бусад багийнхантай ярилц. Ямар хэрэгсэл дутуу байгааг асуу. Процессоо илүү оновчтой болгохдоо эдгээр хүсэлтийг анхаарч үзээрэй.

DevOps-ийн шүүмжлэл

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

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

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

DevOps аргачлал гэж юу вэ, хэнд хэрэгтэй вэ?
Фото зураг Эд Иванушкин /Flickr/CC BY-SA

DevOps инженер гэж хэн бэ

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

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

Жо Санчез, виртуалчлалын програм хангамжийн VMware компанийн DevOps-ийн сайн мэдээг түгээгч, онцолсон DevOps инженер байх ёстой хэд хэдэн ур чадвар. Энэ хүн DevOps арга зүйн тодорхой мэдлэгээс гадна Windows болон Linux үйлдлийн системийг удирдах туршлагатай, автоматжуулалтын хэрэгслүүдтэй ажиллаж байсан туршлагатай байх ёстой. даргаТоглоомАлгасах. Тэрээр хэд хэдэн хэлээр скрипт, код бичиж, сүлжээний технологийг ойлгох чадвартай байх ёстой.

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

Хэн ажилд авч байна

DevOps инженерүүд програм хөгжүүлдэг эсвэл олон тооны серверүүдийг удирддаг аливаа байгууллагад ашиг тусаа өгөх боломжтой. DevOps инженерүүд ажилд авч байна Amazon, Adobe, Facebook зэрэг мэдээллийн технологийн аваргууд. Тэд мөн Netflix, Walmart, Etsy дээр ажилладаг.

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

Хэр их цалинтай

DevOps инженерүүд орлого олох салбарын хэнээс ч илүү. Дэлхий даяар ийм мэргэжилтнүүдийн дундаж орлого жилд 100-125 мянган долларын хооронд хэлбэлздэг.

АНУ-д тэд авах Жилд 90 мянган доллар (сард 500 мянган рубль). Канадад тэд төлөх Жилд 122 мянган доллар (сард 670 мянган рубль), Их Британид жилд 67,5 мянган фунт стерлинг (сард 490 мянган рубль) байна.

Орос, Москвагийн компаниудын хувьд бэлэн DevOps мэргэжилтнүүдэд сард 100-200 мянган рубль төлнө. Санкт-Петербургт ажил олгогчид бага зэрэг өгөөмөр байдаг - тэд сард 160-360 мянган рубль санал болгодог. Бүс нутгуудад цалингийн хэмжээг сард 100-120 мянган рубль гэж үздэг.

Хэрхэн DevOps мэргэжилтэн болох вэ

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

Үүн дээр үндэслэн бид юуны түрүүнд DevOps инженер техникийн хэтийн төлөв сайтай байх ёстой гэж дүгнэж болно. Ийм хүн шинэ хэрэгсэл, технологид байнга суралцах нь чухал юм.

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

Мэдлэг хаана дутагдаж байгааг ойлгохын тулд та ашиглаж болно GitHub дээрх мини-Википедиа буюу сэтгэцийн газрын зураг. Хакерын мэдээний оршин суугчид мөн зөвлөж байна ном унших ""Феникс" төсөл"Мөн"DevOps гарын авлага"(бидний дээр дурдсан) ба"DevOps философи. Мэдээллийн технологийн менежментийн урлаг» O'Reilly Media-ийн тамга дор.

Та мөн бүртгүүлэх боломжтой Devops долоо хоног тутмын мэдээллийн товхимол, сэдэвчилсэн нийтлэлүүдийг уншина уу DZone портал болон DevOps инженерүүдтэй холбогдож эхлээрэй Сул чат. Мөн үнэгүй сургалтуудыг үзэх нь зүйтэй Уурхай буюу edX.

Манай блогийн нийтлэлүүд:



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

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