
Технологии и инструменти, които DevOps инженерът трябва да усвои.
DevOps — възходящ тренд в ИТ, популярността и търсенето на професията постепенно нараства. Наскоро в GeekBrains беше открит , в който се подготвят специалисти с подходяща квалификация. Между другото, професията DevOps често се бърка със сродни — програмиране, системно администриране и т.н.
За да изясним какво точно е DevOps и за какво са необходими представителите на тази професия, разговаряхме с Николай Бутенко, архитект . Той участва в разработването на курса на факултета по DevOps и в същото време преподава на студенти в третия семестър.
Какво всъщност трябва да знае и умее добрия DevOps?
Тук е по-добре веднага да кажем какво не трябва да може. Съществува мит, че представителят на тази професия е човек-оркестър, който може да напише отличен код, след това да го тества, а в свободното си време да ходи и да поправя принтерите на колегите. Възможно е също така да помага в склада и да замества бариста.
За да знаем какво трябва да умее специалистът по DevOps, нека се върнем към определението на самия термин. DevOps — това е оптимизиране на времето от разработката на продукта до пускането му на пазара. Съответно, специалистът оптимизира процеса между разработката и експлоатацията, говори на техния език и изгражда ефективен пайплайн.
Какво трябва да знае и умее? Ето какво е важно:
- Необходими са добри умения за комуникация, тъй като е необходимо да се взаимодействат с няколко отдела в рамките на една компания.
- Аналитично структурно мислене, за да се гледа на процесите от високо и да се разбере как да се оптимизират.
- Трябва самостоятелно да разбира всички процеси на разработка и експлоатация. Само тогава те могат да бъдат оптимизирани.
- Необходими са и отлични умения за планиране, анализ и проектиране за създаване на унифициран производствен процес.
Всички представители на DevOps ли са еднакви или има разлики вътре в специалността?
В последно време се появиха няколко направления в рамките на една и съща специалност. Но в общи линии, в понятието DevOps основно са включени три направления: SRE (администратор), Developer (разработчик), Manager (отговаря за взаимодействието с бизнеса). DevOps специалистът разбира нуждите на бизнеса и организира ефективна работа между всички, създавайки унифициран процес.
Той също така добре разбира всички процеси на цикъла на разработка на продукта, архитектурата, разбира информационната безопасност на ниво, достатъчно за оценка на рисковете. Освен това, DevOps специалистите познават и разбират подходите и средствата за автоматизация, както и подкрепата преди и след релиза на програми и услуги. Основната задача на DevOps е да вижда цялата система като едно цяло и да управлява процесите, които допринасят за развитието на тази система.

За съжаление, както в Русия, така и в чужбина работодателите не винаги разбират същността на DevOps. Преглеждайки публикуваните обяви за работа, може да се отбележи, че когато обявяват позиция DevOps, компаниите търсят или системни администратори, или администратори на Kubernetes, или изобщо тестери. Особено отчетливо се вижда разнообразието от знания и умения в обявите за DevOps на HH.ru и LinkedIn.
Важно е да се отбележи, че DevOps не е просто специалност, а по-скоро методология за отношение към инфраструктурата като към код. В резултат на внедряването на методологията всички участници в екипа за разработка виждат и разбират не само своята част от работата, а и получават представа за работата на цялата система.
Как DevOps може да помогне на компанията, в която работи?
Една от най-важните метрики за бизнеса е Time-to-Market (TTM). Това е времето за излизане на пазара, тоест периодът, в който се осъществява преходът от идеята за създаване на продукт до внедряването на продукта на пазара. TTM е особено важен за онези индустрии, където продуктите бързо остаряват.
С помощта на DevOps редица известни търговци на дребно в Русия и чужбина започнаха да развиват нови направления. Тези компании масово преминават онлайн, напълно или частично се отказват от офлайн места. В тези условия е необходима бърза разработка на приложения и услуги, което е невъзможно без използването на инструменти за DevOps.

В крайна сметка, на някои търговци успяха да ускорят процеса на извеждане на необходимите за приложенията и услугите буквално за един ден. А това е най-важният фактор за конкурентоспособността в условията на съвременния пазар.
Кой може да стане DevOps?
Разбира се, тук ще е по-лесно на представителите на техническите специалности: програмисти, тестери, системни администратори. Този, който идва в тази сфера без съответно образование, трябва да бъде готов да учи основите на програмирането, тестването, управлението на процесите и системното администриране. И едва след като всичко това е усвоено, може да се премине към изучаване на DevOps концепцията като цялост.
За да разберете по-добре концепцията и да получите представа за необходимите знания и умения, си струва да прочетете "Ръководството по DevOps", да изучите "Проект Феникс", както и методологията . Още една отлична книга — .
Най-добре DevOps се получава на хора, които притежават аналитично мислене и са в състояние да използват системен подход. Трудно е да се каже колко време ще отнеме на начинаещ да стане отличен DevOps. Тук всичко зависи от началната база, както и от обстановката и задачите, които трябва да се решават, плюс от мащаба на компанията. Сред компаниите, на които са необходими DevOps, има много технологични гиганти: Amazon, Netflix, Adobe, Etsy, Facebook и Walmart.
В заключение можем да кажем, че повече от половината обяви за работа в търсене на DevOps всъщност са предназначени за опитни системни администратори. Въпреки това, нуждата от DevOps постепенно нараства и в момента много грамотни специалисти от този профил са недостатъчни.
За да станете такъв специалист, е необходимо да изучавате нови технологии, инструменти, да използвате системен подход в хода на работата и грамотно да прилагате автоматизация. Без нея е много трудно, ако изобщо е възможно, да организирате DevOps по подходящ начин.
Източник: habr.com
