Pull to refresh

Книга «Continuous delivery. Практика непрерывных апдейтов»

Reading time 5 min
Views 13K
image Эта книга поможет всем, кто собирается перейти на непрерывную поставку программного обеспечения. Руководители проектов ознакомятся с основными процессами, преимуществами и техническими требованиями. Разработчики, администраторы и архитекторы получат необходимые навыки организации работы, а также узнают, как непрерывная поставка внедряется в архитектуру программного обеспечения и структуру ИТ-организации.

Эберхард Вольф познакомит вас с популярными передовыми технологиями, облегчающими труд разработчиков: Docker, Chef, Vagrant, Jenkins, Graphite, ELK stack, JBehave и Gatling. Вы пройдете через все этапы сборки, непрерывной интеграции, нагрузочного тестирования, развертывания и контроля.

Кому адресована эта книга?


Эта книга адресована руководителям, архитекторам, разработчикам и администраторам, желающим внедрить методологию непрерывного развертывания как метод и (или) средство интеграции разработки и эксплуатации (DevOps) в своей организации.

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

• Разработчикам и администраторам будет представлено исчерпывающее введение в технические аспекты, благодаря чему они смогут приобрести навыки, необходимые для конструирования и внедрения конвейера непрерывного развертывания.

• Архитекторы, помимо технических аспектов, узнают также о влиянии непрерывного развертывания на архитектуру программного обеспечения (глава 11).

Книга знакомит с разными технологиями реализации непрерывного развертывания. Примером служит проект на языке Java. Для некоторых областей — например, реализации приемочных испытаний — будут представлены технологии для других языков программирования. В книге упоминаются подобные альтернативы, но основное внимание уделяется языку Java. Технологии автоматизированного распределения инфраструктуры не зависят от используемого языка программирования. Книга особенно пригодится читателям, активно использующим Java; адаптацией представленных технологий для других языков читателям придется заниматься самим.

Краткое содержание глав


Книга делится на три части. Первая часть знакомит с основами, необходимыми для понимания методологии непрерывного развертывания.

• Глава 1, «Непрерывное развертывание: что и как?», знакомит с терминологией непрерывного развертывания, а также объясняет, как и какие проблемы она решает. Кратко знакомит с конвейером непрерывного развертывания.

Непрерывное развертывание требует автоматизации развертывания инфраструктуры — установки программного обеспечения на серверы. Глава 2, «Подготовка инфраструктуры», знакомит с некоторыми подходами к решению этой задачи. Для автоматизации установки программного обеспечения можно использовать Chef. Для развертывания тестового окружения на компьютерах разработчиков можно использовать Vagrant. Docker — не только очень эффективное решение виртуализации, он также может служить средством автоматизации установки программного обеспечения. В конце первой части дается краткий обзор использования облачных решений PaaS (Platform as a Service — платформа как услуга) для организации непрерывного развертывания.

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

• Глава 3, «Автоматизация сборки и непрерывная интеграция», написанная Бастианом Спаннебергом (Bastian Spanneberg), описывает происходящее в процессе передачи новой версии программного обеспечения. Дается краткое введение в инструменты сборки, такие как Gradle или Maven, и модульное тестирование, а также обсуждается технология непрерывной интеграции (Continuous Integration) с применением Jenkins. Далее следует обзор SonarQube, инструмента статического анализа и проверки качества программного кода, а также репозиториев, таких как Nexus или Artifactory.

• Глава 4, «Приемочные тесты», знакомит с использованием JBehave и Selenium для автоматизации приемочных испытаний.

• Глава 5, «Тестирование пропускной способности», посвящена исключительно теме пропускной способности. Роль примера в ней играет технология Gatling.

• Глава 6, «Исследовательское тестирование», рассматривает особенности испытаний вручную с целью проверки новых возможностей и выявления общих проблем в приложениях.

Главы, перечисленные выше, описывают начальные этапы конвейера непрерывного развертывания. Они оказывают основное влияние на разработку программного обеспечения. Следующие главы знакомят с технологиями и приемами в тех областях непрерывного развертывания, которые ближе к рабочему окружению.

Глава 7, «Развертывание — ввод в эксплуатацию», описывает подходы, помогающие минимизировать риски, которые могут возникнуть в процессе развертывания приложения в рабочем окружении.

• В процессе работы приложение собирает разные данные, характеризующие особенности его функционирования. Глава 8, «Эксплуатация», знакомит с технологиями, упрощающими сбор и анализ таких данных: стек ELK (Elasticsearch-Logstash-Kibana) — для анализа файлов журналов и Graphite — для мониторинга.

Для технологий, описываемых в этих главах, приводятся примеры, которые читатель сможет опробовать на собственном компьютере и поэкспериментировать с ними, чтобы получить практический опыт. Благодаря автоматизированной инфраструктуре запуск этих примеров не составит труда.

Наконец, возникает вопрос: как внедрить методологию непрерывного развертывания и какой эффект это даст? Эти вопросы обсуждаются в третьей части книги.

• Глава 9, «Внедрение методологии непрерывного развертывания на предприятии», показывает, как можно внедрить методологию непрерывного развертывания в своей организации.

• Глава 10, «Непрерывное развертывание и DevOps», описывает объединение разработки (Development, Dev) и эксплуатации (Operations, Ops) в один организационный модуль (DevOps).

Непрерывное развертывание также оказывает влияние на архитектуру приложений. Связанные с этим вопросы обсуждаются в главе 11, «Непрерывное развертывание, DevOps и архитектура ПО».

Завершается книга главой 12, «Заключение: основные преимущества».

Об авторе


Эберхард Вольф (Eberhard Wolff), сотрудник компании innoQ в Германии, имеет более чем 15-летний опыт разработки архитектур программного обеспечения и консультирования по вопросам, лежащим на стыке предпринимательства и технологий. Он неоднократно выступал с докладами на международных конференциях, был членом программных комитетов на нескольких конференциях и написал более 100 статей и книг. Круг его профессиональных интересов включает разработку современных архитектур — часто с привлечением облачных технологий, непрерывного развертывания, интеграции разработки и эксплуатации (DevOps), микрослужб и NoSQL.

» Более подробно с книгой можно ознакомиться на сайте издательства
» Оглавление
» Отрывок

Для Хаброжителей скидка 20% по купону — Continuous delivery
Tags:
Hubs:
+9
Comments 0
Comments Leave a comment

Articles

Information

Website
piter.com
Registered
Founded
Employees
201–500 employees
Location
Россия