Системный анализ | Дмитрий Помаскин
1.38K subscribers
44 photos
150 videos
266 links
📍Обучение системному анализу
📍Полезные материалы для развития навыков
📍Разбор практических кейсов по системному анализу и архитектуре
📍Индивидуальные консультации (менторство)

Моя онлайн-школа:
https://system-analysis.skillspace.ru
Download Telegram
Media is too big
VIEW IN TELEGRAM
Что такое оркестрация и хореография в распределенных системах?

Это два разных подхода к управлению взаимодействием между сервисами внутри системы.

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

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

Системный анализ | Дмитрий Помаскин
2🔥18👍4
Немного юмора субботним вечером:)
😁19🔥2
Был в гостях на канале https://xn--r1a.website/easilyIT, где немного рассказал о кластерных БД .

Также там есть мини-интервью со мной, кому интересно, переходите по ссылке 😊
👍8🔥2
Media is too big
VIEW IN TELEGRAM
Многие знают, что такое интеграционная шина (ESB), но не все понимают её внутреннюю архитектуру.

ℹ️На выходных монтировал курс по системным интеграциям, решил поделиться его небольшим фрагментом, в котором рассказываю, как интеграционная шина устроена изнутри.

Системный анализ | Дмитрий Помаскин
4👍12🔥11
This media is not supported in your browser
VIEW IN TELEGRAM
🚩Кейс: Распил монолита на микросервисы (этап 1).

1️⃣ Необходимо от общих ресурсов всего монолита перейти к трехзвенной архитектуре.

2️⃣ Все три звена должны иметь собственные ресурсы и взаимодействовать по сети:
🔸 Между базой данных и back-end выбирайте любой ORM.
🔸 Для взаимодействия front-end и back-end лучше всего, на этом этапе, подойдет REST или GraphQL.

3️⃣ Не забывайте про версионирование вашего API, чтобы избежать проблем с обратной совместимостью в дальнейшем.

P.S. Будет небольшой цикл видео, в котором я разберу все этапы.

Системный анализ | Дмитрий Помаскин
2👍15🔥6
This media is not supported in your browser
VIEW IN TELEGRAM
🚩Кейс: Распил монолита на микросервисы (этап 2).

1️⃣ Полученную трехзвенную архитектуру необходимо целиком покрыть тестами: юнит, интеграционные, регрессионные и т.д.

2️⃣ В дальнейшем, при выносе функций в отдельные сервисы, у вас точно что-то сломается.

3️⃣ Благодаря покрытию тестами вы сразу сможете увидеть все сломанные, скрытые зависимости и быстро их починить.

Если вы пропустили первый этап, то он тут.

Системный анализ | Дмитрий Помаскин
1👍7🔥4
💬 Напоминаю, что помимо обучения, я также провожу консультации онлайн.

Если вы:
🔸 Хотите сэкономить время на освоении новой темы;
🔸 Не знаете, как решить сложный кейс на вашем проекте;
🔸 Не можете разобраться в каком-то вопросе самостоятельно.

То я, на понятных примерах из практики, помогу вам быстро закрыть все вопросы.

Для записи на консультации пишите мне в личные сообщения.

P.S. Лучше записывайтесь заранее, слоты обычно забронированы на несколько дней вперед🗓

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍6🔥4
Media is too big
VIEW IN TELEGRAM
🚩Кейс: Распил монолита на микросервисы (этап 3).

1️⃣ Необходимо уйти от монолитной модели данных (да, речь про рефакторинг структуры БД).

2️⃣ Модель данных нужно перестроить таким образом, чтобы уйти от высокой связности сущностей системы.

3️⃣ Выявить скрытые зависимости, избавиться от них или сделать их явными, если этого требует бизнес-процесс.

4️⃣ В процессе модификации модели данных у вас точно упадут какие-то тесты. Благодаря им вы сможете быстро восстановить функциональность.

⚠️ Пока вы остаетесь в монолитной модели данных, начинать выделение отдельных сервисов системы не имеет смысла.

Предыдущие части:
👉Этап 1;
👉Этап 2;

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍5👏4
❗️"Типичные ошибки системных аналитиков".

Ранее у меня выходил цикл постов на эту тему :)

Для новых подписчиков собрал все в один пост, чтобы было удобно ориентироваться:

🔸«Это очевидно»;
🔸«Отсутствие приоритетов»;
🔸«Копаем глубоко, но не там где нужно»;
🔸«Игнорирование исключений»;
🔸«Отсутствие маппинга полей».

Думаю, многим будет полезно 😉

P.S. Если узнали своих коллег, поделитесь с ними постом ✉️

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍9🔥8
Всем привет. Мне от вас нужна обратная связь по новому формату✌️Заходит ли вам, когда один большой кейс разбит на несколько частей или же лучше 1 кейс - 1 пост?
Final Results
22%
1 кейс - 1 пост
47%
1 кейс - несколько постов, но подробно
31%
Нравятся оба форма
👍1
Забегался и совсем забыл подвести итоги мая 🫠

Лучше поздно, чем никогда:)

Приросли почти в 2 раза, несмотря на праздники.
Очень радует, что доверие аудитории постепенно растет🍸

Продолжаем усердно работать💪

P.S. Всех с пятницей 🍺
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍9👏3
Media is too big
VIEW IN TELEGRAM
Думаю, вы не раз слышали про гарантию доставки сообщений, а что насчет гарантий отправки?

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

