Вообще, честно говоря, я не очень понимаю, что там не так с Твиттером.
Это же, блин, простая платформа с простой логикой. Что там вообще происходит, почему на это нужен такой зоопарк прогеров? Чем они там десять лет занимались?
Эта "простая логика" разбросана по клиентам (Web, Android, iOS) которые в свою очередь подключаются ко множеству серверов, отвечающих за бизнес-логику, раздачу контента (CDN), сбору статистики, аналитики, а за кулисами там ещё огромный айсберг всяких систем мониторинга, отлова угроз, распределённые базы данных, и прочий зоопарк систем, без которых вам будет трудно поддерживать сервис мирового масштаба. Разработкой занимаются сотни инженеров не потому что так хочется, а потому что это сложно, долго и необходимо синхронизировать работу целых отделов занимающихся разными частями сервиса. Оперированием всего этого монстра заниматься ещё сложнее, ведь надо поддерживать uptime близкий к 100%, ещё и следить за безопасностью.
Маск купил палку, которой можно бить по целым отраслям экономики, и большинству как-то плевать. Если бы его действия ограничились политикой (разбан Трампа и пр.) то я бы ещё мог понять его сторонников, но если человек, только что купивший такую махину сразу лезет резать техническую часть, то я бы напрягся.
Это же, блин, простая платформа с простой логикой. Что там вообще происходит, почему на это нужен такой зоопарк прогеров?Эффект Даннинга—Крюгера во всей красе
Тебе уже накидали, но добавлю, что некоторые подходы, используемые в Твиттере, упоминаются в бестселлерах по проектированию распределенных систем.
Миллионы пользователей генерируют петабайты трафика, миллиарды событий, которые обрабатываются сотнями серверов в разных датацентрах на разных континентах и все это должно синхронизироваться между собой корректно и быстро.
Архитектурой там занимаются далеко не хуи моржовые
Это не совсем простая платформа с простой логикой, как может показаться на первый взгляд. Зоопарк прогеров делает так, чтобы работа ускорялась, а сумма на оплату инфракструктуры уменьшалась. И порой это очень сложные технические задачи, которые требуют сильного байтоёбства.
это хороший вопрос для собеседования, кстати, примерно рассказать как бы кандидат на sr. devops решал бы задачу вроде твиттера, где от количества подписок/фолловеров растет комбинаторная сложность рендера ленты. Кафка распределенная или EventBus/BigQuery и где узкие места в масштабировании.
какой "простой логикой" - отправить твит и посмотреть твит? Если так - то я Вас расстрою, современные веб-сервисы существенно сложнее формочки с 2 кнопками и базкой под них
Ну так напиши свой твиттер, в чем проблема?! Возможно штат раздут, но все же твиттер большая компания. Надо поддерживать кучу серверов, модерировать контент, делать интеграции со всякими АПИ для оплаты итд, логи, бэкапы, итд, итп. Со стороны кажется, да что там - все просто. И просто и сложно одновременно..
Как-то раз наш провайдер сказал, что иногда мы отжираем производительность в 10 раз больше, чем положено нашему виртуальному серверу. Программист подумал и перенёс сайт на выделенный сервер в 3 раза мощнее. Куда делась пиковая нагрузка? Правильно, никуда. Так что 70% клиентов какой-то момент не смогли оплатить услугу, потому что страницы не грузились. Ох и дорогой опыт был.
Простая идея на нагрузке перестает быть простой. Спроектируйте платформу где каждый таит от популярных людей должен быть доставлен в ленту миллионам одновременно?
Вообще, честно говоря, я не очень понимаю, что там не так с Твиттером.
Это же, блин, простая платформа с простой логикой. Что там вообще происходит, почему на это нужен такой зоопарк прогеров? Чем они там десять лет занимались?
Эта "простая логика" разбросана по клиентам (Web, Android, iOS) которые в свою очередь подключаются ко множеству серверов, отвечающих за бизнес-логику, раздачу контента (CDN), сбору статистики, аналитики, а за кулисами там ещё огромный айсберг всяких систем мониторинга, отлова угроз, распределённые базы данных, и прочий зоопарк систем, без которых вам будет трудно поддерживать сервис мирового масштаба. Разработкой занимаются сотни инженеров не потому что так хочется, а потому что это сложно, долго и необходимо синхронизировать работу целых отделов занимающихся разными частями сервиса. Оперированием всего этого монстра заниматься ещё сложнее, ведь надо поддерживать uptime близкий к 100%, ещё и следить за безопасностью.
Маск купил палку, которой можно бить по целым отраслям экономики, и большинству как-то плевать. Если бы его действия ограничились политикой (разбан Трампа и пр.) то я бы ещё мог понять его сторонников, но если человек, только что купивший такую махину сразу лезет резать техническую часть, то я бы напрягся.
А вот это правильный вопрос, который все задают. Задал его и Маск, а потом уволил хер знает сколько людей
Комментарий недоступен
Это же, блин, простая платформа с простой логикой. Что там вообще происходит, почему на это нужен такой зоопарк прогеров?Эффект Даннинга—Крюгера во всей красе
Тебе уже накидали, но добавлю, что некоторые подходы, используемые в Твиттере, упоминаются в бестселлерах по проектированию распределенных систем.
Миллионы пользователей генерируют петабайты трафика, миллиарды событий, которые обрабатываются сотнями серверов в разных датацентрах на разных континентах и все это должно синхронизироваться между собой корректно и быстро.
Архитектурой там занимаются далеко не хуи моржовые
Это не совсем простая платформа с простой логикой, как может показаться на первый взгляд.
Зоопарк прогеров делает так, чтобы работа ускорялась, а сумма на оплату инфракструктуры уменьшалась. И порой это очень сложные технические задачи, которые требуют сильного байтоёбства.
300 миллионов активных пользователей. Вам это ни о чем не говори
это хороший вопрос для собеседования, кстати, примерно рассказать как бы кандидат на sr. devops решал бы задачу вроде твиттера, где от количества подписок/фолловеров растет комбинаторная сложность рендера ленты. Кафка распределенная или EventBus/BigQuery и где узкие места в масштабировании.
Все понять не каждому дано. Потому и смешно наблюдать. Маск нифига не разбирается, зато орет. А маскодрочеры поддерживают)))
Любой кодер пишет твитер с нуля за 1 час систем дизайн секции!
какой "простой логикой" - отправить твит и посмотреть твит? Если так - то я Вас расстрою, современные веб-сервисы существенно сложнее формочки с 2 кнопками и базкой под них
Всем:
https://blog.twitter.com/engineering/en_us/topics/infrastructure
Ну так напиши свой твиттер, в чем проблема?! Возможно штат раздут, но все же твиттер большая компания. Надо поддерживать кучу серверов, модерировать контент, делать интеграции со всякими АПИ для оплаты итд, логи, бэкапы, итд, итп. Со стороны кажется, да что там - все просто. И просто и сложно одновременно..
Как-то раз наш провайдер сказал, что иногда мы отжираем производительность в 10 раз больше, чем положено нашему виртуальному серверу. Программист подумал и перенёс сайт на выделенный сервер в 3 раза мощнее. Куда делась пиковая нагрузка? Правильно, никуда. Так что 70% клиентов какой-то момент не смогли оплатить услугу, потому что страницы не грузились. Ох и дорогой опыт был.
Простая идея на нагрузке перестает быть простой. Спроектируйте платформу где каждый таит от популярных людей должен быть доставлен в ленту миллионам одновременно?
Платформа не простая, ну может на первый взгляд кажется простой. И вообще что такое сложная платформа? То что ты написал можно про любой сайт сказать
Например, настройкой БД. На каждую тысячу пользователей требуется минимум один специалист по БД, если брать стандартные методы работы.
В первую очередь — это огромная социальная сеть. Значит будет проблемы с безопасностью, модерированием, масштабированием и т.д.