• DevOps

Преодоляване на предизвикателствата в управляваната DevOps: изчерпателно ръководство

  • Felix Rose-Collins
  • 8 min read

Въведение

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

Разликата в реалността при очакванията за управляван DevOps

Един от най-големите проблеми, с които се сблъсквам, когато консултирам клиенти, е разминаването между очакванията и реалността. Много организации се впускат в управлението на DevOps с нереалистични срокове и очаквания.

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

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

  2. Пропуски в уменията на екипа: Техните разработчици имаха минимален опит с контейнеризацията, инфраструктурата като код или CI/CD практиките.

  3. Организационна съпротива: Средното ръководство се съпротивляваше на промяната на установените процеси.

Поставяне на реалистични очаквания

За да избегнем подобни разочарования, сега съветвам клиентите си да:

  • Извършете задълбочена оценка: Преди да подпишете договор с който и да е доставчик на управляван DevOps, направете подробен анализ на текущото си състояние, включително техническия дълг, пропуските в уменията и организационната готовност.

  • Създайте план за поетапно изпълнение: Разделете прехода на 30, 60 и 90-дневни етапи с ясни и измерими цели.

  • Предвидете средства за кривата на обучението: Очаквайте 20-30% намалена производителност по време на първоначалния преход, докато екипите се адаптират към новите инструменти и процеси.

Мой клиент от сферата на здравеопазването използва този поетапен подход и постигна много по-плавен преход. Започнахме с прост CI конвейер за некритично вътрешно приложение, след което постепенно разширихме обхвата на по-сложни системи, докато екипът изграждаше увереност и компетентност.

Културна съпротива: Тихият убиец на DevOps

Според моя опит техническите предизвикателства на управляваната DevOps рядко са най-трудните за решаване. Истинските пречки обикновено са човешки и организационни.

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

Разработчиците възприемаха новите CI/CD тръбопроводи като "ограничаващи креативността им", докато операторите виждаха автоматизираните разгръщания като "рисковани преки пътища", които ще създадат проблеми, които ще трябва да решат. Нито една от двете групи не е била включена по подходящ начин в процеса на вземане на решения.

Изграждане на култура на DevOps, която се запазва

Ето какво всъщност работи, за да преодолеем тази съпротива:

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

  • Демонстрирайте ранни победи: Установихме бързи резултати, които бяха от полза и за двете групи - разработчиците получиха по-бърза обратна връзка за своя код, а операторите - по-малко среднощни спешни повиквания.

  • Осигурете практическо обучение: Вместо теоретично обучение, ние използвахме реални производствени проблеми като възможности за обучение за съвместно решаване на проблеми.

  • Отбелязвайте публично успеха: Създадохме табло за управление "победа при внедряване", което проследява успешните внедрявания, намалените инциденти и спестеното време.

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

Предизвикателства при интегрирането на сигурността в бързо движещи се тръбопроводи

Сигурността продължава да бъде една от най-проблемните области в управляваните внедрявания на DevOps. Не мога да преброя колко пъти съм виждал организации да приемат бързи цикли на доставка само за да създадат нови уязвимости в сигурността.

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

Практическа интеграция на DevSecOps

Въз основа на няколко успешни интеграции в областта на сигурността, които съм реализирал, ето какво работи:

  • Преместване на сигурността наляво: Интегрирайте автоматизирано сканиране за сигурност на всеки етап от процеса, като започнете с приставки за IDE, които предупреждават разработчиците за проблеми още преди да са предали кода.

  • Автоматизиране на проверката за съответствие: За регулираните индустрии въведете автоматизирани проверки за съответствие, които валидират конфигурациите спрямо изискваните стандарти, преди да разрешите внедряването.

  • Внедряване на сигурността като код: Разглеждайте конфигурациите и политиките за сигурност като код, който живее заедно с кода на приложението, следвайки същите процеси на преглед и тестване.

  • Създайте шампиони по сигурността: Определете и обучете членове на екипа, които да действат като защитници на сигурността в рамките на своите екипи, като въвеждат осведомеността за сигурността в ежедневните дейности по разработване.

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

Техническият дълг: пречка пред внедряването на DevOps

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

Компания за финансови услуги, с която работих, се бореше месеци наред да интегрира наследените си мейнфрейм системи в новите си CI/CD тръбопроводи. Системите не разполагаха с подходящи API интерфейси, имаха минимално автоматизирано тестване и разчитаха на племенните знания на няколко старши инженери, които бяха пред пенсия.

Стратегическо справяне с техническия дълг

Вместо да прилагаме подход "всичко или нищо", ето стратегията, която приложихме:

  • Направете карта на имота си: Каталогизирайте всички приложения и инфраструктурни компоненти, като оценявате готовността на всеки от тях за DevOps с помощта на проста система "червено/жълто/зелено".

  • Създаване на граници на интеграция: За наследените системи, които не могат лесно да бъдат модернизирани, създайте чисти интерфейси и API слоеве, които позволяват на по-новите системи да взаимодействат с тях.

  • Определете стратегически приоритети: Фокусирайте първоначалните усилия на DevOps върху системи с висока бизнес стойност и по-ниска сложност, при които можете бързо да демонстрирате успех.

  • Разпределете времето за намаляване на дълга: Отделете 20% от капацитета на спринта специално за намаляване на техническия дълг, като първо се съсредоточите върху елементите с най-голямо въздействие.

