DevOps әдістемесі дегеніміз не және ол кімге қажет

Әдістеменің мәні неде және оның кімге пайдасы бар екенін анықтайық.

Біз сондай-ақ DevOps мамандары туралы сөйлесетін боламыз: олардың міндеттері, жалақылары және дағдылары.

DevOps әдістемесі дегеніміз не және ол кімге қажет
фото Мэтт Мур /Flickr/CC BY-SA

DevOps дегеніміз не

DevOps - бұл бағдарламалық жасақтаманы әзірлеу әдістемесі, оның міндеті компаниядағы бағдарламашылар мен жүйелік әкімшілер арасындағы өзара әрекеттестік орнату. Егер әртүрлі бөлімдердің IT мамандары бір-бірінің міндеттерін түсінбесе, олар үшін жаңа қосымшалар мен жаңартуларды шығару кешіктіріледі.

DevOps «үздіксіз» әзірлеу циклін жасайды, осылайша бағдарламалық өнімді шығаруды жылдамдатуға көмектеседі. Жеделдетуге автоматтандыру жүйелерін енгізу арқылы қол жеткізіледі. Сонымен қатар, бағдарламашылар серверлерді орнатуға және қателерді табуға қатыса бастайды, мысалы, олар автоматтандырылған сынақтарды жаза алады.

Бұл бөлімдер арасындағы өзара әрекеттесуді жақсартады. Қызметкерлер бағдарламалық өнім пайдаланушының қолына түскенге дейін қандай кезеңдерден өтетінін жақсы түсіне бастайды.

Әзірлеуші ​​серверді орнату кезінде әкімші немен бетпе-бет келетінін түсінгенде, ол кодтағы ықтимал «өткір бұрыштарды» тегістеуге тырысады. Бұл қолданбаны орналастыру кезінде қателердің санын азайтады - статистикаға сәйкес, ол азаяды шамамен бес рет.

Әдістеме кімге керек және қажет емес

Көптеген адамдар IT мамандары сенедіDevOps бағдарламалық жасақтаманы әзірлейтін кез келген ұйымға пайда әкеледі. Бұл компания АТ-қызметтердің қарапайым тұтынушысы болса да және өз қосымшаларын әзірлемесе де дұрыс. Бұл жағдайда DevOps мәдениетін енгізу инновацияға назар аударуға көмектеседі.

Ерекшелігі есепке алу стартаптар, бірақ мұнда бәрі жобаның ауқымына байланысты. Егер сіздің мақсатыңыз жаңа идеяны сынау үшін ең аз өміршең өнімді (MVP) шығару болса, онда сіз DevOpsсыз жасай аласыз. Мысалы, Groupon негізін қалаушы сервисте қолмен жұмыс істей бастады орналастырылған веб-сайттағы барлық ұсыныстар және жиналған тапсырыстар. Ол ешқандай автоматтандыру құралдарын пайдаланбаған.

Қолданба танымал бола бастағанда ғана автоматтандыру әдістемесі мен құралдарын енгізу мағынасы бар. Бұл бизнес-процестерді жеңілдетуге және жаңартуларды шығаруды тездетуге көмектеседі.

DevOps-ті қалай енгізу керек

Төменде жаңа әдістемеге көшу бойынша кейбір ұсыныстар берілген.

Бизнес-процестердің проблемаларын анықтау. Әдістемені енгізбес бұрын ұйымның мақсаттары мен мәселелерін бөліп көрсетіңіз. DevOps-қа өту стратегиясы оларға байланысты болады. Ол үшін сұрақтар тізімін жасаңыз, мысалы:

  • Бағдарламалық құралды жаңарту кезінде ең көп уақыт нені алады?
  • Бұл процесті автоматтандыру мүмкін бе?
  • Ұйымның құрылымы бұған әсер ете ме?

Ұйымдағы мәселелерді анықтау туралы көбірек біліңіз кітаптардан оқуға болады ««Феникс» жобасы«Ал»DevOps нұсқаулығы» әдістемесі авторларынан.

Компаниядағы мәдениетті өзгертіңіз. Барлық қызметкерлерді әдеттегі жұмыс тәсілдерін өзгертуге және олардың құзыреттілік ауқымын кеңейтуге сендіру маңызды. Мысалы, Facebook-та барлық бағдарламашылар жауап қолданбаның бүкіл өмірлік циклі үшін: кодтаудан іске асыруға дейін. Сондай-ақ, Facebook-те жеке тестілеу бөлімі жоқ - сынақтарды әзірлеушілер өздері жазады.

Кішкентай бастаңыз. Жаңартуларды шығару кезінде ең көп уақыт пен күш жұмсалатын процесті таңдаңыз және оны автоматтандырыңыз. Бұл мүмкін тестілеу немесе қолданбаны орналастыру процесі. Сарапшылар кеңес береді Бірінші қадам таратылған нұсқаны басқару құралдарын енгізу болып табылады. Олар көздерді басқаруды жеңілдетеді. Мұндай шешімдердің ішінде ең танымалдары - Git, Mercurial, Subversion (SVN) және CVS.

Сондай-ақ соңғы өнімді жинауға және сынауға жауапты үздіксіз интеграциялық жүйелерге назар аударған жөн. Мұндай құралдардың мысалдары: Дженкинс, 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 сияқты IT алыптары. Олар сонымен қатар 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 апталық ақпараттық бюллетень, өзекті мақалаларды оқу DZone порталы және DevOps инженерлерімен байланысуды бастаңыз Бос чат. Сондай-ақ тегін курстарды тексерген жөн Әдептілік немесе edX.

Біздің блогтағы жазбалар:



Ақпарат көзі: www.habr.com

пікір қалдыру