Как стать автором
Обновить

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

Время на прочтение5 мин
Количество просмотров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
Теги:
Хабы:
+9
Комментарии0

Публикации

Информация

Сайт
piter.com
Дата регистрации
Дата основания
Численность
201–500 человек
Местоположение
Россия