?

Log in

No account? Create an account

Entries by category: литература

Книга "Building Microservices" Сэма Ньюмена
obrizan
Недавно прочитал книгу "Building Microservices: Designing Fine-Grained Systems" Сэма Ньюмена.



После прочтения этой книги в голове крутились фразы: "парадайм шифт", "дизрапт", "зе некст биг синг". Большинство из вас находится по ту сторону браузера и мало интересуется развитием интернет-технологий. А они меняются очень сильно. Настолько сильно, что за 10 лет единственная вещь, которая осталась такой же — это протокол HTTP, а все остальное поменялось: веб-сервера, базы данных, архитектуры веб-приложений, методы тестирования, интеграции и развертывания.

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

В микросервисной архитектуре каждый микросервис разрабатывается, развертывается, масштабируется изолированно от других сервисов. Это значит, что выбранный стек технологий — это больше не проклятие на всю жизнь. Например, десять лет был популярен стек LAMP — Linux, Apache, MySQL, PHP. Раньше все эти технологии устанавливались в рамках одного веб-сервиса. И если нужно было разработать новую функцию, то искали специалиста, знающего эти технологии. А в микросервисной архитектуре один микросервис может быть реализован на Руби, другой на Го, третий на Яве. У одного база данных может быть MongoDB, у другого GraphDB, а у третьего blob store, например. И это нормально. Выбирайте тот язык и базу данных, которая эффективнее всего решит конкретную задачу.



Раньше, если веб-сервис не выдерживал нагрузку, то выполняли горизонтальное масштабирование: запускали еще один экземпляр сервиса LAMP и делали балансировку нагрузки. В микросервисной архитектуре можно анализировать производительность каждого отдельного микросервиса и масштабировать только тот микросервис, который не справляется с нагрузкой.

Читая книгу я вспоминал, где я как пользователь сталкивался с микросервисами. Помню, зашел как-то в Фейсбук, а там лента новостей есть, а личные сообщения просмотреть не могу. Это значит, что в Фейсбуке как минимум два микросервиса (на самом деле их сотни) — микросервис новостной ленты и микросервис личных сообщений. И в тот день микросервис сообщений вышел из строя. Преимущество в том, что остальные микросервисы сохранили свою работу, потому что работают автономно. В монолитной архитектуре такое невозможно: выход из строя одной подсистемы приводит к поломке всей системы.

Я строго рекомендую книгу "Building Microservices" всем техническим директорам и просто разработчикам.


Книга "Размышления о личном развитии" Ицхака Адизеса
obrizan
Недавно прочитал книгу "Размышления о личном развитии" Ицхака Адизеса (325 грн. в бумажном виде).



Я уже читал Адизеса раньше. Это была книга "Как преодолеть кризисы менеджмента", и она мне очень понравилась. Ожидания от следующей книги Адизеса были высокие. Оказалось, что книга "Размышления о личном развитии" — это коллекция заметок из его личного блога. Т. е. я за 355 грн. получил распечатку и перевод его заметок, которые мог бы совершенно бесплатно прочитать в оригинале по адресу http://www.adizes.com/insights/

Со стороны может показаться, что я лохонулся, но это не так. Сейчас раскрою.

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

В чем отличие книги от блога? Книга — более строгий формат. Например, в книге "Как преодолеть кризисы менеджмента" Адизес излагает свой метод, но не личное отношение ко всему на свете. А блог — формат неформальный. В блоге он как раз и пишет личное мнение на разные вопросы: про бизнес, про жизнь, про успех и даже про судьбу евреев в Холокосте. Еще раз подчеркну: личность автора, метод автора, личное отношение автора — это три разные вещи.

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

А еще чтобы написать книгу — нужно садиться и ее писать. А блог можно вести откуда угодно — из дома, из поездок, можно написать пост за 5 минут, а можно и за 3 часа. А там глядишь через 20 лет и книгу составить можно.

Что касается самой книги, то мне было интересно ознакомиться с личным мнением автора, хотя конечно же я ожидал что-то близкое к методу личного развития (потому что метод в книге "Как преодолеть кризисы менеджмента" изложен подробно).

Будете покупать книги, то читайте на сайте аннотацию и введение: уж не перепечатка ли это из блога? Может показаться, что это редкий случай, но это не так. Например: блог Артемия Лебедева издан книгой: "Бложе мой", заметки из блога Дмитрия Юрьевича Пучкова (Гоблин) неоднократно издавались книгами: http://www.ozon.ru/person/270747/?group=div_book#detf

Как резюме: никакого метода личного развития в книге нет. Но если вам интересно познакомиться с Адизесом поближе, то книгу можно читать смело. Перевод и оформление книги хорошие, но опять же все бесплатно можно прочитать в первоисточнике: http://www.adizes.com/insights/


Знакомьтесь: компьютер!
obrizan
А все-таки и в грязи иногда можно найти бриллиант!

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

— Сколько стоит?
— 30 гривен, — улыбнулся барыга.
— Беру. А еще два тома есть?
— Нет, уже забрали.

Какое различное отношение у двух разных людей: один впаривал лоху макулатуру, другой же покупал скрипку Страдивари по цене фанеры.

Знакомьтесь: самая толковая книга по вычислительной техникие — "Знакомьтесь: компьютер".

IMG_2516

Периодически ко мне обращаются за советом: "Хочу стать программистом. Какую книгу посоветуешь"? Можно конечно посоветовать Страуструпа, но начинающий наврядли прочитает его дальше введения. Да что уж говорить про начинающих, Страуструпа не все "сеньоры" читали. Поэтому, перед тем, как браться за язык программирования, необходимо понять, что такое компьютер, как он работает, какие были предпосылки его создания. И эта книга как раз об этом.

Я прочитал эту книгу несколько раз в глубоком детстве, затем несколько раз в школьном возрасте, затем несколько раз когда был студентом, потом один раз в аспирантуре, и сейчас начал перечитывать вот уже в одиннадцатый раз. И что вы думаете? Каждый раз нахожу что-нибудь новое! Например, я смог прочитать и понять пример программы на языке Smalltalk, который является мамой языка Objective-C, который я выучил за последние три года.

В начале девяностых не у всех были обычные фотоаппараты, а из этой книги я уже узнал об устройстве цифрового:

IMG_2517

Ну где бы я еще увидел подробное описание всех шагов фотолитографии — процесса изготовления транзисторов?

IMG_2518

А там еще были главы про Булеву алгебру, двоичное кодирование, устройство компакт-диска, "умный дом", трехмерную графику и прочее. Из этой книги я узнал, кто такой Джон фон Нейман, Билл Гейтс, Стив Джобс. Когда в школе учительница спросила: "Как зовут первого программиста?", я без раздумий ответил: "Ада Лавлейс" и был прав. В одиннадцатом классе я читал своим одноклассникам лекции об организации компьютеров и проверял все контрольные работы всех параллельных классов по программированию. И все это благодаря книге, которую сегодня оценили в 30 гривен — это стоимость одного бокала той мочи, которую алкоголики обычно пьют в пятницу вечером.

Если бы так случилось, что мне было бы дано прочесть за свою жизнь только одну книгу — я бы выбрал "Знакомьтесь: компьютер".