Books-Lib.com » Читать книги » Бизнес » Антихрупкость в IT - Александр Васильевич Бындю

Читать книгу - "Антихрупкость в IT - Александр Васильевич Бындю"

Антихрупкость в IT - Александр Васильевич Бындю - Читать книги онлайн | Слушать аудиокниги онлайн | Электронная библиотека books-lib.com

Открой для себя врата в удивительный мир Бизнес / Разная литература книг на сайте books-lib.com! Здесь, в самой лучшей библиотеке мира, ты найдешь сокровища слова и истории, которые творят чудеса. Возьми свой любимый гаджет (Смартфоны, Планшеты, Ноутбуки, Компьютеры, Электронные книги (e-book readers), Другие поддерживаемые устройства) и погрузись в магию чтения книги 'Антихрупкость в IT - Александр Васильевич Бындю' автора Александр Васильевич Бындю прямо сейчас – дарим тебе возможность читать онлайн бесплатно и неограниченно!

0 0 23:09, 18-02-2026
Автор:Александр Васильевич Бындю Жанр:Бизнес / Разная литература Поделиться: Возрастные ограничения:(18+) Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту для удаления материала.
00

Аннотация к книге "Антихрупкость в IT - Александр Васильевич Бындю", которую можно читать онлайн бесплатно без регистрации

Код пишется и макеты рисуются для того, чтобы компания быстрее и точнее конкурентов понимала и выполняла потребности своих клиентов. Для достижения этого результата следует понимать, какие инструменты работают, а какие мало применимы в мире постоянных перемен. В своей книге я рассказываю, как можно выстроить внутреннее качество IT-систем и процессы разработки таким образом, чтобы успевать вовремя подстроиться под любые изменения внутренней и внешней среды, а также изменяющиеся по ходу реализации проекта нужды заказчика. Одним из ключевых понятий данного исследования является понятие «антихрупкость». Мой собственный предпринимательский опыт и опыт моих партнёров, клиентов и друзей убедил меня в том, что при создании IT-продуктов важное внимание следует уделять их «антихрупкости» – прочности, работоспособности предлагаемых клиенту решений в условиях меняющегося мира.

1 ... 18 19 20 21 22 23 24 25 26 ... 33
Перейти на страницу:
бюджет.

6. Микросервисы добавят на порядок больше точек отказа

Вместе со значительным увеличением числа сервисов по сравнению с монолитом, вы получаете рост точек интеграции, усложнение процесса CI/CD и распределение мастер-данных, что значительно усложнит всю инфраструктуру. Шанс получить проблему в бою будет очень высоким, если целенаправленно не вкладываться в fault tolerance на всех уровнях: проектирование архитектуры, разработка и тестирование (рис. 52).

Рис. 52. Метафора стабильности систем

Чтобы создавать стабильные системы, выдерживающие «толчки» внешней среды, заложите в бюджет перехода на микросервисы следующее:

1. Нагрузочное и стресс-тестирование и, в идеале, применение chaos engineering[83].

2. Применение шаблонов проектирования, таких как Circuit Breaker и Tolerant Reader.

3. Настройка инфраструктуры: service discovery, health-check.

7. Реорганизация команд

Когда монолит распадётся на много маленьких независимых микросистем, то встанет вопрос: как организовать людей вокруг этого «роя»? (рис. 53).

Рис. 53. Распределение людей по микросервисам

Общее решение звучит так: создавайте кросс-функциональные команды (build-and-run team) под каждый микросервис. Правда, здесь есть нюансы. До старта работ обсудите и выберите, какая оргструктура подойдёт под ваши задачи и ваш бизнес. Обратите внимание на следующее:

1. Выберите подход к распределению ответственности команд между микросервисами. Например, возьмите вот такой Service per team[84].

2. Примерьте на себя InnerSource[85], чтобы разгрузить команды микросервисов от входящих запросов.

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

Реорганизация команд не произойдёт сама собой, она стоит денег и времени. Поэтому не забудьте учесть эти процессы в вашем плане перехода на микросервисы.

