GetAnalyst - Навыки • Системный анализ • Бизнес-анализ
19.6K subscribers
2.09K photos
75 videos
207 files
1.19K links
Разбор задач на проектирование систем 🚀 Канал для системных аналитиков, бизнес-аналитиков, тестировщиков и менеджеров проектов

Админ @getanalyst
Сайт https://getanalyst.ru
Чат t.me/getanalystchat
Начинающим в IT @getanalyststart

РКН №5013005196
Download Telegram
🤩😍 Что было вчера на онлайн-практике 😍🤩

Как и на любом прямом эфире сообщества GetAnalyst, вчера снова было ВАУ-ВАУ-ВАУ!
И этот эффект — только благодаря вам! ❤️

👉 Здесь собрались очень крутые специалисты, жадные до знаний! Спасибо вам за это!

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



Спасибо вам за ваше время и вовлечённость!
Спасибо, что выбираете своё развитие вместе со мной и сообществом GetAnalyst.
Это обязательно окупится в будущем!

И спасибо за тёплую обратную связь, которую я получила ❤️‍🔥



Что успели:
🔹 Разобрались в монолитной, SOA, MSA и EDA архитектурах на примерах
🔹 Увидели API Gateway в действии
🔹 Спроектировали процесс без хореографии и оркестрации
🔹 Познакомились с шаблоном микросервисов SAGA
🔹 Познакомились с основами по брокерам RabbitMQ и Kafka
🔹 Спроектировали процесс с использованием оркестрации и хореографии

И почти по каждому пункту смогли детально погрузиться в детали!



📌 Доступ к записи
Для тех, кому не удалось подключиться, остаться до конца, или хочется еще раз повторить всю практику, чтобы закрепить результат:


🟢 Хореография и оркестрация микросервисов
🗓 Доступ с 30.08 до 02.09 (сб-вт)
🔗 Получить доступ

❗️ ПОВТОРНО РЕГИСТРИРОВАТЬСЯ НЕ НАДО, если уже регистрировались на основной эфир!
Письмо с доступом придёт в СБ утром.



👉 Эта встреча была вводным занятием к практической программе Проектирование Архитектуры, которая стартует 2 сентября.

🎁 Сегодня последний день действия спец. условий с онлайн-встречи.

Если чувствуете, что сейчас — ваше время двигаться вперёд в карьере, буду рада видеть вас на программе 🙌



Спасибо вам за доверие!
Искренне ценю вашу вовлечённость и выбор расти в карьере вместе с GetAnalyst! ❤️‍🔥


С наилучшим пожеланиями,
Екатерина Ананьева
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥28❤‍🔥1711👍1
This media is not supported in your browser
VIEW IN TELEGRAM
API Gateway — центральная точка отказа в системе?

Отличный вопрос, который могут задать на собеседовании.

Ответ:
Да — если он не масштабирован горизонтально.


Если на сервере развернут единственный инстанс (установленная копия) API Gateway и он выйдет из строя, работа всех клиентов, которые в него обращаются, остановится.

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


Что будет, если API Gateway «упадёт»?
1. Внешние клиенты потеряют доступ к сервисам.
2. Внутренние вызовы (если они идут через Gateway) тоже могут быть нарушены.
3. В логах вы увидите HTTP 502 / 503 ошибки (Bad Gateway / Service Unavailable).
4. Мониторинг начнёт фиксировать обрыв соединения и рост ошибок. Это будет сложно не заметить 🥲


👉 Как это решается?
Чтобы API Gateway не стал "узким горлышком", применяют следующие решения:

🟢 Горизонтальное масштабирование
Несколько инстансов API Gateway, развернутых за балансировщиком нагрузки. Тогда при сбое одного — остальные продолжают обслуживать запросы.

🟢 Health-check и авто-рестарт
Kubernetes и другие оркестраторы позволяют перезапускать поды/контейнеры при сбое.

🟢 Failover-механизмы
Некоторые решения "из коробки" поддерживают автоматическое переключение между инстансами при сбоях.

🟢 Разделение входящего трафика
В больших системах могут использовать несколько API Gateway по зонам или типам трафика (например, публичный API и внутренний API)


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

