❌

Normal view

YPtun — клиент, который сам поднимает себе сервер

В YPtun появилась автоустановка серверов: вводите IP и пароль от VPS, нажимаете кнопку, и приложение само ставит сервер и заполняет поля подключения. Работает для семи движков на Android и ПК. Рассказываем, что происходит внутри и на чём мы спотыкались.

Как это устроено

N+1 в Eloquent: воспроизводим на стенде, считаем запросы и закрываем регрессии тестами

Про N+1 в Laravel обычно пишут три строки про with() и расходятся. Я собрал небольшой стенд на Laravel 13 и SQLite, воспроизвёл проблему, посчитал запросы для каждого способа лечения и проверил, что «не ловится» режимом запрета ленивой загрузки. Отдельно разобрал места, где eager loading не помогает или сам создаёт нагрузку. Все числа в статье получены на этом стенде на искусственных данных.

Читать далее

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

Привет, Хабр. Меня зовут Павел Кутаков. Я главный архитектор VK Data Platform, VK Tech.

Более 10 лет подход с разделением compute- и storage-слоев де-факто считается стандартом, следование которому позволяет максимально эффективно использовать доступные ресурсы. Но на практике подобный подход применим не всегда — например, по нашему мнению, он не всегда оптимален для построения платформ данных. Именно поэтому при разработке VK Data Platform мы реализовали единую гиперконвергентную архитектуру. 

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

Читать далее

10 лет работал сеньором и сейчас охренел с собеседований корпоратов

Коротко, что случилось:

— Head of Cloud Platform нашей команды 10 лет был senior+ разрабом, когда пошёл искать работу — его отбрили несколько раз корпораты, пару раз — по формальным причинам.

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

— Если что, у него огромный опыт в разработке тяжёлых систем и опенсорс-опыт (один из инфраструктурных продуктов с 10 тысячами звёзд на Гитхабе).

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

А вообще это пост про то, как поменялась профессия после прихода агентских ИИ-сред и насколько забавно выглядит переходный процесс.

Начнём с того, что сейчас в принципе отпала необходимость в разработчике как в узком специалисте. Все, кто остался на рынке задорого, стали T-shaped. То есть одновременно и бэкендеры, и фронтендеры, и умеют деплоить, и плюс ещё продуктово мыслят, параллельно думая о бизнесе.

Собственно, у него такая работа и была последние годы, поэтому доходы у него и были сильно выше рынка.

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

Читать далее

Как устроен Managed Kubernetes в MWS Cloud Platform

Развернуть кластер Kubernetes вручную — задача не столько сложная, сколько продолжительная: поднять виртуальные машины, установить компоненты Control Plane, настроить CNI, CSI, DNS, разложить сертификаты. Понять, что надо было иначе, удалить, сделать заново, и так раза три.

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

Managed-сервис снимает эту нагрузку

Перезапустил — и стало хуже: 5 инцидентов, которые не лечатся рестартом

Три часа ночи, API отвечает 500, и рука сама набирает systemctl restart. Иногда это помогает, но есть инциденты, где рестарт добивает то, что ещё работало, и стирает улики. Пять таких: битый конфиг, OOM killer, retry storm, CrashLoopBackOff и диск, забитый логом, — с командами, которые находят настоящую причину, и шпаргалкой на одну таблицу.

Читать далее
❌