"Вы не сможете доставить сообщение, если его никто не отправлял"
Джейсон Стейтем


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

P.S. Эта тема может быть интересна не только аналитикам, но и разработчикам, так что делитесь с коллегами.

Системный анализ | Дмитрий Помаскин
1👍15🔥7🙏3
Media is too big
VIEW IN TELEGRAM
🚩Кейс: Распил монолита на микросервисы (этап 4).

1️⃣ Модули, которые мы выделили в модели данных на предыдущем этапе, необходимо использовать для выделения отдельных сервисов.

2️⃣ При декомпозиции используйте SOA или DDD, потому что для EDA и микросервисов ещё рано.

3️⃣ Начать стоит с наименее зависимых модулей, таких как НСИ и IDM (Identity management).

4️⃣ На этом этапе все ещё сохраняется высокая связность между сервисами системы, поэтому возможны каскадные отключения.

5️⃣ Обязательно внедрите подсистему мониторинга состояния ваших сервисов, чтобы быстро выявлять проблемные места.

Предыдущие части:
👉Этап 1;
👉Этап 2;
👉Этап 3.

Системный анализ | Дмитрий Помаскин
2🔥10👍4
Media is too big
VIEW IN TELEGRAM
🚩Кейс: Распил монолита на микросервисы (этап 5).

1️⃣ Необходимо снизить связность сервисов за счет репликации данных между ними.

2️⃣ Определяем данные, необходимые для корректной работы зависимых сервисов.

3️⃣ Реплицируем эту часть данных в их БД через брокер сообщений. Только необходимую часть, а не объекты целиком.

4️⃣ Помните, что при работе в такой модели будет расти объем баз и существует риск неконсистентности данных в момент времени.

5️⃣ Сервисы, которым критично необходима работа только с актуальными данными, не стоит включать в эту модель.

Предыдущие части:
👉Этап 1;
👉Этап 2;
👉Этап 3;
👉Этап 4.

P.S. Один из подобных кейсов репликации я разбирал на примере построения отчетов.

Системный анализ | Дмитрий Помаскин
🔥7👍2
Немного юмора в длинные выходные :)

Не просто так я на всех видео говорю, что все индивидуально 🤣

Системный анализ | Дмитрий Помаскин
😁13👍2🔥2
‼️ Важное обновление курса "Системные интеграции"‼️

Поскольку курс по интеграциям ещё не был официально запущен, я решил опробовать на нём новый формат.

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

Теперь вы можете выбирать только те темы, которые вам действительно интересны, — так вы не переплачиваете за лишнее и учитесь именно тому, что нужно.

Junior (12 890 ₽) - уже доступен для обучения:
Введение в системные интеграции;
Форматы данных в интеграциях;
REST / SOAP / GraphQL;
Интеграционные шины.

Middle (22 480 ₽) - уже доступен для обучения:
Все модули из тарифа Junior;
Брокеры сообщений;
RPC (Remote Procedure Call);
Real-time взаимодействие (WS, Long Polling, SSE).

Senior (38 790 ₽) - будет доступен в ближайшее время:
Все модули из тарифов Junior и Middle;
Интеграция на уровне БД;
Безопасность в интеграциях;
Паттерн Circuit Breaker;
Observability (Наблюдаемость) интеграций;
API-first подход и Swagger.

❗️ Напомню, что курс ещё не открыт, поэтому действует предзапись со скидкой 15% по промокоду SYSTEMINT на все тарифы.

Записаться можно тут :)

P.S. Те, кто уже оформил предзапись, автоматически переведены на тариф Senior.

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍8🔥6
Media is too big
VIEW IN TELEGRAM
Длинные выходные, значит, долго не было разборов, поэтому ловите разбор кейса с собеседования на 17 минут :)

🚩Кейс: Проектирование интеграций для банковской системы.

Бизнес-процесс:
1. Клиент отправляет заявку на выпуск новой карты.
2. Мы должны проверить клиента через службу безопасности.
3. В случае успеха, выпустить карту.
4. Доставить карту клиенту.
5. На всех этапах необходимо уведомлять клиента об изменении статуса.

Задача:
Спроектировать интеграции между сервисами банка.

Системный анализ | Дмитрий Помаскин
2🔥8👍4👏4
🎉День рождения — лучший повод для подарков! 🎉

В честь своего дня рождения подготовил для вас промокод BDAY, который даёт скидку 31%😮
Действует на любой курс и на любой тариф.

У промокода всего 5 активаций.

Использовать тут 👈

P.S. Напоминаю, что для тех, кто хочет повысить свой тариф с промокодом, есть видеоинструкция.

UPD: Осталось 3 активации :)

UPD2: Осталась 1 активация.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥6
This media is not supported in your browser
VIEW IN TELEGRAM
🚩Кейс: Распил монолита на микросервисы (этап 6).

Включение из отпуска 🎣

1️⃣ Для всех сервисов, которые были реализованы на предыдущих этапах, необходимо повторно выполнить пункты 3-5, как для самостоятельных маленьких монолитов.

2️⃣ Провести рефакторинг модели данных, выделить отдельные микросервисы, снизить их связность за счет репликации.

Предыдущие части:
👉Этап 1;
👉Этап 2;
👉Этап 3;
👉Этап 4;
👉Этап 5.

Системный анализ | Дмитрий Помаскин
🔥6👍3