5 базових книжок про DevOps для початківців та досвідчених спеціалістів

Від редакції: у рубриці DOU Books спеціалісти розповідають про 5 своїх улюблених книжок — ті, які змінюють світогляд та корисні читачам-колегам.

[Про автора: Володимир Щербінін — голова київського офісу компанії Tradecloud, яка займається розробкою supply chain платформи. За понад 20 років кар’єри розвивався в різних напрямках: від портування GNU ПЗ на комерційні Unix-платформи й керування центром мережевих операцій до впровадження практик DevOps (з 2015 року) та SRE (з 2019 року)].

Усі книжки в підбірці систематизували моє особисте розуміння, чим є та чим не є DevOps, і будуть корисні для тих, хто тільки починає впроваджувати практики DevOps або вже їх запровадив і хоче пересвідчитися, що рухається в правильному напрямі.

The Phoenix Project by Gene Kim, et al.

Російською — Джин Кин «„Феникс“. Роман о том, как DevOps меняет бизнес к лучшему»

The Phoenix Project — це вигадана історія з управління ІТ (байка, що, втім, дуже схожа на правду). Тут здебільшого гіперболічно зображені принципи й люди, з якими ви стикаєтеся в бізнесі. Описані сценарії, справді, дуже реалістичні: компанії, що не в змозі прислухатися до голосу замовника; перенапруження людей, що працюють на великих проєктах і не бачать всьому цьому кінця-краю; локальні герої навколо; нерозуміння бізнес-вимог, вимог безпеки, вимог на аудит; неефективні процеси, що додають годин, днів і місяців до часу; відчай і розчарування з усіх боків; відкрита ворожнеча не лише між ІТ та бізнесом, а й «громадянська війна» в самому IT.

Усі ці проблеми реалістичні; з ними, без сумніву, стикається більшість з нас. The Phoenix Project пропонує цілу низку простих, ефективних і дієвих інструментів та підходів (як у рамках DevOps-практик, так і в рамках здорового глузду). Загалом ця книжка має бути настільною для всіх, хто працює у сфері інформаційних технологій. Я вирішив швидесенько прочитати її в літаку, коли летів у відпустку. Хє-хє, відпустка була майже зруйнована, але я зрозумів дуже багато фундаментальних і вельми простих речей, що раніше були для мене лише словами.

The DevOps Handbook by Gene Kim, et al.

Російською — Джин Кин «Руководство по DevOps. Как добиться гибкости, надежности и безопасности мирового уровня в технологических компаниях»

Ця книжка — продовження The Phoenix Project, де ті самі автори розвивають тему, цього разу пояснюючи DevOps як три Шляхи (Ways): Потік (Flow), Зворотний зв’язок (Feedback), Безперервне навчання (Continuous Learning) та реалізацію їх на практиці. Розділ «Потік» (Flow) фокусується на Continuous Integration і Continuous Delivery (CI/CD). Далі йдуть, як на мене, найважливіші частини книжки. Розділ «Зворотний зв’язок» (Feedback) присвячено телеметрії, тестуванню й аналізу цих даних для покращення якості програмних продуктів і раннього виявлення помилок. Розділ «Безперервне навчання» (Continuous Learning) розповідає, як учитися на власних помилках та покращувати продукт, інструментарій і документацію.

Але, напевно, найціннішим у цій книжці є те, що кожна частина містить реальні приклади відомих компаній — проблеми й шляхи їх розв’язання. Остання частина книжки фокусується на інформаційній безпеці. Закінчується видання додатковими матеріалами, де зведено все, що описувалося в книжці раніше. Їхня переважна частина — посилання (URL) на оригінальні статті й документи для самостійного опрацювання.

Як на мене, це обов’язковий посібник для всіх — і тих, хто тільки починає запроваджувати практики DevOps, і тих, хто вже їх упровадив і бажає переконатися, що процес іде в правильному напрямі.

Continuous Delivery by Jez Humble, David Farley

Російською — Джез Хамбл «Непрерывное развертывание ПО. Автоматизация процессов сборки, тестирования и внедрения новых версий программ»

З цієї книжки почалося моє занурення у світ CI/CD та, трошки пізніше, DevOps. Вона поділена на три частини: «Базові принципи» (Foundation) пояснюють усі передумови, потрібні для розуміння наступного розділу, — «Конвеєр розгортання» (Deployment pipeline), який пояснює базові концепти й реалізацію різних частин конвеєра (pipeline). Третій розділ «Екосистема розгортання» (Delivery Ecosystem) націлений на обговорення міжгалузевих практик і методів, що підтримують конвеєр розгортання. (Як на мене, «конвеєр розгортання» звучить досить дивно, але кращого перекладу «deployment pipeline» я, на жаль, не знаю).

Сама книжка випущена ще 2011 року, але вона витримала випробування часом, і більшість описаних там принципів актуальні й досі. Дуже рекомендую як базове джерело для ознайомлення з концептами Continuous Integration і Continuous Delivery (CI/CD).

Release It! by Michael T. Nygard

Російською — Майкл Нейгард «Release it! Проектирование и дизайн ПО для тех, кому не все равно»

Майкл — чудовий оратор (дуже раджу подивитися його виступи з конференцій на YouTube) з не менш чудовим почуттям гумору (іноді це майже вбивчий сарказм). Його книжка — це квінтесенція виступів, де з першого абзацу зрозуміло, про що вона. «Ви тяжко працювали останній рік над проєктом. Нарешті все вказує на те, що весь функціонал зроблено й навіть покрито тестами. Тепер можна зітхнути з полегшенням. Ви закінчили. Ви точно впевнені, що закінчили?»

Книжка містить цінні уроки, що базуються на реальних невдачах і погано продуманих діях. «Якщо щось може піти не так, воно піде не так», і ніхто з нас від цього не застрахований. Книжка — це керівництво зі знешкодження численних пасток, з якими ви зіткнетеся на шляху розробки програмного забезпечення.

Refactoring by Martin Fowler

Російською — «Рефакторинг. Улучшение существующего кода»

Це досить контроверсійна книжка, яка не залишає байдужими більшість тих, хто її хоч раз прочитав. Мартін Фаулер дуже ретельно поставився до написання цієї роботи, пояснюючи все на прикладах, і, як на мене, зображені в книжці принципи дуже добре комбінуються з рештою принципів в інших виданнях зі списку, що дозволяє розробляти якісний програмний продукт «з нуля» чи зробити грамотний рефактор для легасі-коду.

До певного часу я дуже недооцінював важливість рефакторингу, і ця книжка систематизувала й дисциплінувала (якщо можна так сказати) ставлення до процесу.

Похожие статьи:
Getting your first wallet as a kid is a big deal. You finally had your own money and needed a way to carry it around. Your dad had a wallet, your older brother had a wallet, all the adults in your life had a wallet and now you did too. A wallet was a...
Триває набір групи на курс «Основи управління командами в ІТ».Ви технічний спеціаліст, що розглядає перспективу кар’єрного...
Meta створила мовну модель штучного інтелекту Massively Multilingual Speech (MMS), яка здатна розпізнавати понад 4 тисячі мов і перетворювати...
До вашої уваги дайджест навчальних програм для тих, хто починає свою кар’єру в ІТ. В цьому номері зібрані можливості,...
Спеціальний правовий режим Дія City працює в Україні понад рік. DOU стежить за розвитком проєкту від самого початку...
Яндекс.Метрика