Эмне үчүн системалык администраторлор DevOps инженери болушу керек?

Эмне үчүн системалык администраторлор DevOps инженери болушу керек?

Жашоодо үйрөнүүгө азыркыдан жакшы убакыт жок.


Бул 2019-жыл жана DevOps болуп көрбөгөндөй актуалдуу. Мейнфреймдин доору сыяктуу системалык администраторлордун заманы бүттү дешет. Бирок бул чын эле ушундайбы?
Көбүнчө IT чөйрөсүндө болуп өткөндөй, абал өзгөрдү. DevOps методологиясы пайда болду, бирок ал системалык администраторлук жөндөмү бар адамсыз, башкача айтканда, Опсуз жашай албайт.

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

Эмне үчүн системалык администраторлор DevOps инженери болушу керек?

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

Веб-масштабдуу өнүмдөр Linux же башка ачык булак программалык камсыздоосуна негизделген жана рынокто аларды кармап турууга жөндөмдүү адамдар барган сайын азайып баратат. Суроо-талап бул тармактагы адистердин санына чейин эле ашып кетти. Системалык администратор мындан ары өзүнүн квалификация деңгээлин жогорулатпастан жөн гана ишин уланта албайт. Ал бир нече серверлерди/түйүндөрдү башкаруу үчүн автоматташтыруу жөндөмүнө ээ болушу керек жана пайда болгон көйгөйлөрдү чечүү үчүн алардын кантип иштешин жакшы түшүнүшү керек.

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

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

Биринчиден, DevOps бул компаниядагы белгилүү бир позиция эмес, конкреттүү практикалардын жыйындысы экенин түшүнүү керек. Бул практикалар обочолонгон системаларды бөлүштүрүүнү, мүчүлүштүктөрдүн жана каталардын зыянын азайтуу, программалык камсыздоону тез-тез жана өз убагында жаңыртуу, иштеп чыгуучулар (Dev) жана администраторлор (Ops) ортосундагы жакшы жолго коюлган өз ара аракеттенүүнү, ошондой эле кодду гана эмес, туруктуу тестирлөөнү билдирет. ошондой эле процесстин ичиндеги бүт структура үзгүлтүксүз интеграция жана жеткирүү (CI/CD).

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

Ops адиси катары сизге жетишпеген нерсе - бул программалоо жөндөмү. Азыр системалык администраторлор серверге тактарды автоматтык түрдө орнотуу, файлдарды жана эсептерди башкаруу, көйгөйлөрдү чечүү жана документтерди түзүү үчүн колдонгон скрипттерди (скрипттерди) жазуу эскирген деп эсептелет. Скрипт дагы деле салыштырмалуу жөнөкөй учурларда колдонулат, бирок DevOps ишке ашыруу, тестирлөө, куруу же жайгаштыруу болобу, масштабдуу маселелерди чечүү жөнүндө.

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

Эмне кылуу керек? Адис катары суроо-талапка ээ болуу үчүн тиешелүү көндүмдөрдү алуу керек - жок дегенде бир программалоо тилин, мисалы Python, өздөштүрүү. Администрацияга профессионалдуу түрдө катышкан адамга бул кыйын сезилиши мүмкүн, анткени ал иштеп чыгуучулар гана программалайт деп ойлогонго көнүп калган. Эксперт болуу зарыл эмес, бирок программалоо тилдеринин бирин билүү (бул Python, Bash же ал тургай болушу мүмкүн) PowerShell), албетте, артыкчылык болот.

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

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

Бирок бул сөздүн канчалык чындыгы бар?

Системалык администратор: талаада бир жоокер

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

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

Мисалы, мезгил-мезгили менен алар кандайдыр бир техникалык уста катары аракет кылышы керек, башкача айтканда, бардыгын түзмө-түз аткарышат. Ал эми бүткүл уюм үчүн бир гана ушундай администратор болсо, анда ал жалпысынан бардык техникалык иштерди аткарат. Бул принтерлерди жана көчүргүчтөрдү тейлөөдөн баштап, роутерлерди жана коммутаторлорду орнотуу жана башкаруу же брандмауэрди конфигурациялоо сыяктуу тармакка байланыштуу тапшырмаларды аткарууга чейинки бардык нерсе болушу мүмкүн.

Ал ошондой эле аппараттык камсыздоону жаңыртуу, журналды текшерүү жана талдоо, коопсуздук аудити, серверди оңдоо, көйгөйлөрдү чечүү, түпкү себептерди талдоо жана автоматташтыруу үчүн жооптуу болот — адатта PowerShell, Python же Bash скрипттери аркылуу. Колдонуунун бир мисалы сценарийлер колдонуучу жана топ эсептерин башкаруу болуп саналат. Колдонуучулардын каттоо эсебин түзүү жана уруксаттарды берүү өтө түйшүктүү иш, анткени колдонуучулар дээрлик күн сайын пайда болуп, жок болуп кетишет. Скрипттер аркылуу автоматташтыруу маанилүү инфраструктуралык тапшырмалар үчүн убакытты бошотот, мисалы, коммутаторлорду жана серверлерди жаңылоо жана администратор иштеген компаниянын кирешелүүлүгүнө таасир этүүчү башка долбоорлор (IT департаменти түздөн-түз киреше алып келбейт деп жалпы кабыл алынган).

