Книга Сэма Ньюмена «Создание микросервисов»

book_sozdanie_mikroservisovВ последнее время я решил прокачать свои знания в той области, которую называют DevOps (от слов development и operations) — области, объединяющей в себе разработку, тестирование и развертывание программного обеспечения. Недавно я уже писал обзор очень интересной книги на эту тему — Непрерывное развертывание ПО. В продолжение этой темы мне попалась довольно свежая книга Сэма Ньюмена «Создание микросервисов», вышедшая в этом году.

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

Читать далее ‘Книга Сэма Ньюмена «Создание микросервисов»’ »

Книга Дж. Хамбла и Д. Фарли «Непрерывное развертывание ПО»

neprerivnoe_razvertivanie_po

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

В этом посте речь пойдет о книге, которую я прочитал последней, и которая заставила по-новому взглянуть на разработку проектов, которыми я занимаюсь. Это книга Джеза Хамбла и Дэвида Фарли «Непрерывное развертывание ПО. Автоматизация процессов сборки, тестирования и внедрения новых версий программ». Сама книга уже довольно старая, ее русский перевод вышел в 2011 году и, похоже, что оригинал был издан в том же году, но почему-то до этого я про нее ничего не слышал и наткнулся на нее случайно.

Основная идея книги заключается в том, что при разработке программного обеспечения (не важно, пишете вы десктопные приложения или веб-сервисы), сборке и развертыванию программ нужно уделять не меньшее внимание, чем написанию основного кода. Главная мысль в книге, которую пропагандируют авторы — это создание конвейера сборки и развертывания приложений. Что представляет из себя этот конвейер? После каждого изменения, отправленного, в репозиторий, сервер непрерывной интеграции (Continuous Integration, CI) должен выполнять последовательность определенных действий, тестируя код на каждом шаге, и немедленно сообщать об обнаруженных проблемах программистам. Последовательность действий выглядит таким образом (картинка взята из книги).

conveyer

Читать далее ‘Книга Дж. Хамбла и Д. Фарли «Непрерывное развертывание ПО»’ »