DevOps методологиясы деген эмне жана ал кимге керек

Келгиле, методологиянын маңызы эмнеде жана ал кимге пайда алып келерин аныктап көрөлү.

Биз DevOps адистери жөнүндө да сүйлөшөбүз: алардын милдеттери, эмгек акылары жана көндүмдөрү.

DevOps методологиясы деген эмне жана ал кимге керек
Сүрөт Мэтт Мур /Flickr/CC BY-SA

DevOps деген эмне

DevOps - программалык камсыздоону иштеп чыгуу методологиясы, анын милдети компаниядагы программисттер менен системалык администраторлордун ортосундагы өз ара аракеттенүүнү орнотуу. Эгерде ар башка бөлүмдөрдүн IT адистери бири-биринин тапшырмаларын түшүнбөсө, алар үчүн жаңы тиркемелерди жана жаңыртууларды чыгаруу кечеңдеп жатат.

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

Бул бөлүмдөрдүн ортосундагы өз ара аракеттенүүнү жакшыртат. Кызматкерлер программалык продукт колдонуучунун колуна түшкөнгө чейин кандай этаптардан өтөөрүн жакшыраак түшүнө башташат.

Иштеп чыгуучу администратор серверди орнотууда эмнеге туш болгонун түшүнгөндө, ал коддогу мүмкүн болгон "курч бурчтарды" текшилөөгө аракет кылат. Бул колдонмону жайылтууда мүчүлүштүктөрдүн санын азайтат - статистикага ылайык, ал азаят болжол менен беш жолу.

Методология кимге керек жана керек эмес

көп IT адистери ишенетDevOps программалык камсыздоону иштеп чыккан бардык уюмга пайда алып келет. Бул компания IT кызматтарынын жөнөкөй керектөөчүсү болуп саналса жана өзүнүн тиркемелерин иштеп чыкпаса да чындык. Бул учурда, DevOps маданиятын ишке ашыруу инновацияга көңүл бурууга жардам берет.

чыгаруу чейин стартаптар, бирок бул жерде баары долбоордун масштабына жараша болот. Эгерде сиздин максатыңыз жаңы идеяны сынап көрүү үчүн минималдуу жашоого жөндөмдүү продуктту (MVP) чыгаруу болсо, анда сиз DevOpsсуз иштей аласыз. Мисалы, Groupon негиздөөчүсү кызматтын үстүндө кол менен иштей баштаган жайгаштырылган сайтында бардык сунуштар жана чогултулган буйруктар. Ал эч кандай автоматташтыруу куралдарын колдонгон эмес.

Тиркеме популярдуулукка ээ боло баштаганда гана автоматташтыруу методологиясын жана куралдарын ишке ашыруунун мааниси бар. Бул бизнес процесстерин тартипке келтирүүгө жана жаңыртууларды чыгарууну тездетүүгө жардам берет.

DevOps кантип ишке ашыруу керек

Төмөндө жаңы методологияга өтүү боюнча бир нече сунуштар бар.

Бизнес процесстериндеги көйгөйлөрдү аныктоо. Методологияны ишке ашыруудан мурун уюмдун максаттарын жана көйгөйлөрүн белгилеңиз. DevOpsке өтүү стратегиясы аларга жараша болот. Бул үчүн, суроолордун тизмесин түзүңүз, мисалы:

  • Программаны жаңыртууда эң көп убакыт эмнеге кетет?
  • Бул процессти автоматташтыруу мүмкүнбү?
  • Буга уюмдун структурасы таасир этеби?

Уюмдагы көйгөйлөрдү аныктоо жөнүндө көбүрөөк билүү китептерден окуса болот «"Феникс" долбоору"Ал эми"DevOps колдонмосу» методикасынын авторлорунан.

Компаниядагы маданиятты өзгөртүңүз. Бардык кызматкерлерди адаттагыдай иштөө ыкмаларын өзгөртүүгө жана алардын компетенцияларынын спектрин кеңейтүүгө ишендирүү маанилүү. Мисалы, 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 операциялык системаларын башкаруу тажрыйбасына жана автоматташтыруу куралдары менен иштөө тажрыйбасына ээ болушу керек. башкуурчакAnsible. Ал ошондой эле бир нече тилде скрипттерди жана коддорду жазып, тармактык технологияларды түшүнө алышы керек.

DevOps инженери тиркемелерди конфигурациялоого жана жайылтууга байланышкан милдеттерди автоматташтыруу үчүн жооптуу. Программалык камсыздоонун мониторинги да анын ийнине түшөт. Бул көйгөйлөрдү чечүү үчүн ал ар кандай конфигурацияларды башкаруу системаларын, виртуалдаштыруу чечимдерин жана ресурстарды теңдөө үчүн булут куралдарын колдонот.

Ким жумушка алат

DevOps инженерлери тиркемелерди иштеп чыккан же көп сандагы серверлерди башкарган ар кандай уюмга пайда көрө алышат. DevOps инженерлери жумушка алып жатышат Amazon, Adobe жана Facebook сыяктуу IT гиганттары. Алар ошондой эле Netflix, Walmart жана Etsyде иштешет.

Жалдоо эмес DevOps инженерлери стартаптар гана. Алардын милдети - жаңы идеяны сынап көрүү үчүн минималдуу жашоого жөндөмдүү продуктуну чыгаруу. Көпчүлүк учурларда, стартаптар DevOps жок кыла алат.

Канча төлөйт

DevOps инженерлери иштеп табуу тармактагы бардык адамдардан көбүрөөк. Мындай адистердин орточо кирешеси дүйнө жүзү боюнча жылына 100дөн 125 миң долларга чейин жетет.

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

Ал эми Россия, москвалык ишканалар даяр DevOps адистерине айына 100дөн 200 миң рублга чейин төлөө. Санкт-Петербургда иш берүүчүлөр бир аз берешен - алар айына 160-360 миң рублдан сунушташат. Аймактарда эмгек акы айына 100-120 миң рублди түзөт.

Кантип DevOps адиси болууга болот

DevOps IT тармагындагы салыштырмалуу жаңы багыт, ошондуктан DevOps инженерлери үчүн талаптардын белгиленген тизмеси жок. Бош орундарда, бул кызматка коюлган талаптардын арасында сиз Debian жана CentOS башкаруу жөндөмдөрүн жана дисктер менен иштөө жөндөмүн таба аласыз. RAID массивдери.

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

DevOps инженери болуунун эң оңой жолу системалык администратор же иштеп чыгуучу болот. Алар буга чейин эле иштеп чыгуу керек болгон бир катар көндүмдөрдү бар. Негизги милдет - DevOps боюнча минималдуу билим топтомун өркүндөтүү, автоматташтыруу куралдары менен кантип иштөөнү түшүнүү жана башкаруу, программалоо жана виртуалдаштыруу көндүмдөрүндөгү боштуктарды толтуруу.

билим дагы эле жетишпей жатканын түшүнүү үчүн, колдоно аласыз GitHub боюнча мини-Википедия же менталдык карта. Hacker News резиденттери да сунуш кылуу китеп окуу ""Феникс" долбоору"Ал эми"DevOps колдонмосу"(жогоруда айтылган) жана"DevOps философиясы. IT башкаруу искусствосу» О'Рейли Медиасынын маркасы астында.

Сиз да жазылсаңыз болот Devops жумалык маалымат бюллетени, актуалдуу макалаларды окуу DZone порталы жана DevOps инженерлери менен байланыша баштаңыз Слак чат. Ошондой эле акысыз курстарды карап чыгуу керек Udacity же EDX.

Биздин блогдон билдирүүлөр:



Source: www.habr.com

Комментарий кошуу