Т.е. данные не теряются, процессы продолжаются.


API Gateway - потенциальная точка отказа в системе?

👉 Да

Но при нормальной инфраструктуре не должен быть ею. Мы разбираем это на программе по архитектуре. Это часть про стык Инфраструктуры и Архитектуры, который важно осознавать аналитикам.

#АрхитектураGA
🔥2510❤‍🔥4
📚 Подборка книг про Архитектуру и Микросервисы 📚

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

📚 Domain Driven Design. Предметно-ориентированное проектирование, Эрик Эванс

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

Особенно она помогла в подходах к определению сервисов и микросервисов системы, границ их функциональности.


В дополнение к ней я бы хотела порекомендовать:

📚 Release it! Проектирование и зайн ПО для тех, кому не все равно, Майкл Нейгард (тоже мой фаворит!)

📚 Создание микросервисов, Сэм Ньюмен

📚 Микросервисы. Паттерны разработки и рефакторинга, Крис Ричардсон

📚 Высконагруженные приложения, Мартин Клеппман

📚 Чистая архитектура. Искусство разработки программного обеспечения, Роберт Мартин

📚 Эволюционная Архитектура, Нил Форд, Ребекка Парсонс, Патрик Куа

📚 DDD - предметно ориентированное проектирование, Влад Хононов


Сохраняйте подборку и делитесь другими крутыми книгами в комментариях! 🙂

#АрхитектураGA
🔥39❤‍🔥7👍32
🎛️ Оркестрация микросервисов — что это и зачем? 🎛️

Оркестрация – это подход, при котором специальный сервис-оркестратор выступает «дирижёром» для группы микросервисов (МС).

👉 Оркестратор централизованно управляет сложным бизнес-процессом:
1. знает какие сервисы вызвать по API (обычно REST / gRPC)
2. в каком порядке
3. работает с условиями, сложными алгоритмами
4. если что-то пойдёт не так, то он "откатит" операцию на всех МС, которые уже были вызваны

Так сложный процесс превращается в цепочку задач.
А единый центр контроля "Оркестратор" следит за их выполнением.


👉 Как работает оркестратор
на примере Интернет-магазина:

1. Покупатель оформляет заказ через Web-приложение.

2. Web-приложение отправляет API-запрос на Backend, в API Gateway.
POST .../orders


3. API Gateway маршрутизирует запрос на Оркестратор.

4. Оркестратор присваивает id новой операции и вызывает API сервиса заказов.

5. Сервис Заказов создает новый заказ в БД.
Результат - в Оркестратор.

6. Оркестратор вызывает сервис Склада, чтобы зарезервировать товар.

7. Склад подтверждает резерв или сообщает об отсутствии товара.
Результат - в Оркестратор.

8. Оркестратор вызывает сервис Доставка для оформления отправления.

9. Сервис доставки рассчитывает маршрут и время доставки, оформляет доставку.
Результат - в Оркестратор.

10. Оркестратор вызывает сервис Уведомлений, чтобы отправить покупателю уведомление (e-mail или SMS) о подтверждении заказа и деталях доставки.

11. Сервис Уведомлений выполняет отправку сообщений.
Результат - в Оркестратор.

12. Оркестратор отправляет итоговый ответ на запрос в API Gateway, откуда он возвращается в Web-приложение.


🔹 Оркестратор вызывает API сервисов и ждёт ответ.
🔹Он может сохранять состояние процесса, чтобы возобновить его при сбое.
🔹 Если что-то идёт не так, оркестратор выполнит компенсации - откатит выполненные шаги.


📦 Готовые решения для оркестрации:
▫️ Camunda – BPM-движок с поддержкой диаграмм процессов (BPMN).
▫️ OpenBPM - аналог Camunda в России.


#АрхитектураGA
👍27🔥148
📌 [Доступ к занятию открыт] Хореография и Оркестрация микросервисов 📌

Для тех, кому не удалось подключиться на онлайн-практику, остаться до конца, или хочется еще раз повторить всё, чтобы закрепить результат:


🟢 Хореография и оркестрация микросервисов: как проектировать процессы без ошибок
🗓 Только с 30.08 до 02.09 | сб-вт
🕘 Время на обучение:
4 часа
🔗 Получить доступ

❗️Для зарегистрированных
Письмо с доступом в почте, отправили в 9 утра Мск.


Почему это важно?
Разберётесь в принципах хореографии и оркестрации на практике.
Научитесь описывать процессы в микросервисной архитектуре.
Поймёте, как использовать брокеры сообщений для интеграций микросервисов.
Сможете уверенно обсуждать архитектурные решения с архитекторами и разработчиками.
Подготовитесь к вопросам на интервью уровня Middle+ / Senior.



👉 Эта встреча была вводным занятием к практической программе Проектирование Архитектуры

Это то занятие, посмотрев которое вы получите реальные знания и опыт в проектировании интеграции микросервисов.


Продуктивных выходных! 🙌
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥7🤩2
🤖 Про Generative AI - очередная конференция и итоги 🤖

В среду посетила конференцию по AI. Были спикеры от OpenAI, DeepSeek, Google и др.

Делюсь основными тезисами.

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


👉 MCP – новый тренд AI-интеграций

Model Context Protocol (MCP) – открытый стандарт от Anthropic, для подключения AI-моделей к внешним данным и инструментам (приложениям, API, БД и тд).

MCP решает проблему: как дать AI безопасный двусторонний доступ к корпоративным базам знаний, приложениям и сервисам через единый протокол вместо множества разрозненных интеграций.

Набирает популярность с февраля 2025 года. Многие крупные компании начали внедрять MCP для расширения возможностей своих платформ

Даже если вы пока не работаете с AI и MCP, стоит хотя бы понимать основы этого протокола.
Именно он может стать базой для AI-интеграций в ближайшие годы


👉 Локальные Small LLMs

Ещё один тренд – переход от гигантских облачных моделей (DeepSeek, GPT, и др) к более компактным языковым моделям Small LLMs, развёртываемым локально. Т.е. которые можно развернуть на своих серверах и адаптировать под нужды компании.

Многие команды, занимающиеся GenAI для бизнеса, предпочитают Small LLMs, когда отправка конфиденциальных данных в сторонний API нежелательна

Да, по возможностям они уступают лидерам вроде GPT-4, однако в узких задачах показывают достаточную эффективность


👉 Смещение фокуса в разработке от автоматизации к агентному ИИ / Agentic Workflows

Agentic AI – ещё одно модное словосочетание, которое звучало на конференции.

Речь идёт об «агентных» рабочих процессах, где AI-агенты самостоятельно выполняют цепочки задач без участия человека.

Теперь алгоритмы систем способны не только следовать жёстко заданным скриптам, но и действовать более автономно в рамках заданной цели.

Такой подход называют «автоматизацией на стероидах», когда системы с AI могут выполнять сложные процессы, выходящие за рамки простых повторяющихся задач.



Это самое основное.
Если тоже интересуетесь AI - ставьте 🦄
Please open Telegram to view this post
VIEW IN TELEGRAM
🦄8230👍144🔥4
GetAnalyst_Оркестрация_микросервисов_пример_для_ParkingGA_drawio.png
1.3 MB
🤩 Оркестрация и API Gateway разбор реального примера 🤩

Разбираемся, как в реальной жизни работают оркестрация и API Gateway на примере проекта #ParkingGA.

Для этого погружаемся в детали
👉 процесса завершения парковки,
когда после распознавания гос. номера автомобиля на выезде с парковки нужно:
✔️ проверить наличие авто в черном списке,
✔️ рассчитать стоимость парковки,
✔️ проверить, есть ли абонемент для оплаты,
✔️ списать средства с электронного кошелька,
✔️ сформировать чек,
✔️ отправить уведомления.


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

Поэтому для его обслуживания прекрасно подходит стратегия с Оркестрацией.


⚖️ Когда нужен оркестратор?

Бизнес-процесс охватывает много микросервисов и нужна централизованная координация их взаимодействия (иначе эта логика разрозненно реализуется в нескольких сервисах).

Процесс сложный или длительный, требующий надёжности (сохранение состояния, повторы, откаты по шаблону Saga).

Задача проста и укладывается в прямые вызовы пары сервисов (либо реализуется внутри одного микросервиса).

Вы используете хореографию событий (event-driven architect, брокеры), где микросервисы обрабатывают события.

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


И, конечно, на схеме есть API Gateway, который при приёме запроса от клиента:
🔹 проверяет авторизацию запроса,
🔹 понимает, куда перенаправить обработку запроса в зависимости от API-метода: напрямую в микросервис или в оркестратор, если это сложный процесс.



👉 Изучайте схему архитектуры, прикрепленную к посту, и описанный по шагам алгоритм к ней.


📚 Связанные материалы:
API Gateway
Оркестрация


Сохраняйте в избранное ♥️
Можете использовать этот пример, если вас попросят рассказать про оркестрацию на собеседовании 🤝


#АрхитектураGA
34🔥6💯6👏2👍1
🍁 Цитата, которая у меня ассоциируется с сегодняшним днём:
Страсть человека к собственному росту важнее всего.
А мы помогаем ему искать знания — ведь никто в мире не может добиться успеха в одиночку. Человеку с идеей может недоставать каких-то знаний, но знания можно получить.”

(с) Кармин Галло

В этот день, 1 сентября, я желаю вам оставаться исследователями: смотрите шире, копайте глубже и находите новые точки роста там, где вчера было «не знаю» 💡

👉 Вы уже в сообществе GetAnalyst, а значит по умолчанию думаете о своём развитии, и развиваетесь в карьере каждый день.
А я здесь, чтобы помочь вам идти вперед и поддержать на пути, любыми способами.



🖼️☝️ На картинке к посту моё фото из начальной школы.

Между тем ребёнком и сегодняшним днём — тысячи маленьких шагов. Большинство из них когда-то казались «слишком сложными» или «невозможными». Но это оказалось не так.
Всё возможно 🙌

Полистайте и вы свои детские фотоальбомы сегодня, посмотрите на себя 😉
Какого это было? О чём вы мечтали?
И сколько всего вы уже сделали!

Если мы уже прошли через столько «невозможного», то дальше точно справимся.
Всё получится — не потому что «повезёт», а потому что мы умеем разбираться и идти шаг за шагом.


Верю в каждого!
С Днем Знаний!
📚🍁
Please open Telegram to view this post
VIEW IN TELEGRAM
74❤‍🔥8👍7
Сегодня завершается доступ к записи практического обучения:

🟢 Хореография и оркестрация микросервисов: как проектировать процессы без ошибок
🗓 Только до 2 сентября 23:59 Мск (вт)
🔗 Получить доступ

Если уже регистрировались, то письмо с доступом в почте.

Это вводное занятие к программе Проектирование Архитектуры для системных аналитиков, которая стартует сегодня 🎉

Осталось 1 место, но уже можно оставить заявку на поток в Декабре 2025 🤝


Обязательно смотрите запись, чтобы разобраться в сложных темах на практике уже сегодня 🙌
Please open Telegram to view this post
VIEW IN TELEGRAM
8
🔷 Нотация С4 для схем архитектуры 🔷

Можешь показать схему архитектуры системы без нотации, в виде прямоугольников и стрелочек? Отлично!

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


C4 помогает архитекторам, разработчикам и аналитикам представлять архитектуру системы в виде четырех уровней:

👉 Контекст (C4 / Context)
Система, её интеграции и пользователи.
✔️ Главный прямоугольник - наша система
✔️ Серые прямоугольники вокруг - внешние
✔️ Пользователи

👩‍💻 Полезна бизнес- и техническим специалистам


👉 Контейнеры (C4 / Container)
Независимые по коду приложения в системе, детализация главного прямоугольника c C4 / Context.
✔️ Пользователи и внешние системы с уровня C4 / Context
✔️ Мобильные, веб- и десктоп приложения
✔️ Сервер-приложения: монолит, сервисы, микросервисы, API Gateway
✔️ Базы данных и файловые хранилища
✔️ Виды API
✔️ Технологии (языки программирования, СУБД, протоколы для API и др)
✔️ Базы данных и файловые хранилища
✔️ Очереди и брокеры
Схему удобнее использовать в адаптированном виде, когда на этом уровне не показывают сервисы и микросервисы, а переносят их на уровень глубже - C4 / Component. Иначе она очень перегружена.

👩‍💻 Полезна архитекторам, разработчикам и системным аналитикам.


👉 Компоненты (C4 / Component)
Модули кода и зависимости между ними.
Детализирует один из контейнеров с C4 / Container.
На каждый контейнер своя схема.
Отлично подходит для детализации модульного монолита.


👉 Код (C4 / Code)
На этом уровне детализируют каждый компонент c C4 / Component, показывая его реализацию в коде. Обычно это UML-диаграмма классов или другая визуализация.


Материалы:
🔗 Официальный сайт C4
🔗 Пример архитектуры C4 в Miro
🔗 Нотация С4 — примеры диаграмм и инструменты

Основные инструменты:
🔗 Draw.io
🔗 Structurizr


Элементы нотации с пояснениями в картинках к посту.

#АрхитектураGA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
38👍4🔥4
GetAnalyst - C4 Container - ParkingGA.png
1.2 MB
🔵 C4 - примеры использования для реальных проектов 🔵

Весь август мы проектировали архитектуру для #ParkingGA. И в этом посте я хочу показать схему со всеми сервисами, которые уже используются на проекте.

👉 C4/Context - показываем систему и её окружение.
Вы можете видеть:
+ система в центре,
+ внешние системы и оборудование, которое работает с ней - выделены серым цветом.
+ роли пользователей.

👉 C4/Container - показываем из каких кодовых баз состоит система:
+ все веб-, мобильные и desktop приложения,
+ сервисы и микросервисы,
+ базы данных и файловые хранилища,
+ брокеры.
Здесь уже можно видеть, что мы сделали подбор технологий разработки, протоколов интеграции.
На этом уровне показано архитектурное решение по разработке системы.


На следующих уровнях C4/Component и C4/Code, которых нет на картинках к посту, мы уже погружаемся в кодовую базу. Хотя аналитики также могут их отрисовывать по запросу разработчиков.


Изучайте приложенные к посту схемы, задавайте вопросы и сохраняйте пост как шпаргалку — пригодится, когда будете собирать свои C4-диаграммы 😉

#АрхитектураGA
🔥168
💻 [08.09, пн] Работа с индексами в БД 💻

Каждый месяц в GetAnalyst мы проводим продвинутые практикумы, посвященные проектированию БД и SQL.

Тема этого месяца:

💻 Оптимизация БД. Работа с индексами
🗓 8 Сентября, 19:00 Мск (пн)
🔗 Подробности и запись

🎁 Актуальный бонус: доступ к записи занятия "Проектирование распределенных БД"


План практикума:
1. Нефункциональные требования и их связь с БД (предобучение в записи)
2. Понятие индексов в БД и их назначение. Разбор примеров.
3. Практика: знакомство с БД проекта и определение таблиц с индексами.
4. Проблемы избыточной оптимизации БД.
5. Индексы в постановках задач на разработчиков.



👨‍💻 Этот практикум идеально подходит для системных аналитиков, стремящихся углубить свои знания и навыки в области проектирования баз данных и оптимизации систем.

Присоединяйтесь к нам в следующий понедельник! 🙂
До встречи онлайн!



Вопросы? Пишите на почту info@getanalyst.ru или @getanalyst
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤‍🔥63👎1
Очередь vs Брокер: вопросы с подвохом

Очередь сообщений — это структура данных,

которая хранит сообщения до тех пор, пока их не заберёт получатель.

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


Вопросы с подвохом, которые вы можете встретить на собеседованиях для Middle+ Системного аналитика:

👉 1. Если у нас есть очередь сообщений, зачем нужен брокер?

👉 2. Может ли очередь работать без брокера?

👉 3. Могу ли я использовать брокер без очередей сообщений?

👉 4. Если я использую очередь сообщений, могу ли я гарантировать доставку сообщения?

👉 5. Очередь всегда работает по принципу FIFO (первое пришло - первое вышло из очереди)?

👉 6. Может ли очередь работать с несколькими производителями и потребителями?


Подробная статья:
🔗 Брокер и очередь сообщений: что это и в чем отличия?


#АрхитектураGA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥37❤‍🔥6