Рубрика «архитектура»

Это сложно, необходимо установить много утилит, команд для запуска и обслуживания такого проекта, и вообще, я не думаю, что держать всё в одном проекте — жизнеспособная вещь.

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

В данной статье будет описан процесс реализации архитектуры веб‑приложения с удобной системой докер-контейнеров. Здесь не будет обсуждаться CI/CD, исключительно development‑side процесса разработки.

Читать полностью »

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

Арендовать мощные VPS под ресурсоемкие задачи в текущих реалиях выходит неоправданно дорого. При этом дома у меня уже был выделенный неттоп (мини-ПК) с 16 ГБ оперативной памяти на базе энергоэффективного процессора Intel N95.

Читать полностью »

Когда компания растёт из одного продуктового направления в несколько, технический долг начинает выглядеть иначе. Проблема уже не в «старом коде», устаревших зависимостях или сложной поддержке legacy-системы. Долг начинает накапливаться в расхождении инженерных решений между сервисами.

Читать полностью »

Как мы раздаём 500 ГБ игрового контента на 260 ПК в сети игровых клубов — и почему в какой‑то момент пришлось отказаться от внешнего S3-провайдера.

Реальный кейс: как из ручного хаоса с флешками и «у кого что скачалось» выросла централизованная система обновления игрового контента, во что она обошлась на облачном хранилище, и как одно инфраструктурное изменение убрало эту статью расходов практически в ноль.

TL;DR

  • У внешнего S3-провайдера при активном использовании основная часть расходов — не хранение данных, а их раздача (egress).

  • Читать полностью »

Технический пост-мортем: что было, что сломалось, и что в итоге собралось.

Контекст: умер xml-river, keykollector появился API Wordstat

Я работаю в контекстной рекламе и аналитике 6 лет. Самым массовым инструментом для сбора семантики в моём окружении был KeyCollector. Сам KeyCollector давно не парсил Wordstat напрямую — он работал через стороннее расширение xml-river, которое проксировало запросы к Wordstat в обход капчи. Когда xml-river в какой-то момент перестал работать, эта связка обвалилась, и у тысяч специалистов одновременно возникла одна и та же проблема: как теперь снимать частотность?

Читать полностью »

Биллинг 1 миллиарда событий услуг доставки СДЭК для 700 тысяч клиентов. И все это на 1С 8.5 в inFrame режиме для 50 тысяч пользователей.

О компании и единой ИТ‑инфраструктуре

СДЭК — это крупнейшая логистическая компания России. Думаю, все так или иначе пользовались услугами СДЭК. Кто‑то напрямую, придя в ПВЗ, но большинство стали клиентами СДЭК, пользуясь услугами известных интернет‑магазинов и маркетплейсов. Под капотом там очень часто именно СДЭК.

Читать полностью »

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

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

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

Читать полностью »

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

Я попытался представить не академическую доктрину, а её переход в реальность: туда, где красивые архитектурные шаблоны сталкиваются с производительностью, сроками, legacy, ограничениями команды и конкретными production‑задачами. Главная мысль статьи — попробовать описать пространство где‑то посередине между архитектурной чистотой и производительностью, не превращая ни одну из сторон в абсолют.

Читать полностью »

Введение. Role-Play LLM бот

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

Весь смысл был в том, чтобы это были действительно разные модели и пользователь мог просто между ними переключаться по запросу. Для начала мне нужно было найти зоопарк апи ключей с бесплатными лимитами. Я прошерстил весь интернет и в итоге нашел относительно нормальные варианты: Groq для LLama, Google AI Studio для Gemma и Gemini.

Читать полностью »

Дисклеймер: это не stand-up и не пародия. Это полноценное упражнение в системном дизайне на необычной предметной области: TL;DR, требования, парные сравнения альтернатив, failure modes, реальные измерения, references на DDIA / Release It! / Use The Index Luke. Все числа реальные, основаны на 12+ годах личного шашлычного опыта.

Идея статьи проста: дисциплина системного дизайна применима к любой системе, не только к hi-load backend. После прочтения возьми любой свой текущий сервис и пройди те же шаги: workload analysis, paired comparisons, failure modes, реальные измерения. Структура та же, инструменты разные.


TL;DR


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js