Ինչ է 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-ի ինժեների հնարքն այն է, որ նա համատեղում է բազմաթիվ մասնագիտություններ՝ ադմինիստրատոր, մշակող, փորձարկող և մենեջեր։

Ջո Սանչես, DevOps-ի ավետարանիչ VMware-ում, վիրտուալացման ծրագրային ապահովման ընկերություն, առանձնացրեց մի շարք հմտություններ, որոնք պետք է ունենա DevOps-ի ինժեները: Ի լրումն DevOps մեթոդաբանության ակնհայտ գիտելիքների, այս անձը պետք է ունենա Windows և Linux օպերացիոն համակարգերի կառավարման փորձ և աշխատելու փորձ ավտոմատացման գործիքների հետ, ինչպիսիք են. ChefՏիկնիկՀղիություն. Նա նաև պետք է կարողանա գրել սցենարներ և ծածկագրեր մի քանի լեզուներով և հասկանալ ցանցային տեխնոլոգիաները:

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-ում կամ մտավոր քարտեզ. Hacker News-ի բնակիչները նույնպես Խորհուրդ տալ կարդալ գրքեր»«Փյունիկ» նախագիծ"Եւ"DevOps ուղեցույց«(որը մենք նշեցինք վերևում) և «DevOps փիլիսոփայություն. ՏՏ կառավարման արվեստը» O'Reilly Media-ի կնիքի տակ:

Կարող եք նաև բաժանորդագրվել Devops Weekly տեղեկագիր, կարդացեք թեմատիկ հոդվածներ պորտալ DZone և սկսեք շփվել DevOps-ի ինժեներների հետ Անփույթ զրույց. Արժե նաև ստուգել անվճար դասընթացները Udacity կամ EDX.

Գրառումներ մեր բլոգից.



Source: www.habr.com

Добавить комментарий