1. Управление на бизнесОперации Какво е DevOps?

От Емили Фрийман

Какво е DevOps? Трудно е да ви предоставим точно DevOps рецепта - защото няма такава. DevOps е философия, която ръководи разработката на софтуер, тази, която дава приоритет на хората над процеса и процеса над инструменталното оборудване. DevOps изгражда култура на доверие, сътрудничество и непрекъснато усъвършенстване.

DevOps цикъл

Като култура, философията на DevOps разглежда процеса на разработка по холистичен начин, като взема предвид всички участващи: разработчици, тестери, операционни хора, инженери по сигурността и инфраструктурата. DevOps не поставя никоя от тези групи над останалите, нито оценява важността на тяхната работа. Вместо това, компания DevOps третира целия екип инженери като критично необходим за гарантиране, че клиентът има възможно най-доброто изживяване.

DevOps еволюира от Agile

През 2001 г. 17 софтуерни инженери се срещнаха и публикуваха „Манифест за Agile Software Development“, в който бяха изложени 12-те принципа за управление на проекти на Agile. Този нов работен процес беше отговор на безсилието и гъвкавостта на екипите, работещи във водопад (линеен) процес.

Работейки по принципите на Agile, от инженерите не се изисква да се придържат към първоначалните изисквания или да следват линеен работен процес на развитие, в който всеки екип предава работа на следващия. Вместо това те са способни да се адаптират към непрекъснато променящите се нужди на бизнеса или пазара, а понякога дори и на променящата се технология и инструменти.

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

През 2008 г. Андрю Клей Шафер разговаря с Патрик Дебойс за неудовлетвореността си от постоянния конфликт между разработчиците и оперативните хора. Заедно те стартираха първото събитие на DevOpsDays в Белгия, за да създадат по-добър и по-гъвкав начин за подход към разработването на софтуер. Тази еволюция на Agile се възползва и DevOps оттогава позволява на компаниите по целия свят да произвеждат по-добър софтуер по-бързо (и обикновено по-евтин). DevOps не е прищявка. Това е широко приета инженерна философия.

DevOps се фокусира върху хората

Всеки, който каже, че DevOps е свързан с инструментариум, иска да ви продаде нещо. Преди всичко DevOps е философия, която се фокусира върху инженерите и как те могат по-добре да работят заедно за производството на страхотен софтуер. Бихте могли да харчите милиони за всеки инструмент на DevOps в света и все още да не сте по-близо до DevOps nirvana.

Вместо това се съсредоточете върху най-важния си инженерен актив: инженери. Щастливите инженери правят страхотен софтуер. Как правите щастливи инженери? Е, вие създавате работна среда за съвместна работа, в която взаимното уважение, споделените знания и признанието за упорит труд могат да процъфтяват.

Фирмената култура е основата на DevOps

Вашата компания има култура, дори ако е оставена да се развива по инерция. Тази култура има по-голямо влияние върху вашата удовлетвореност от работата, производителността и скоростта на екипа, отколкото вероятно осъзнавате.

Фирмената култура се описва най-добре като неизказаните очаквания, поведение и ценности на една организация. Културата е това, което казва на вашите служители дали фирменото ръководство е отворено за нови идеи. Това е, което информира за решението на служителя дали да излезе с проблем или да го помете под килима.

Културата е нещо, което трябва да бъде проектирано и усъвършенствано, а не нещо, което да се остави на случайността. Въпреки че действителното определение варира от компания до компания и от човек на човек, DevOps е културен подход към инженерството в основата му.

Токсичната фирмена култура ще убие вашето пътуване DevOps, преди то дори да започне. Дори ако вашият инженерен екип възприема DevOps мислене, нагласите и предизвикателствата на по-голямата компания ще изтекат във вашата среда.

С DevOps избягвате да обвинявате, нараствате доверието и се фокусирате върху клиента. Ти даваш на инженерите си самостоятелност и им даваш право да правят това, което правят най-добре: инженерни решения. Когато започнете да внедрявате DevOps, вие давате на инженерите си време и пространство, за да се адаптират към него, което им дава възможност да се опознаят по-добре и да изграждат връзка с инженери с различни специалности.

Освен това измервате напредъка и възнаграждавате постиженията. Никога не обвинявайте хората за неуспехи. Вместо това екипът трябва непрекъснато да се усъвършенства заедно, а постиженията трябва да се празнуват и възнаграждават.

Учите, като наблюдавате процеса си и събирате данни

Наблюдението на работния процес без очаквания е мощна техника, която да използвате, за да видите реалистично успехите и предизвикателствата на вашия работен процес. Това наблюдение е единственият начин да намерите правилното решение на областите и проблемите, които създават затруднения във вашите процеси.

Точно както при софтуера, избиването на някои Kubernetes (или друг нов инструмент) по проблем не е задължително да го поправи. Трябва да знаете къде са проблемите, преди да започнете да ги отстранявате. Докато продължавате, вие събирате данни - не за измерване на успех или неуспех, а за проследяване на представянето на екипа. Вие определяте какво работи, кое не работи и какво да опитате следващия път.

Убеждаването е от ключово значение за приемането на DevOps

Продаването на идеята за DevOps на вашите лидери, връстници и служители не е лесно. Процесът не винаги е интуитивен и за инженерите. Не трябва ли чудесна идея просто да се продава? Само ако беше толкова лесно. Въпреки това, ключова концепция, която винаги трябва да имате предвид, когато прилагате DevOps, е, че тя набляга на хората.

той така наречените „меки умения“ за комуникация и сътрудничество са централни за трансформацията ви в DevOps. Убеждаването на други хора от вашия екип и във вашата компания да приемат DevOps изисква практикуване на добри комуникационни умения. Ранните разговори, които провеждате с колегите си за DevOps, могат да ви накарат да постигнете успех по пътя - особено когато ударите неочакван удар.

Малките постепенни промени са безценни в DevOps

Аспектът на DevOps, който акцентира върху извършването на промени по малки, постепенни начини, има корени в постното производство, което обхваща ускорена обратна връзка, непрекъснато подобрение и по-бързо време за пускане на пазара.

Водата е добра метафора за трансформациите на DevOps. Водата е един от най-мощните елементи в света. Освен ако хората не наблюдават наводненията пред тях, те смятат това за сравнително безобидно. Река Колорадо издълба Гранд Каньон. Бавно, в продължение на милиони години, водата прорязва камък, за да открие почти два милиарда години почва и скали.

Можете да бъдете като вода. Бъдете бавна, безмилостна промяна във вашата организация. Ето онзи известен цитат от интервю на Брус Лий, който да ви вдъхнови:

Бъдете безформени, безформени, като вода. Сега слагате вода в чаша, тя става чашата. Слагате вода в бутилка, тя става бутилката. Слагате го в чайник, той става чайникът. Сега водата може да тече или може да се срине. Бъди вода, приятелю.

Правенето на постепенни промени означава например, че откривате проблем и го коригирате. След това поправяте следващия. Не взимаш прекалено бързо и не избираш всяка битка. Разбирате, че някои битки не струват енергията или социалния капитал, които могат да ви струват.

В крайна сметка DevOps не е списък от стъпки, които можете да предприемете, а е по-скоро подход, който трябва да ръководи решенията, които вземате, докато разработвате.