cookie

Sizning foydalanuvchi tajribangizni yaxshilash uchun cookie-lardan foydalanamiz. Barchasini qabul qiling», bosing, cookie-lardan foydalanilishiga rozilik bildirishingiz talab qilinadi.

avatar

Системный суетолог

Привет! Я - Ирина, системный аналитик. Пишу сюда заметки о работе, кейсы и мысли.

Ko'proq ko'rsatish
Reklama postlari
438
Obunachilar
Ma'lumot yo'q24 soatlar
+107 kunlar
+4430 kunlar

Ma'lumot yuklanmoqda...

Obunachilar o'sish tezligi

Ma'lumot yuklanmoqda...

Привет 👋 🧑‍💻 Всем легкого рабочего дня сегодня. Хотя мне еще отдыхать 2 дня, но пора потихоньку возвращаться в рабочий режим. ➡Прослушала подкаст про Observability: что это, для чего нужно и какие есть инструменты. ▶ Observability (наблюдаемость) - отслеживание и анализ поведения системы в режиме реального времени. Включает в себя логирование, сбор метрик и трассировку.
Логирование - запись событий и действий в системе. 
🛠Инструменты: - Grafana-стек: Promtail (сбор) + Loki (хранение) + Grafana (визуализация) - ELK- стек: Logstash (сбор) + ElasticSearch (хранение) + Kibana (визуализация) (ELK в последнее время используется реже из за ценовой политики и ресусроемкости ElasticSearch)
Метрики - это числовые показатели, которые отражают состояние системы или процесса в момент времени.
Нр: использование CPU и памяти, время отклика, пропускная способность… 🛠 Инструменты: - Grafana-стек: Prometheus (сбор метрик и временное хранение) + Grafana (визуализация) Для длительного хранения метрик можно использовать Grafana Mimir, Thanos - VictoriaMetrics - Zabbix ▶
Трассировка - отслеживание пути выполнения запросов в системе в разрезе разных слоев. Позволяет увидеть последовательность вызовов, время выполнения каждого запроса на каждом слое итп. 
🛠 Инструменты: - Grafana-стек: Tempo (хранение) - Grafana (визуализация) - Elastic APM - Jaeger - Zipkin ▶ Для сбора трейсов обычно используют стандарт OpenTelemetry. OpenTelemetry (OTel)- это проект с открытым исходным кодом для стандартизации сбора метрик, логов и трейсов в распределенных системах. OTel представляет собой набор API и SDK для различных ЯП. Позволяет отправлять данные в различные системы мониторинга. Но с метриками, говорят, работает не очень. ▶ Существуют также APM (Application Performance Management) решения от разных вендоров для комплексного мониторинга и управления производительностью и доступностью сервисов. Нр: Dynatrace, AppDynamics, Datadog, Instana, Elastic APM, Signoz итп. Но не все они доступны в РФ. _________________________________________________ На моем прошлом проекте для решения задач Observability мы использовали: Для метрик: Prometheus + Grafana Для логов: Promtail + Loki + Grafana Дополнительно для логов и трейсов: Vector (для сбора) + OpenObserve (хранение, анализ и визуализация). 🔤А какие инструменты для Observability используются на ваших проектах?
Hammasini ko'rsatish...
Elastic стек всё? Grafana для хранения логов, метрик и трейсов. APM и OpenTelemetry / Немного IT #9

В 9 выпуске подкаста говорим о наблюдаемости, о логах, трейсах, SRE-метриках, делимся кейсами из нашей практики, где использовали те или иные инструменты. Рассмотрим observability с точки зрения полезности: когда доступность сервисов привязываются к бизнес метрикам. Подробнее остановимся на Grafana, а в заключении по рассуждаем, что имеет смысл использовать на пэт проектах, а что оставить кровавому Энтерпрайзу. Иван Соловьёв

https://solovev.one

Михаил Непряхин

https://t.me/neprja