Системалык администратордун милдети - убакытты текке кетирбөө жана компаниянын акчасын кандайдыр бир жол менен үнөмдөө. Кээде системалык администраторлор чоң команданын мүчөлөрү катары иштешет, мисалы, Linux, Windows администраторлорун, маалымат базаларын, сактагычты ж.б.у.с. Иш графиктери да ар турдуу. Мисалы, күндүн аягында бир убакыт алкагындагы жылыш процесстер токтоп калбашы үчүн иштерди башка убакыт алкагындагы кийинки нөөмөткө өткөрөт (күндүн артынан); же кызматкерлердин кадимки жумуш күнү саат 9дан 5ге чейин; же XNUMX/XNUMX маалымат борборунда иштеп жатат.

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

DevOps: иштеп чыгуу жана тейлөө

тамтык өнүктүрүү жана колдоо процесстери үчүн философиянын бир түрү болуп саналат. IT дүйнөсүндөгү бул ыкма чындап инновациялык болуп калды.

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

DevOps программалык камсыздоонун бүткүл жашоо цикли боюнча иштеп чыгууну жана иштешин көзөмөлдөөгө негизделген. Техникалык тейлөө кызматкерлери иштеп чыгуучуларды колдоого алышы керек жана иштеп чыгуучуларга системаларда колдонулган API'лерди гана түшүнүү милдети жүктөлгөн. Алар мүчүлүштүктөрдү жакшыраак чечип, көйгөйлөрдү чечип, тейлөө техниктери менен иштеше алышы үчүн капоттун астында эмне бар экенин түшүнүшү керек (б.а. аппараттык камсыздоо жана операциялык системалар кантип иштешет).

Системалык администраторлор акыркы технологияларды үйрөнүүнү кааласа жана инновациялык идеяларга жана чечимдерге ачык болсо, DevOps командасына өтө алышат. Мен айткандай, алар толук кандуу программист болуунун кажети жок, бирок Ruby, Python же Go сыяктуу программалоо тилин өздөштүрүү аларга команданын абдан пайдалуу мүчөсү болууга жардам берет. Системалык администраторлор адаттагыдай эле бардык ишти өздөрү жасаса да, көбүнчө жалгыз адамдар катары кабылданышат, DevOpsто алар таптакыр карама-каршы тажрыйбага ээ, мында процессте бардыгы бири-бири менен иштешет.

Автоматташтыруу темасы барган сайын актуалдуу болуп баратат. Системалык администраторлор да, DevOps адистери да масштабды тез кеңейтүүгө, каталарды азайтууга жана учурдагы каталарды тез таап, оңдоого кызыкдар. Ошентип, автоматташтыруу эки аймакты бириктирген түшүнүк. Системанын администраторлору AWS, Azure жана Google Cloud Platform сыяктуу булут кызматтары үчүн жооптуу. Алар үзгүлтүксүз интеграция жана жеткирүү принциптерин жана сыяктуу куралдарды кантип колдонууну түшүнүшү керек Jenkins.

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

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

Жана бул механизмдин акыркы майда-чүйдөсүнө чейин барып,. Гит менен иштөө - системалык администратордун салттуу күнүмдүк милдеттеринин бири. Бул версияны башкаруу системасы иштеп чыгуучулар, DevOps адистери, Agile командалары жана башка көптөгөн адамдар тарабынан кеңири колдонулат. Эгерде сиздин ишиңиз программалык камсыздоонун жашоо циклине байланыштуу болсо, анда сиз Git менен сөзсүз иштейсиз.

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

Эгер сиз системанын администратору болсоңуз, анда Gitти жакшыраак изилдеп, версияны башкаруу кантип курулганын түшүнүп, жалпы буйруктарды эстеп чыгышыңыз керек: git статусу, git commit -m, git add, git pull, git push, git rebase, git филиалы, git diff жана башкалар. Бул теманы нөлдөн баштап үйрөнүүгө жана белгилүү бир жөндөмгө ээ адис болууга жардам бере турган көптөгөн онлайн курстар жана китептер бар. Кереметтер да бар Git буйруктары менен барактарды алдаңыз, андыктан алардын баарын кысып отуруунун кереги жок, бирок Gitти канчалык көп колдонсоңуз, ошончолук оңой болот.

жыйынтыктоо

Акыр-аягы, сиз DevOps адиси болушуңуз керекпи же системалык администратор бойдон калууңуз жакшыбы деп чечесиз. Көрүнүп тургандай, өтүү үчүн окуу ийри сызыгы бар, бирок канчалык эрте баштасаңыз, ошончолук жакшы. Программалоо тилин тандап, ошол эле учурда сыяктуу куралдарды үйрөнүңүз барып, (версия башкаруу), Jenkins (CI/CD, үзгүлтүксүз интеграция) жана Ansible (конфигурациялоо жана автоматташтыруу). Кандай вариантты тандабаңыз, дайыма үйрөнүп, өз жөндөмүңүздү өркүндөтүп турушуңуз керек экенин унутпаңыз.

Source: www.habr.com

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