Search

что такое DevOps и как им пользоваться

что такое DevOps и как им пользоваться: проект изучения — devops
В данной заметке я стараюсь поведать о том, собственно что потребуется ИТ-специалисту, дабы замерзнуть DevOps инженером. Но в начале некоторое количество текстов о для себя, дабы познакомиться ближе. Меня приглашают Василий, трудусь SVP of Infrastructure в одной из маркетинговых фирм, обладаю личным делом и на досуге пишу в личный канал Пьяный DevOps.

С Unix системами я познакомился в дальнем 2005 году, ещё будучи учащимся лицея. О да, те запоминающиеся ночи, проведенные за аппаратом FreeBSD и компиляцией KDE из исходников. К тексту, как раз спасибо данному я и отыскал собственную первую работу, где разрабатывал маленькие планы на QT/C++, промышлял настройкой Cisco, а еще поднимал почтовые сервера. И вот, в конце концов, я попал в геймдев фирму, где и начал собственную карьеру DevOps инженера. Интенсивное взаимодействие создателей и команды эксплуатации погрузили меня в доныне небывалый мир. До сего этапа дорога кода от создателя на продакшн видался мне большой темной пропастью, в которой было нельзя ничего рассмотреть. Но, окунувшись в нее с башкой, я взял в толк, собственно что все не например уж и жутко. Я заметил, как приложения намереваются, как тестируются, как уходят в продакшн, где их лицезреет целый онлайн. Давайте приподнимем пологом потаенны и взглянем, как же замерзнуть удачным DevOps инженером.

Собственно что это DevOps?

DevOps — это уменьшение от Development Operations, и, на самом деле, это не заглавие профессии. Это цивилизация, способ, в случае если угодно. DevOps перемещение появилось в 2008 году и было призвано решить накопившиеся трудности. Довольно большое количество фирм лицезрели делему во взаимодействиях команд разработки и эксплуатации. Создатели считали, собственно что в случае если код запустился у их локально, то нет задач — возможно запускать в продакшн. В случае если все же трудности появлялись, то со стороны команды эксплуатации звучало: «Да это трудности с кодом, пусть создатели разбираются!». По причине такового расклада релизы товаров каждый день затягивались и нередко мучалось качество конечного продукта. Крепко накладывало след ещё и то, собственно что за раз релиз выкатывалось довольно большое количество перемен и было довольно непросто разобраться, собственно что же породило трудности на продакшене.

DevOps был призван решить эти трудности. Он обязан был замерзнуть связывающим звеном меж командой разработки и командой эксплуатации. Символически, в DevOps культуре возможно отметить некоторое количество ролей, которые довольно отлично соотносятся с профессиями:

Build Engineer — человек, отвечающий за сборку кода. Подтягивание зависимостей, анализ инцидентов в коде — это все на тему него.
Release Engineer — отвечает за доставку кода от разработки в продакшн. Какая ветка сходит в испытание, какой билд попадет на продакшн, релиз-инженер увлекается как раз данным.
Automation Engineer — инженер по автоматизации. Автоматизирует все, собственно что движется. А собственно что не движется, двигает и также автоматизирует. Самодействующая сборка при пуше в гит, прогон исследований, деплой на staging, деплой в продакшн — это все его задачки. Главная роль в DevOps раскладе.
В целом возможно отметить ещё некоторое количество ролей. К примеру, Security Engineer, который станет отвечать за прогон security-тестов и исследование уязвимостей в применяемых компонентах. В реальном мире все (или практически все) эти роли по отдельности как правило совмещает иной человек. К примеру, роль билд инженера возможно сдать в руки создателя. Да и автоматизация опции серверов как правило отдается системным админам. А DevOps инженеру остается отработать и заавтоматизировать процесс сборки и доставки кода от создателя в продакшн.

Наименьшие познания, нужные DevOps инженеру

Строго говоря, практически никаких особых притязаний к DevOps учащемуся не предъявляется, но естественно вход в профессию станет гораздо проще, в случае если вы владеете надлежащими способностями:

Senior System Administrator

Или же но бы middle. Мысль в том, собственно что вы обязаны на неплохом уровне понимать в среде, в которой станут трудиться ваши приложения. Как они стартуют (init, systemd), собственно что создавать, в случае если вы зрите оплошность too many open files, применить или же не применить swap. Все это довольно крепко понадобится, когда вы будете запускать настоящие планы.

С чего начать:

Протеките базисный направление по Linux.
Я обучался по веб-сайту lissyara.su, речь здесь идет более о FreeBSD, но, выучив все заметки, выйдет отличнохорошо расширить личный кругозор по нередко применяемом софту.
Самое ключевое во время изучения — с башкой броситься в происходящее. Данному довольно содействуют направленные на определенную тематику форумы и телеграмм-каналы.
Networking — CCNA

Довольно значимая вещица, но на тему это запамятывают почти все создатели. Я считаю, собственно что невозможно строчить онлайн-сервисы, не зная, как трудится сеть. Никто не беседует, собственно что надобно заучивать 7 значений модели OSI, но буквально понадобится аристократия, как трудится IP, TCP/UDP и, естественно, протокол значения приложения — к примеру, HTTP, HTTP/2. Это сбережет для вас кучу нервишек выискивая предпосылки промахи Connection Refused.




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