00:00:20 Приветствие 00:00:50 Рассказ про погружение в мир трейсов 00:01:45 Полезность наблюдаемости в современной архитектуре 00:03:07 Стандарт open telimetary 00:05:46 Кейс по OpenTelemetry: Service Level Indicator (SLI) и Service-Level Objective (SLO) 00:07:42 Как появился стандарт open telimetary 00:12:00 Что такое логи, трейсы, метрики и спаны 00:17:00 О трейсах и защите данных, Trace ID 00:19:45 Что было до трейсов (текстовые логи) 00:23:17 Подробнее о логах 00:28:08 О метриках 00:35:00 Grafana stack и бесплатные APM 00:38:09 Кейс об использовании трейсов 00:40:23 Трейсы и APM 00:48:07 Opensource (бесплатные) APM 00:50:50 В каких случаях лучше выбрать Grafana stack 00:53:44 Время, уровень и сообщения в логе 00:55:06 UI в Grafana 00:55:58 Grafana Mimir OSS для метрик 00:57:38 Grafana Tempo OSS для трейсов 01:03:36 Continuous Profiling 01:06:22 Инструменты для настройки нового проекта 01:08:26 Нужны ли эти инструменты для pet проектов? 01:10:50 Готовые решения 01:12:52 Какие провайдеры облачных инфраструктур использовать для пет проектов 01:19:02 Сбор исключений, инструменты: Sentry, Crashlytics 01:20:50 Заключение

7👍 6🔥 5
⛄️Всем привет! Давно меня тут не было. Декабрь выдался непростым, к тому же умудрилась в последние недели заболеть. А вас тут уже 386 🔥Офигеть! Приятно. Спасибо, что читаете 😘 🥹 Сегодня был мой последний рабочий день в Магните. 🎇 Рада, что довелось поработать тут над нетипичным продуктом. Огромное спасибо моей уже ex-команде. Буду немножко скучать. 😘 Всех с наступающим Новым годом! 🎉🎆 Желаю круто отдохнуть на праздниках ⛄️⛸ Обещаю в следующем году писать побольше.
Hammasini ko'rsatish...
🔥 24 3
👋 Всем привет! Хочу поделиться хорошим докладом, как решать задачи по system design. Спикер очень круто на примере объясняет, что пошагово нужно делать, в какую сторону мыслить. ➡https://www.youtube.com/watch?v=Be7INI_U6GY&t=176s
Hammasini ko'rsatish...
Как задизайнить Facebook за пол часа или секреты System Design Interview [rus] / Алексей Петров

Видео с онлайн-конференции Software Architecture fwdays'21, которая прошла с 27 октября по 2 ноября 2021 года. Описание доклада: Что делать, когда просят сделать дизайн системы типа YouTube с его петабайтами видео и миллионами пользователей? Twitter с сотнями тысяч людей, пишущих свои мысли примерно с той же частотой, как те появляются в уме? Как бы выглядел дизайн Clubhouse или TikTok? Сотни тысяч человеко-часов работы просят спроектировать через 30-40 минут. Да и как должен выглядеть этот дизайн? Что от вас ожидают и какой результат требуется? О чем следует беспокоиться, а о чем нет? Как не впасть в ступор от поставленной задачи и выдать хоть что-нибудь? Полное погружение во все аспекты System Design Interview на этом докладе. Доклад будет полезен: - Архитекторам и Тех. лидам, которым нужно давать варианты дизайна быстро и сразу в рамках митингов с заказчиком или командой. - Девелоперам, желающим проходить собеседование в топ компании. System Design интервью становится неотъемлемым этапом в этом процессе. Страница доклада:

https://fwdays.com/event/architecture-fwdays-2021/review/how-to-build-facebook

Больше докладов и видео по теме конференции:

https://fwdays.com/event/architecture-fwdays-2021

Fwdays более 10 лет занимается организацией масштабных конференций для разработчиков таких направлений: JavaScript, .NET, Python, Data Science, PHP, QA, Highload, Architecture, DevOps, Databases. Больше информации про актуальные события:

https://fwdays.com/events

Подписывайтесь, чтобы первыми узнавать про старт продаж билетов по самой выгодной цене: Facebook:

https://www.facebook.com/fwdays

Twitter:

https://twitter.com/fwdays

Telegram:

https://t.me/highload_fwdays

🔥 10👍 5 3
👋 Всем привет! Обещала выложить свое решение по задачке, которая была на систем дизайн интервью. Если коротко, то схема получилась такая: 1⃣ Передача Геолокации курьеров Устройства курьеров отправляют геолокацию через HTTP-запросы в сервис Геолокации. Сервис геолокации записывает данные в Кафку. Из Кафки данные ассинхронно записываются в БД Геолокации и БД Мониторинга. 2⃣Отслеживание курьеров проверяющим Проверяющий выбирает область для отслеживания на карте - отправляется HTTP-запрос с 2 координатами в сервис Мониторинга курьеров (для упрощения задачи предположили, что можно выделять только прямоугольную область) Открывается вебсокет соединение для передачи на клиент данных в реалтайме. Сервис мониторинга получает из БД Геолокации координаты, принадлежащие области, и курьеров. Далее передает данные на клиент. 3⃣Просмотр истории перемещений курьера за период Проверяющий в фильтре выбирает курьера и период - отправляется HTTP-запрос в сервис Истории. Сервис Истории читает данные из БД Геолокации. 4⃣Очистка истории перемещений за год Сервис очистки запускается раз в сутки и удаляет из БД Геолокации устаревшие данные. Базы Данных БД Геолокации - хранит всю историю геолокаций по курьерам за 1 год. Это реляционная БД (Postgres), тк важна консистентность. БД Мониторинга - хранит последнюю геолокацию курьера. Кмк хорошо подойдет Redis, тк он производительный и быстрый. Ключ - ИД курьера. Масштабирование - Обязательно масштабируем сервис Геолокации с учетом 3300 RPS. На вход ставим балансировщик (условно ngnix, распределять можно раунд робином) - Шардируем БД Геолокации. Ключ шардирования - по timestamp, чтобы удобно было читать историю. Нагрузку на запись БД выдержать должна, тк пишем асинхронно из Кафки. - Каждый шард реплицируем. Из минусов, которые я сейчас вижу на этой схеме: 1. Не проработана история с сохранением настроек области проверяющего. 2. Не хватает API Gateway для распределения запросов между сервисом Мониторинга и Истории. ⚡А как бы вы решали задачу? Мб есть более оптимальные решения)
Hammasini ko'rsatish...
Welcome_Board.jpg1.47 KB
👍 11 4
👋 Всем привет! На хабре вышла моя первая статья про то, как мы описываем требования к API для бэка. Моя задача была показать на конкретных примерах, как мы пошагово оформляем требования, на что обращаем внимание. Буду рада комментариям) ❤ Спасибо моей команде и деврелу за ревью и поддержку. https://habr.com/ru/companies/magnit/articles/779368/
Hammasini ko'rsatish...
Как мы описываем требования к REST API для бэкенда в Confluence

Проектирование API контрактов — одна из непростых задач в работе системного аналитика. Нужно не только корректно спроектировать API, но и оформить требования на разработку. Это важно для понимания...

🔥 25👍 7 2🎉 2
Photo unavailableShow in Telegram
🤯🤯🤯 Сегодня впервые в жизни проходила интервью по систем дизайну. Нужно было спроектировать верхнеуровневую архитектуру бэкенда для системы Мониторинга курьеров по ФТ и НФТ за час: ➖ Довыявить ФТ и НФТ ➖ Посчитать примерную нагрузку ➖ Отобразить компонеты системы и как они взаимодействуют межу собой ➖ Прикинуть API контракты (что на входе и выходе) и какие протоколы можем использовать ➖ Прикинуть тип БД и модель данных ➖ Подумать над масштабированием сервисов и БД В конце еще дали доп.задачку: добавить к итоговой схеме отслеживание курьера клиентом по заказу. 🔥Мне, в целом, такой формат интервью понравился) Прикольный опыт) ❓Как бы такую задачу решали вы? Если интересно, какое решение получилось у меня в ходе интервью, ставьте реакции - сделаю пост ☺
Hammasini ko'rsatish...
🔥 28👍 6 4
🎆 Ура! Наконец-то в открытый доступ вышло мок собеседование на канале Антона Назарова, где я была в роли интервьюируемого. Обсуждали вопросы по требованиям, моделированию, архитектуре, интеграциям и БД. К каждому вопросу в таймкодах добавлены материалы для изучения. Не все, конечно, идеально, но все равно это был крутой опыт 💪 🔥 Отдельное спасибо Андрею за интересные вопросы и возможность проверить себя. Очень рекомендую подписаться на его канал, если вы еще не подписаны. 👀 https://www.youtube.com/watch?v=Y_R3ZLhPQfQ
Hammasini ko'rsatish...
Топ-10 вопросов по Системному анализу / Собеседование с разбором ответов и материалами

Обновленное мок интервью по системному анализу. Статьи и документация в таймкодах. Вступай в сообщество для входа и роста в IT:

https://bit.ly/3Vq8nF7

Читай уникальный контент в телеге:

https://bit.ly/3ztzy9i

Узнай как проходит день из жизни ITшника:

https://bit.ly/40Dkbqz

Найди ментора или стань им в один клик:

https://bit.ly/410NrYl

Ирина:

https://t.me/systemsyetolog

Андрей:

https://telegra.ph/Konsultacii-po-analitike-05-05

Таймкоды: 00:00 – Приветствие 00:32 – Опыт работы 08:10 – Как писали ТЗ на предыдущем месте работы? 08:53 – Что такое Use Case и User Story?

https://systems.education/use-case,

https://scrumtrek.ru/blog/product-management/3364/user-story-instruktsiya-po-primeneniyu/

09:47 – Как понять, что User Story составлена корректно? INVEST

https://msklv.medium.com/invest-user-story-8c200266a3d7,

SMART -

https://practicum.yandex.ru/blog/celi-i-zadachi-po-smart/

13:46 – Из чего состояла интеграционная спецификация? 16:26 – Виды требований? Виггерс

https://analytics.infozone.pro/requirements-analysis/analysis-of-requirements-wiegers-2004/,

BABOK

https://babok-school.ru/blogs/requirement-management-babok/

18:35 – Что такое переходные требования?

https://clck.ru/36AvwP

19:03 – Техники сбора требований

https://lpgenerator.ru/blog/chto-takoe-vyyavlenie-trebovanij/

20:33 – Практический кейс 22:32 – Верификация и валидация требований — разница?

https://habr.com/ru/articles/691048/

23:23 – Что такое нотация BPMN?

https://clck.ru/32eWcL

24:44 – Диаграммы UML

https://evergreens.com.ua/ru/articles/uml-diagrams.html

25:40 – Как на Sequence диаграмме показать асинхронное взаимодействие систем?

https://flexberry.github.io/ru/fd_sequence-diagram.html

26:45 – Callback vs Webhook

https://habr.com/ru/articles/151716/,

https://www.mango-office.ru/products/calltracking/for-marketing/osnovy/webhook-i-kak-ego-ispolzovat/

27:58 – Как на Sequence диаграмме показать цикл?

https://stackoverflow.com/questions/526410/how-to-represent-a-call-being-made-in-a-loop-in-a-sequence-diagram

28:25– Как используется Class Diagram?

https://prog-cpp.ru/uml-classes/

29:32 – Разница Class Diagram и ER Diagram

https://www.differencebetween.com/difference-between-er-diagram-and-vs-class-diagram/

30:00 – Разница BPMN и UML?

https://askanydifference.com/ru/difference-between-uml-and-bpmn-with-table/

30:58 – Виды архитектуры ПО

https://blog.ithillel.ua/ru/articles/web-application-architecture

35:55 – Паттерны реализации микросервисной архитектуры

https://microservices.io/patterns/index.html

38:52 – Типы интеграций

https://habr.com/ru/companies/oleg-bunin/articles/543946/

39:42 – RESTful принципы

https://habr.com/ru/companies/hexlet/articles/274675/

41:11 – Обязательны ли RESTful принципы в использовании? 41:45 – Методы HTTP

https://developer.mozilla.org/ru/docs/Web/HTTP/Methods

42:20 – Что такое идемпотентность?

https://developer.mozilla.org/ru/docs/Glossary/Idempotent

42:45 – Как сделать POST идемпотентным?

https://habr.com/ru/articles/568562/

43:05 – В чем разница PUT и PATCH?

https://qna.habr.com/q/155533

44:47 - Можно ли использовать POST для получения информации о ресурсе, а GET для создания ресурса?

https://htmlacademy.ru/blog/php/get-vs-post

00:46:20 – Коды ответов HTTP

https://developer.mozilla.org/ru/docs/Web/HTTP/Status

46:47– В чем разница 204 и 404?

https://wp-kama.ru/handbook/rest/basic/http-status-codes

47:35– Версионирование API и как его обеспечить?

https://www.yiiframework.com/doc/guide/2.0/ru/rest-versioning

48:33 – Что такое SOAP?

https://www.ibm.com/docs/en/integration-bus/10.0?topic=soap-structure-message

49:00 – В чем разница между XML, XSD, WSDL?

https://clck.ru/36Axix

50:00 – Как обеспечить асинхронное взаимодействие между системами? ESB

https://vc.ru/u/957470-dynamicsun/514376-chto-takoe-integracionnaya-shina-esb,

WebSocket

https://habr.com/ru/sandbox/171066/,

gRPC

https://habr.com/ru/companies/yandex/articles/484068/

50:34 – WebSocket vs gRPC

https://ably.com/topic/grpc-vs-websocket#:~:text=gRPC%20is%20typically%20used%20to,communication%20in%20the%20first%20place

52:07– Принцип работы брокеров сообщений

https://habr.com/r…

🔥 10 5👍 3
День 30 🔥 Ура! 30 день моего челленджа) Хотела сегодня выложить перевод статьи по System Design чата, но не успела подготовить👨‍💻 Поэтому делюсь видео МОК собеседования backend разработчика. В видео разбираются вопросы, которые задают и системным аналитикам на собеседованиях: оптимизация БД, индексы, масштабирование БД, монолитная и микросервисная архитектура, SAGA, Event Driven архитектура итп. 👍 Мне прямо зашло) В последнее время меня тянет в сторону тех части, бизнесовая как будто уже и не так интересна 🤷‍♂ ➡ https://www.youtube.com/watch?v=QgIWHeNy8fA&t=126s
Hammasini ko'rsatish...
Mock-собеседование ex-СБЕР backend разработчика | BACKEND собеседование

Курсы по программированию:

https://balun.courses/?utm_medium=youtube&utm_campaign=vladimir_balun

Потренироваться проходить собеседования:

https://it-interview.io

Присоединиться к моему сообществу:

https://boosty.to/vladimir_balun

Консультации:

https://getmentor.dev/mentor/vladimir-balun-191

https://solvery.io/ru/mentor/vladimir_balun

Таймкоды: 00:00 - Введение 00:12 - Оптимизация базы даных 01:36 - Индексы в базах данных 04:45 - Репликация 11:58 - Шардирование 19:09 - Партиционирование 19:59 - Балансировка нагрузки 21:50 - Кэширование 27:05 - CDN 28:22 - Монолитная и микросервисная архитектура 31:05 - Распределенные транзакции 2PC и Saga 33:20 - Событийно-ориентированная архитектура 34:10 - CAP теорема 35:03 - Мониторинг, логирование и трассировка 38:21 - Заключение Backend разработка. Backend разработчик. Backend Java. Backend Python. Backeng Go. Backend C#. Backend PHP. Backend C++. Backend с нуля. Backend собеседование. Backend программирование. Собеседование на работу. Собеседование Java. Собеседование C#. Собеседование Go. Собеседование PHP. Собеседование Python. Репликация собеседование. Балансировка нагрузки. Партиционирование собеседование. Шардирование собеседование. Базы данных. Архитектура веб приложений. VK:

https://vk.com/vladimir_balun_programming

Telegram:

https://t.me/vladimir_balun_programming

Instagram:

https://www.instagram.com/vladimir_balun_programming/

#айти #программирование #программированиедляначинающих #программированиеснуля #собеседование #собеседованиенаработу #сбербанк

👍 3🔥 2
День 29 🎧Послушала на выходных подкасты Podlodka про SQL (2023) и Базы данных (2019). Из нового для себя: ➖Про ACID. Есть разные уровни изоляции (serializable, repeatable read, read committed, read uncommitted). Причем в разных СУБД уровни изоляции могут быть реализованы по разному. ➖Транзакции не страхуют от конкурентных изменений (нр, когда запущены параллельные транзакции на изменение одной записи). При редактировании данных можно устанавливать блокировки (select for update). ➖Индексы не всегда быстрые и не всегда нужно их использовать. Они работают быстро, только если если запрос выбирает маленькое количество данных в % отношении к общему. ➖Не очень хорошая идея накручивать бизнес логику в БД, используя хранимые процедуры / триггеры, тк сложно будет потом все это отлаживать и масштабировать. В 2020 году был аж холивар на эту тему после статьи от Lingualeo. ➖Стандарт SQL ISO платный 🤯 ➡https://podlodka.io/321 https://music.yandex.ru/album/7570122/track/114019398https://podlodka.io/101 https://music.yandex.ru/album/7570122/track/53118588
Hammasini ko'rsatish...
Podlodka #321 – SQL

SELECT * FROM Episodes WHERE YEAR(published_at) > 2022 Думаете это все, на что способен SQL? Антон Жиянов, энтузиаст SQLite, красочно объясняет, что это заблуждение! Этот 2-х часовой выпуск можно смело использовать при подготовке к собеседованию: мы подробно разобрали как базовые конструкции, так и расширенные и современные фичи SQL: массивы, графы, рекурсию и многое другое. Поговорили, как готовить SQL с заботой о быстродействии и безопасности ваших баз данных, а также окунулись в мир SQL для анализа данных.

👍 5
День 28 🌎 Сохранила себе конференции и митапы, которые мне интересно было бы посмотреть/посетить. 23 ноября Analytics MeetUp (Контур и red_mad_robot) Онлайн / Оффлайн Иннополис Интересно послушать про артефакты аналитика на пресейлах, тк сама в этом варилась долгое время. 1-2 декабря ЮМоneyDay: большая конференция про IT Онлайн Будет 1 доклад по SA. Также хочу послушать доклады разработчиков про Здоровье сервисов, Обновление микросервисов во фронте, Внедрение SSO и Кодогенерацию из OpenAPI. 5-6 декабря YaTalks’23 Онлайн / Оффлайн Москва Есть интересные доклады по Архитектуре: Интеграция DeliveryClub и Яндекс Еды, Три архитектуры одной покупки на Маркете... Naumen Analytics MeetUp Митап был на этой неделе. Еще не смотрела, но сохранила себе доклад про Управление стрессом.
Hammasini ko'rsatish...
Naumen Analyst Meetup #2

Контакты организаторов можно найти в телеграм-боте. Ссылка на него появится после регистрации:

https://clck.ru/36CZvU

🔥 4👍 1
Boshqa reja tanlang

Joriy rejangiz faqat 5 ta kanal uchun analitika imkoniyatini beradi. Ko'proq olish uchun, iltimos, boshqa reja tanlang.