Разработка и инженерия

страница 12 из 46
пост №1449Разработка и инженерия

За десять лет до яндекса и гугла, Maps.me создали мобильное приложение с картами, которые работали офлайн, без интернета.

Для обработки данных карт в телефоне не хватает ни процессора, ни памяти. О том, как в Maps.me решили эту проблему и откуда вообще берется информация о мире в приложениях говорим с сооснователем сервиса, Юрием Мельничеком. Слушайте на всех платформах: Apple, Google, Castbox, Spotify, Яндекс, Overcast, веб-версия.

Тот случай, когда я думал «ну технически там всё понятно, быстренько пробежимся и поговорим про бизнес-часть». Оказалось, что там полный взрыв мозга с точки зрения алгоритмов, программирования и технологий. Так что часть разговора про бизнес в картах мы вынесли в отдельный эпизод в бонусном канале запуск++, подписывайтесь и слушайте: Apple, Патреон.

За фото спасибо Кириллу Уланову!

пост №1448Разработка и инженерия

Мы перезапустили блоги на Снобе! Блоги — часть Сноба, где можно зарегистрироваться, заплатить и публиковать свои посты. Лучшие посты редакция продвигает на главной, вместе с редакционными статьями. У постов есть комментарии, которые могут оставить только подписчики. Это сообщество с богатой историей: в ходе работы я наткнулся на профиль Бориса Немцова!

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

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

Мы планировали завершить перезапуск блогов за 6 месяцев, а заняло это все 8. Когда я примерно в середине проекта завел разговор о том, что очень стыдно и как вообще быть, Марина Геворкян, издатель Сноба, ответила мне следующее: «вы за 4 месяца сделали то, что мы не могли сделать 4 года».

В общем, горжусь нашими ребятами. Герои:
- Никита Алёшников, бэкенд-разработчик
- Фёдор Борщёв, технический директор
- Михаил Бурмистров, ведущий фронтенд-разработчик
- Вячеслав Набатчиков, бэкенд-разработчик
- Всеволод Скрипник, бэкенд-разработчик, руководитель проекта
- Денис Сурков, бэкенд-разработчик
- Владимир Тарановский, фронтенд-разработчик.

Отдельное спасибо Марине Геворкян за доверие и Валерии Тищенко за отличную продуктовую работу.

Дальше со Снобом планы такие: перевести оставшуюся редакционную часть сайта на эту же техническую платформу. Увидимся ещё примерно через полгода :)

P.S. Федя опубликовал подробную техническую статью о том, что мы делали под капотом. Рекомендую технарям!

P.P.S. Постараюсь больше не пропадать и рассказывать о том, что и как мы делаем по работе.

пост №1422Разработка и инженерия

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

Классный пример в тему — хороший сантехник быстро стал облачным инженером (первоисточник на английском). Статья хоть и с юмором, но на самом деле глубокая — доходчиво объясняет основные принципы работы системного инженера.

Проблемы у профессий тоже схожие: код и инфраструктура частенько пахнут и даже СМЕРДЯТ, это вам любой человек с опытом копания в старых системах подтвердит.

Если вы фронтендер, бэкендер или менеджер и хотите работать на не-вонючих проектах — пишите Феде. Мы расширяем свою команду.

пост №1421Разработка и инженерия

Новостной эпизод подкаста сегодня по мотивам падения фб.

Гости: технический директор ВКонтакте Александр Тоболь и глава сетевой инфраструктуры Mail.ru Group Елена Якупова 🔥

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

Записывались прям ночью во вторник, очень старались успеть к четвергу :)

Слушайте и подписывайтесь: Apple, Google, Castbox, Spotify, Яндекс, Overcast, веб-версия.

пост №1420Разработка и инженерия

Злоумышленники взломали главный сервис для стримеров twitch.tv, который Безос недавно купил за миллиард долларов. Не просто взломали, а выложили огромный массив внутренних данных в публичный доступ.

В открытом доступе, прямо через битторент доступен 128 гигабайтовый архив. Внутри — исходные коды и некоторые копии баз данных. Исходные коды в виде git-репозиториев, то есть это — вся история разработки проекта, а не просто одномоментный слепок. В исходных кодах также есть ключи доступа. В базах данных уже нашли суммы выплат топовым стримерам и даже зашифрованные пароли пользователей.

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

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

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

Если после каждой громкой новости о взломе чинить одну вещь в своей инфраструктуре — за пару лет получится конфетка. Начать можно прямо сегодня.

пост №1419Разработка и инженерия

ФБ рассказал, почему они упали в понедельник.

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

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

В этот момент все сервера Фейсбука пропали с радаров интернета, Фейсбук для внешнего мира сломался.

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

DNS — адресная книга интернета. Эта система переводит человеческий адрес Facebook.com в машинный айпи-адрес 157.240.224.35. Формально, интернет может работать и без DNS, в реальности на работе DNS завязано почти ВСЁ. Например, внутренние сервисы — инструменты, которыми пользуются инженеры фейсбука для решения проблем. Да что там сервисы, сотрудники фб в офисы не могли попасть, потому что автоматической системе контроля дверей тоже нужна DNS.

Дополнительная вишенка на торте — сломалась не только основная сеть фейсбука, но и запасная, которая построена специально для доступа к управлению сетевым железом в случае аварии основной сети. В общем, инженерам пришлось ножками топать в дата-центр и подключаться к сетевому оборудованию напрямую, буквально проводочком. Это непросто, потому что современные дата-центры — это крепости, попасть в них кому-то сверх обычного персонала — то ещё приключение. А теперь попробуйте это сделать, когда все корпоративные IT-системы недоступны. Подозреваю, что высшему руководству буквально по телефону приходилось подтверждать личность инженеров. Да и современное железо в ДЦ построено так, чтобы даже наличие физического доступа не дает контроля над ним — придется доказать, что ты не верблюд.

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

Конкретно от этой проблемы фб вряд ли пострадает во второй раз — программу проверки команд теперь будут тестировать на порядок лучше, да и DNS в будущем, вряд ли будет отключаться так легко. При этом, мы говорим об очень сложных системах и в них рано или поздно что-то пойдет не так. Такие крупные аварии, «идеальные штормы» происходят каждые несколько лет. Этот — не последний.

Нам же, простым смертным, это очередное напоминание, что стоит подстелить соломки и сделать так, чтобы наши сервисы, наши бизнесы продолжали работать, не теряли клиентов, даже если сломался такой гранд, как вацап или фейсбук. Когда все твои конкуренты вне доступа из-за крупной аварии — это шанс получить много новых клиентов, если ты продолжаешь работать. Хоть и баян, но: кризис — время возможностей.

пост №1417Разработка и инженерия

ФБ начал возвращаться в строй. Сетевая связность восстановлена, заработал DNS. Приложения, скорее всего, тоже скоро очухаются.

Вот хороший обзор ситуации и объяснение механизма падения от Cloudflare https://blog.cloudflare.com/october-2021-facebook-outage/

Теперь ждём технического пост-мортема от фб.

Пойду спать, спокойной ночи, друзья.

пост №1416Разработка и инженерия

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

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

Представляю, какой ад там сейчас творится.

пост №1415Разработка и инженерия

Фейсбук, Инстаграм и вацап упали. Судя по всему — что-то с сетью.

Ожидаемо, все последние крупные падения: что у гугла/ютуба, что у Яндекса — именно про сеть. Ее сложнее всего дублировать, разделять и тестировать, в ней больше всего ручного труда инженеров и возможностей для ошибок.

На картинке — твит техдира Cloudflare https://mobile.twitter.com/jgrahamc/status/1445068309288951820