- PVSM.RU - https://www.pvsm.ru -

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

image [1] Эта книга поможет всем, кто собирается перейти на непрерывную поставку программного обеспечения. Руководители проектов ознакомятся с основными процессами, преимуществами и техническими требованиями. Разработчики, администраторы и архитекторы получат необходимые навыки организации работы, а также узнают, как непрерывная поставка внедряется в архитектуру программного обеспечения и структуру ИТ-организации.

Эберхард Вольф познакомит вас с популярными передовыми технологиями, облегчающими труд разработчиков: 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.

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

Для Хаброжителей скидка 20% по купону — Continuous delivery

Автор: ph_piter

Источник [5]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/knigi/263365

Ссылки в тексте:

[1] Image: https://habrahabr.ru/company/piter/blog/337170/

[2] сайте издательства: https://www.piter.com/collection/all/product/continuous-delivery-praktika-nepreryvnyh-apdeytov

[3] Оглавление: http://storage.piter.com/upload/contents/978544610480/978544610480_X.pdf

[4] Отрывок: http://storage.piter.com/upload/contents/978544610480/978544610480_p.pdf

[5] Источник: https://habrahabr.ru/post/337170/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best