„На езика на DevOps ние понякога използваме думата „Кайзен” (от японски – „подобрение”) като метод за непрекъснато усъвършенстване в една организация. „Кайзен” се постига чрез култура на непрекъснато експериментиране и учене през всички дейности в една организация” – Джон Уилис, пионер в DevOps практиките и евангелист за Docker
Софтуерната общност не е напълно единодушна за това какво точно представлява DevOps. Дали това е култура или нова работна позиция? Дали е начин за организиране на разработката или просто начин на мислене?
Във всички случаи не съществува прост отговор или дефиниция на DevOps. По-скоро става въпрос за едно постоянно развиващо се „движение” в областта на софтуерните разработки. Когато специалистите говорят за DevOps, те говорят всъщност за най-често срещаните теми, инструменти и идеи, свързани с това движение.
Родено от необходимостта за подобряване на гъвкавостта на доставката на ИТ услуги, движението DevOps подчертава комуникацията, сътрудничеството и интеграцията между софтуерните разработчици и ИТ операциите (Devеlopment + Operations, оттук – DevOps).
В концепцията на DevOps разработката и ИТ операциите не са разделени, а взаимнозависими, като интеграцията на тези дейности помага на компаниите да произвеждат софтуер и ИТ услуги по-бързо, с чести обновления.
На DevOps може да се гледа като на съчетание от няколко методологии – Agile, Управление на операции (Systems Thinking & Dynamics), Теория на ограниченията, Lean и Управление на ИТ услуги. Чрез дебати в общността тези методологии се обединиха, раждайки философията на DevOps.
Методът Agile проправи пътя към непрекъснатия цикъл на разработка на софтуер. Но този подход не включва ИТ операциите, в резултат на което разработката става непрекъсната, но не и внедряването на софтуера.
При DevOps крос-функционалността, споделените отговорности и доверието са насърчавани. По същество, DevOps разширява целите за непрекъсната разработка на Agile до непрекъсната интеграция и релийзи. За да осигури това, DevOps се стреми да автоматизира процесите на промяна, конфигуриране и релийзи.
DevOps се наложи първоначално при големите доставчици на публични облачни услуги. С модерните приложения, работещи в облака, голяма част от това, което се считаше за инфраструктура, вече е част от кода.
Класически големи доставчици като Google, Amazon и Twitter правят внедрявания няколко пъти на ден. За целта те трябва да са сигурни, че няма да прекъснат функционалности, които вече работят. DevOps помага на тези доставчици да правят чести внедрявания с много нисък процент на неуспех.
Но вече компании от всякакви размери започват да имплементират DevOps практики. Много от тях – стартъпи или по-малки компании – реализират DevOps, без да го наричат по този начин, сочат проучванията.
DevOps набляга не само на сътрудничеството и интеграцията, но и на инструментите за автоматизация в една програмируема и динамична инфраструктура от гледна точка на жизнения цикъл. Контролът на версиите и автоматизирането на кодовете са два от най-впечатляващите инструменти, но има и още много други, вкл. за управление на конфигурацията, тикет системи, мониторинг и доставка на ресурси.
Ползите от DevOps са многобройни и в различни аспекти. Компаниите, които използват този метод, могат да внедряват софтуер 30 пъти по-често от техните конкуренти. Нещо повече, неуспехът при техните внедрявания е много по-малък, според проучванията. Друго предимство е по-бързото възстановяване след сривове.
Най-голямата промяна, която идва с DevOps, е обособяването на един крос-функционален екип, който включва разработчици, QA специалисти, администратори на бази данни, бизнес анализатори, оперативни инженери и т.н. Сътрудничеството между тези различни роли носи много предимства за компаниите.
Ползите от техническа гледна точка са непрекъснати софтуерни услуги, по-малко сложни проблеми за решаване и по-бързо решаване на възникналите проблеми. Що се отнася до бизнес ползите, компаниите, използващи DevOps, могат да доставят по-бързо нови услуги, имат по-стабилна оперативна среда и повече време за генериране на добавена стойност, вместо за поддръжка.
Прилагането на подхода DevOps в работата на софтуерните компании увеличава драстично производителността на техните екипи, показва проучване на Puppet Labs от 2015 г. Резултатите сочат, че DevOps ускорява с до 168 пъти разработката и позволява 30 пъти по-чести внедрявания при 200 пъти по-кратки срокове.
Нещо повече, високо-производителните ИТ организации, приложили DevOps, се сблъскват с 60 пъти по-малко сривове и възстановявания. Провалите са неизбежни, но бързината на откриване и възстановяване на сривовете прави разликата между водещите на пазара и борещите се за оцеляване компании, подчертава изследването.
ИТ мениджърите играят ключова роля във всяка DevOps трансформация. Те свързват стратегическите цели на бизнеса с работата на своите екипи. Мениджърите могат да направят много за подобряване на производителността на екипите, като гарантират, че трудът не се влага напразно и инвестират в развитие на хората.
Любопитен факт от проучването е, че екипите с повече жени имат по-висока колективна интелигентност и постигат по-добри бизнес резултати. Ето защо авторите на доклада от Puppet Labs препоръчват на компаниите да наемат и задържат в екипите си повече жени.
Не на последно място, DevOps предотвратява непродуктивната работа на екипите. Прилагайки DevOps, организациите могат да открият и предотвратят условията за непродуктивност, като насърчават благоприятната работна среда и гарантират, че работата е смислена, а служителите разбират как тяхната работа се свързва със стратегическите цели на компанията.
След пет години фирмите, които все още не са възприели подхода DevOps, няма да бъдат конкурентни на пазара, заявиха от Асоциацията на софтуерните инженери (АСИ). Това задължава българските фирми да бъдат подготвени с най-актуалната технология на софтуерно осигуряване.
За да помогне в този процес, АСИ организира на 30 октомври първата по рода си у нас софтуерна конференция, посветена на DevOps. Събитието ASE DevOps 2015 ще се проведе в СТЦ Интерпред – София с насоченост към няколко групи специалисти: разработчици, QA специалисти, техническите ръководители, директори на софтуерни компании и ИТ отдели.
Всички те ще получат от конференцията ценни знания и споделен опит, които да приложат в своята работа, внедрявайки принципите на DevOps. Организаторите подчертават и възможността на участниците в конференцията да се включат в онлайн чат, за да обменят идеи и да отправят въпроси към лекторите.
Ключов лектор на конференцията е Джон Уилис (John Willis) – пионер в DevOps практиките и технически евангелист за Docker – отворена платформа за създаване, доставка и изпълнение на разпределени приложения. Той се присъединява към Docker, след като през март 2015 г. основаната от него компания SocketPlane беше придобита от Docker.
В София Джон Уилис ще изнесе лекция на тема „Защо DevOps? Едно изследване на историята и текущото състояние на DevOps”, в която ще проследи развитието на DevOps и ще разкаже за някои от най-добрите практики и широко използвани инструменти в процеса на разработка на софтуер.