Как стать автором
Обновить

Почему Twitter ещё не сломался: поясняет экс-SRE из компании

Время на прочтение6 мин
Количество просмотров30K
Всего голосов 53: ↑49 и ↓4+62
Комментарии66

Комментарии 66

в общем : как видно - там еще есть довольно много надежности у старой системы.

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

А так - у всех были даунтаймы и потери в БД дельты от новых данных и последнего бекапа :)

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

С уходом специалистов они просто начинают потихоньку деградировать.

Время деградации зависит как раз от "запаса прочности" и добротности системы.

логика O(n^n)

n квадрат может? n*n или n^2?
Ну просто текущая запись считывается как n в степени n и это очень много.

А не смущает, что вообще не написано, логика чего именно? :)

Файлик со статьёй в процессе её написания просто попался под руку как место для заметки. Такое бывает :)

O(n^n) это факториал. Может, там разные порядки чего-то перебираются, кто их знает.

нет, O(N!) <<< O(N^N) во много раз.

1*2*3*...*N <<< N * N * ... N

НЛО прилетело и опубликовало эту надпись здесь

для 10 разница почти в 3 тысячи раз, для 15 - более чем в 300 тысяч раз. Это не много?

Для 10 разница чуть более чем в 2 раза (причём в пользу факториала), если верить Wolfram Alpha. Предел отношения (если верить ей же) - 1/sqrt(2*pi). Учитывая, что сами значения уже для 10 имеют порядок 10^6 - это много?

Чето вы не то ввели в Wolfram Alpha, комментатор до этого прав 10^10 больше 10! примерно в 3000 раз

Но ответ-то комментатора выше был на слова про приближение Стирлинга, которое отличается как раз в 2 с небольшим раза.

Возможно я туплю, но мне ветка выглядела как обсуждение разницы между O(N^N) и O(N!)

Не знаю, что там насчитал Wolfram Alpha, по приведенной формуле (Стирлинга) посчитал в Calc - опять получил разницу в 2776 раз

НЛО прилетело и опубликовало эту надпись здесь

Строго говоря, вы говорите чуть-чуть о разных вещах - n^n всё-таки сильно больше, чем (n/e)^n (второе - o(первого)).

Если при n=1 требуется 1ms времени для добавления сервера обратно в пул, то для n^n*1ms = 10min * 60 * 1000, n ≈ 6.08 (серверов в пуле). Если требуется 10ms, то n ≈ 5.24. Для 1000ms - 3.37. Это конечно очень много, но при малом количестве серверов в пуле это будет работать.


Успешно заавтоматизировал свою работу, и потому больше не нужен, и может быть заменен обычным техником. Молодец

... иди теперь на повышение.

Столько слов, а по сути установлен Apache Mesos плюс ПО мониторинга и один человек за всем этим следил:

> я был единственным SRE в команде, занимавшейся кэшами. До меня было несколько человек, и ещё я работал с целой командой, в которую приходило и из которой уходило множество людей…

Так зачем все эти люди?

Я спроектировал и реализовал большинство инструментов, благодаря которой поддерживалась работа…

Серьезно, автор лично написал Apache Mesos? Или таки автор один раз установил готовое ПО и теперь называет это «проектирование и реализация»?

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

НЛО прилетело и опубликовало эту надпись здесь

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

Спорный момент. Я сейчас на крупном (по кодовой базе) проекте, который на старте писали человек 30. Сейчас на суппорте 4. Да, бывают долгие инвистигейты, на два-три дня, перед реализацией задачи, но вполне справляемся. Система работает, ни разу крупных факапов (за последний год) не было. Да, спроектировано была хорошо.

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

Тем более, что как по мне, твиттер это не какой-то рокет саенс.

Надёжность любой системы не выше надёжности самой ненадёжной её части

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

Заметьте, в тексте упомянуто, твиттер пережил падение целого датацентра, то есть, оказался надёжнее даже такой крупной части системы.

Ну а почему бы и нет?..

Напомним, что Mesos был изначально разработан компанией Twitter и в 2010 году передан в руки фонда Apache

(c) https://www.opennet.ru/opennews/art.shtml?num=54926

Автор работал здесь только последние 5 лет.

Есть большая разница между компанией твиттер в 2010 году и автором, пришедшем в эту компанию работать спустя много лет. А из статьи автора следует, что это лично он все сделал, а у компании твиттер есть единственное достижение - что лично его на работу приняли.

Поживем - увидим.
Очень интригует, что же выйдет из этой ситуации с Твиттером.

я уверен, что где-то внутри таятся баги

Собственно остальное можно было и не писать.

...

Я знаю где, я знаю как

Я не гадалка, я маньяк

для 5 лет как-то маловато заслуг и работы))). Все-таки не зря Маск их увольняет.

Ещё бы! Откуда там заслуги, если делать было нечего?

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

Возможно, статья - это красивый пиар-ход (заговор?), ведь он здесь всю статью так тонко и на грани описывает и подтверждает, что все эти увольнения были не зря)

Вообще-то это нормально, когда собрали систему, всё работает нормально, а команда занимается поддержкой системы и R&D. В случае поломки они все будут работать в поте лица. Но надо, что бы было кому работать в этот момент. Избавляться от команды нельзя, нельзя и кидать их на другие направления. Оптимизации возможны, но хороший менеджер не будет увольнять команду только потому, что всё работает.

Вы всё верно выше описали, ребята молодцы. Душа твиттера по ним плачет.

но хороший менеджер не будет увольнять команду только потому, что всё работает

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

Хороший менеджер будет увольнять (это очень трудно, поэтому он и крутой менеджер).

Плохой менеджер будет банкротить (Набрать +10000 человек, когда есть деньги? Да легко! Что с ними потом делать? Это будет не моя проблема!).

PS: Конкретно его Маск не увольнял)

А этот инженер где-то пишет, что он был уволен именно Маском? Не ушел сам, не был выпнут еще раньше или другие варианты? Вроде нет. То есть, додуманное читателем - на совести читателя, классика.

Нашёл в Линкедине. Его уволил не Маск, и не менеджер по поручению Маска, и даже не он сам ушёл в знак протеста против Маска....

https://www.linkedin.com/in/matthewtejo

Senior Site Reliability Engineer

Twitter

май 2017 – авг. 2022 5 лет 4 месяца

А Маск купил компанию 28 октября 2022 , причём до самого конца сохранялась интрига купит или нет.

Эврика! Чувак продаёт себя Маску!

Делистинг произошел 8 ноября, так что скорее эта дата.

Хабр.карьера на мой взгляд более релевантен для поста

Интересно, а вот уволившиеся сотрудники, если их действительно 80%... не случится ли так что они организуются и создадут какой-нибудь Новый Твиттер?

Не организуют по той же причине, по которой Маск не создал свой Твиттер. Аудитория не будет перебегать в новый.

Назрел вопрос: при уходе с одной прошлой работы меня настоятельно просили подписать что-то вроде "соглашение о не-конкуренции" (извиняюсь, русскоязычный термин мне не знаком), в котором говорилось, что я не буду хэдхантить у них и создавать похожий продукт. У нас это филькина грамота. Насколько распространена такая практика на западе? Если практикуется, то имеет ли хоть какую-то юридическую силу? А в РФ?

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

Насколько распространена такая практика на западе?

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

В РФ силы не имеет никакой.

Вот вики, про сша- https://en.wikipedia.org/wiki/Non-compete_clause#United_States

Там и про другие страны есть

На западе имеет силу почти всё что подписали. В рф - нужно разделять "не работать" и "не делиться знаниями как у других". И если словесное описание сложно притянуть за интеллектуальную собственность, то даже за мелкие части утянутого кода серьезно может получить как работник, так и работодатель. Интеллектуальная собственность, коммерческая (и особенно военная) тайна продолжают действовать. Но как-то ограничить "вот тут работать не можешь" может только суд, и договор причиной этого не может являться никак. Уволился - денег не платят - всё, все подписанные документы такого рода автоматом ничтожны. А на западе даже без оплаты может иметь силу, тут надо внимательнее читать и хранить свой контракт.

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

За 5 лет мог и на нормальный кубер переехать с мезоса :)

Ну имхо 20k твитов в секунду это немного

Для какого-нибудь ETL отдельно - немного. Для картины, когда эти же 20К надо показывать прямосейчас миллионам пользователей - уже не так мало.

Это придуманная бизнес цель. Ничего не произойдёт если не все люди узнают новость через 30 секунд вместо пары секунд а потом ещё какое-то количество за пару минут. Это не биржевая торговля. Люди сами себе придумывают задачи и их решают.

Если Макс твитнул текст и я его увидел не через секунду а через пару минут никто не умрет. Если я ретвитнул его Пете, а Петя его получил не через 5 секунд а через пять минут никто не умрет.

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

Вы и так видите это все через пару минут. Колокольчик там или фишка blue твиттера. А вот если F5 нажимать то все лучше.

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

Я вроде давненько проработал в отрасли, а все еще не понимаю. Вот мужик вроде полезный. Наверное, таких надо много, человек двадцать. Ну ладно, давайте округлим и будет СТО! Но что делают остальные 7.5 тысяч?

3 тыщи ломают, а 3,5 тыщи за ними чинят

Напоминает историю, когда для полета на Луну потребовалось из деталей Шаттла создавать практически с нуля новую ракету, потому что документация на Сатурн 5 была утеряна.

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

Актуально задокументирована

Не утеряна, просто все фирмы и производственные линии, как и старые производственные методы , станки, материялы и люди которые на них работали уже ушли в историю

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

C технаследием обычно плохо. В общем случае –если вещь была сделана в прошлом веке штучно или мелкосерийно, и с тех пор не производилась, то дешевле и проще сконструировать по-новой, чем воспроизводить старый техпроцес.

С чем столкнётесь при воспроизведении?

1.       Документация. Она никогда не полная. Не потому что лень писать, а потому что содержит ссылки на общеизвестные, на момент написания, характеристики устройств. Вроде « все посадочные размеры совпадают с сушилками АМ-15» А вот документацию на эти сушилки вы хрен найдёте. Хотя тогда их было как грязи, своеобразный производственный стандарт. Ну и да, изменения и дополнения к документации обычно хранятся отдельно. Если хранятся

2.       Материалы. С тех пор появились материалы с гораздо лучшими, чем тогда характеристиками, что делает использование оригинальных материалов спорным. С тех пор исчезли материалы с гораздо лучшими, чем сейчас характеристиками. Потому что сейчас они, как и тогда были на вес золота, и это не фигура речи. Правда тогда вес считался 1 к 1, а сейчас может и до 10 к 1 доходить. Ну и опасность для здоровья\природы с тех пор пересмотрели.

3.       Оборудование. Как производственное, так и измерительное. Как правило – уникальное, сделанное под конкретный проект. И разобранное за ненадобностью.

 

Как пример: для изготовления двух 6 –метровых зеркал Большого Азимутального Телескопа была построена печь способная расплавит 45 тонн оптического стекла (на одно зеркало) и практически моментально, без пузырения, переместить расплав в форму. Была создана электропечь, которая годами охлаждала отливки со скоростью ОДНА ДЕСЯТАЯ градуса в сутки. По всему объёму печи. Иначе – риск растрескивания.  И соответственно система гарантированного энергопитания печи.

Ну и шлифовально-полировальная машина. Куда без неё. А точность у машинки измерялась в микронах, при 6-метровом плече. Ах да , ещё вакуумная камера, для алюминирования. Она единственная сохранилась и используется по сей день.

 

А самое главное – ЛЮДИ. Которые имели ОПЫТ.

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

Публикации

Истории