Използвайки този подход, компанията за финансови услуги успешно въведе 60% от портфолиото си от приложения в съвременните практики на DevOps в рамките на една година, като същевременно създаде устойчив план за останалите наследени системи.

Разрастване на инструментите и сложност на интеграцията

Друго често срещано предизвикателство, което съм наблюдавал, е разпространението на DevOps инструменти, които не работят добре заедно. Един клиент в областта на телекомуникациите беше натрупал 14 различни инструмента за своя CI/CD конвейер, мониторинг, сканиране на сигурността и управление на инфраструктурата - повечето от които изискваха ръчно прехвърляне между системите.

Укротяване на веригата от инструменти DevOps

Въз основа на успешни консолидации на вериги от инструменти, които съм ръководил, ето какво работи:

  • Приоритизиране на възможностите за интеграция: Когато избирате инструменти, дайте предимство на тези със стабилни API и предварително изградени интеграции със съществуващия набор от инструменти.

  • Прилагане на платформен подход: Обмислете платформи за DevOps, които предоставят множество възможности в интегриран пакет, вместо да събирате най-добрите решения.

  • Автоматизиране на тестването на веригата от инструменти: Създайте автоматизирани тестове за самата верига от инструменти DevOps, за да гарантирате, че интеграциите продължават да работят при актуализиране на инструментите.

  • Документиране на работните потоци от край до край: Създаване на ясна визуална документация, показваща как работата преминава през цялата верига от инструменти, като се идентифицират ръчните действия, които могат да бъдат автоматизирани.

След като консолидира веригата си от инструменти до пет добре интегрирани инструмента, клиентът ми в областта на телекомуникациите съкрати времето за внедряване със 70 % и премахна многобройните ръчни стъпки между системите, които могат да доведат до грешки.

Предизвикателства при мащабирането в корпоративните среди

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

Успешно мащабиране на DevOps

Ето какъв е подходът, който в крайна сметка проработи:

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

  • Прилагане на практики, свързани с вътрешните ресурси: Насърчавайте екипите да споделят кода за автоматизация, конфигурациите и най-добрите практики чрез вътрешни хранилища с ясни насоки за принос.

  • Стандартизирайте разумно: Определете кои аспекти на процеса DevOps трябва да бъдат стандартизирани за всички екипи (изисквания за сигурност, одобрения за внедряване) и къде екипите трябва да имат гъвкавост (избор на рамки за тестване, вътрешни работни процеси).

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

След прилагането на тези практики здравната организация успешно разшири своите DevOps практики до всички 24 екипа за приложения в рамките на 18 месеца, като същевременно поддържаше последователни стандарти за качество и сигурност.

Управление и оптимизация на разходите

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

Контролиране на разходите без ограничаване на иновациите

Ето какво работи с моите клиенти:

  • Прилагане на маркиране и обратно показване: Изисквайте цялата инфраструктура да бъде маркирана с екип, приложение и среда, за да се проследят разходите и да се информират екипите за техните разходи.

  • Създаване на автоматизирано управление на разходите: Създайте автоматизирани политики, които откриват и предупреждават за аномалии в разходите или налагат изключване на непроизводствени ресурси в извънработно време.

  • Включете оптимизацията на разходите в проекта: Интегрирайте инструменти за анализ на инфраструктурните разходи директно в CI/CD конвейерите, за да идентифицирате неефективни конфигурации преди внедряване.

  • Създайте шампиони по разходите: Подобно на шампионите по сигурността, определете членове на екипа, които да отговарят за осведомеността и оптимизацията на разходите в своите екипи.

След прилагането на тези практики клиентът ми от сектора на търговията на дребно намали разходите си за облачни услуги с 40 %, като същевременно продължи да увеличава честотата на внедряване и производителността на приложенията си.

Заключение: Осъществяване на Managed DevOps в реални организации

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

Запознайте се с Ranktracker

Универсалната платформа за ефективна SEO оптимизация

Зад всеки успешен бизнес стои силна SEO кампания. Но с безбройните инструменти и техники за оптимизация, от които можете да избирате, може да е трудно да разберете откъде да започнете. Е, не се страхувайте повече, защото имам точно това, което ще ви помогне. Представяме ви платформата Ranktracker "всичко в едно" за ефективна SEO оптимизация

Най-накрая отворихме регистрацията за Ranktracker напълно безплатно!

Създаване на безплатен акаунт

Или влезте в системата, като използвате данните си

Най-успешните управлявани внедрявания на DevOps, в които съм участвал, имат общи характеристики:

  • Ясно съответствие между целите на DevOps и бизнес целите

  • Спонсорство от страна на изпълнителната власт, съчетано с ентусиазъм на обикновените хора

  • Реалистични срокове, които отчитат кривата на организационното обучение

  • Балансиран фокус върху хората, процесите и технологиите

  • Готовност за адаптиране въз основа на обратна връзка и измерени резултати

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

Felix Rose-Collins

Felix Rose-Collins

Ranktracker's CEO/CMO & Co-founder

Felix Rose-Collins is the Co-founder and CEO/CMO of Ranktracker. With over 15 years of SEO experience, he has single-handedly scaled the Ranktracker site to over 500,000 monthly visits, with 390,000 of these stemming from organic searches each month.

Започнете да използвате Ranktracker... безплатно!

Разберете какво възпрепятства класирането на уебсайта ви.

Създаване на безплатен акаунт

Или влезте в системата, като използвате данните си

Different views of Ranktracker app