Ремарка о постепенности перехода

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

Рис. 54. График перехода от старой системы к новой

Самое важное на схеме то, что системы долгое время живут вместе. Даже функциональность, которая уже реализована на микросервисах, не сразу отключается в монолите. Это важно для следующих трёх факторов.

8. Обратная совместимость с монолитом

Заказчику захочется снизить свои риски и не выключать монолит сразу, а переходить на микросервисы постепенно. Функциональность, реализованная в микросервисах, будет работать параллельно с той же функциональностью в монолите. Поэтому вам придётся реализовывать обратную совместимость микросервисов с монолитом. Это первая часть работы, которую нужно закладывать в оценку (рис. 55).

Рис. 55. Сохранение обратной совместимости

Вторая часть работы связана с тем, что монолит не всегда готов принимать потоки данных в протоколах и форматах, удобных для микросервисов. Например, монолит работает с SOAP, а вы всё реализовываете на protobuf. Или монолит знает WCF, а вы пишите на .NET Core, где WCF реализован частично. Поэтому часто приходится доделывать функции в монолите, чтобы микросервисы могли отсылать в него данные. В таком случае следует заранее договориться с командой монолита о том, с каким приоритетом и по какому процессу они будут принимать задачи от команды микросервисов.

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

9. Интеграция и обучение служб поддержки

Если система критична для бизнеса, значит, у неё уже есть процесс техподдержки. Вам нужно будет интегрироваться со службой техподдержки и выстроить процесс техподдержки двух систем одновременно (рис. 56).

Рис. 56. Интеграция служб поддержки для работы с микросервисами

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

10. Догоняющий поток фич от бизнеса

Пока новая система постепенно заменяет старую, бизнес не стоит на месте. Не получится поставить на паузу поток новых фич. Например, если Центральный банк решит поменять правила игры и эти правила затрагивают бизнес, то придётся взять в работу задачу от бизнеса на изменение правил и реализовать её как в монолите, так и в микросервисах (рис. 57).

Чтобы догоняющий поток фич от бизнеса не стал для вас сюрпризом, нужно:

1. Заранее договориться с командой, разрабатывающей монолит, о правилах совместной работы.

2. Договориться с бизнесом о процессе внесения новых фич в период жизни обеих систем.

Рис. 57. Двойная работа во время существования обеих систем

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

Чек-лист

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

1. Мастер-данные.

2. Написание кода по-новому.

3. Проектирование IT-продукта заново.

4. Создание новой инфраструктуры.

5. Измерение и проверка SLA.

6. Вклад в fault tolerance на всех уровнях.

7. Реорганизация команд.

8. Работы по обратной совместимости.

9. Интеграция служб поддержки.

10. Догоняющий поток фич.

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

Глава 4. Где и как применять low-code платформы

Зачем нужны low-code платформы и каковы границы их применимости

Разговоры о программировании без программистов идут постоянно. За последние 15 лет моей работы в IT идёт уже вторая волна

1 ... 18 19 20 21 22 23 24 25 26 ... 33
Перейти на страницу:
Отзывы - 0

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


Новые отзывы

  1. Ольга Ольга18 февраль 13:35 Измена .не прощу часть первая закончилась ,простите а где же вторая часть хотелось бы узнать Измена. Не прощу - Анастасия Леманн
  2. Илья Илья12 январь 15:30 Книга прекрасная особенно потому что Ее дали в полном виде а не в отрывке Горький пепел - Ирина Котова
  3. Гость Алексей Гость Алексей04 январь 19:45 По фрагменту нечего комментировать. Бригадный генерал. Плацдарм для одиночки - Макс Глебов
  4. Гость галина Гость галина01 январь 18:22 Очень интересная книга. Читаю с удовольствием, не отрываясь. Спасибо! А где продолжение? Интересно же знать, а что дальше? Чужой мир 3. Игры с хищниками - Альбер Торш
Все комметарии: