Grokking Continuous Delivery (Грокаем continuous delivery) (Рубрика DevEx)
Одной из книг, что я прочел на новогодних каникулах стала книга Кристи Уилсон из Google про современные подходы к continuous delivery. Я достаточно осторожно отношусь к книгам из серии Grokking, но тут меня подкупило, что вступительное слово написало целых два крутых инженера, что точно умеют в инженерию
- Джез Хамбл, что был соавтором книг "Continuous Delivery", "DevOps Handbook", "Accelerate" (я уже рассказывал про первую и третью книги из этого списка)
- Эрик Брюэр, что сформулировал CAP теорему (я уже рассказывал об этом), а потом участвовал в разработке Google Spanner, а сейчас VP Infrastructure & Google Fellow Оба этих уважаемых джентельмена очень хорошо отзывались о книге во вступительном слове, поэтому я был в предвкушении интересного чтения ... и так и получилось. Но интересность была обусловлена не rocket science подходами, а скорее тем, как Кристи буквально с основ объяснила как выглядит разработка софта и зачем нужен continuous integrating, continuous delivery и чем он отличается от continuous deployment.
По-факту, в книге 4 части, 13 глав и 2 приложения, которые чем-то напоминают мне комиксы - во многих главах разбираются почти реальные проблемы выдуманных компаний навроде "Cat Picture", "Super Game Console", "Ice Cream for All", "CoinExCompare" и так далее. Это позволяет автору продемонстировать эволюционное развитие подходов к инженерным процессам, а не сразу показывать идеальную картинку. Кстати, по оглавлению уже можно понять как выстроена логика повествования
Part 1: Introducing continuous delivery Chapter 1: Welcome to Grokking Continuous Delivery Chapter 2: A basic pipeline Part 2: Keeping software in a deliverable state Chapter 3: Version control is the only way to roll Chapter 4: Use linting effectively Chapter 5: Dealing with noisy tests Chapter 6: Speeding up slow test suites Chapter 7: Give the right signals at the right times Part 3: Making delivery easy Chapter 8: Easy delivery starts with version control Chapter 9: Building securely and reliably Chapter 10: Deploying confidently Part 4: CD design Chapter 11: Starter packs: From zero to CD Chapter 12: Scripts are code, too Chapter 13: Pipeline design
Из важного стоит отметить, что Кристи
- Старается не привязываться к инструментам для CI/CD (для этого есть первое приложение, где рассматриваются их возможности)
- Дает инструкции по настройке пайплайнов как для green-field, так и для brown-field проектов
- Акцентирует внимание на лучших практиках: VCS как источник истины, безопасное развертывание с использованием автоматизации, использование шагов пайплайна для получения правильных сигналов о готовности софта для развертывания, отслеживание качества процесса поставки при помощи DORA метрик (подробнее про них в книге Accelerate, о которой я рассказывал в трех частях 1, 2 и 3)
В общем, несмотря на мое глубокое погружение в тему книги, она даже мне принесла новые знания, а также систематизировала понимание. Я бы с большим удовольствием прочел ее в самом начале карьеры, чтобы сократить количество граблей, которые приходилось проходить самому:) Так что я очень ее рекомендую для тех, кто сейчас начинает свой путь в IT - лучше познакомиться с теорией о том, как должны выглядеть инженерные процессы из книги, чем пытаться самому прийти к ним на практике. Это точно сократить путь к становлению лучшим инженером.
P.S. Книга на русском вышла в издательстве "Питер" и как по мне она переведена достаточно неплохо:)
#Devops #Management #Leadership #Processes #SRE #Software #Devops #Architecture #SoftwareDevelopment